xref: /aosp_15_r20/prebuilts/sdk/34/system/api/android.txt (revision 344a7f5ef16c479e7a7f54ee6567a9d112f9e72b)
1// Signature format: 2.0
2package android {
3
4  public static final class Manifest.permission {
5    field public static final String ACCESS_AMBIENT_CONTEXT_EVENT = "android.permission.ACCESS_AMBIENT_CONTEXT_EVENT";
6    field public static final String ACCESS_AMBIENT_LIGHT_STATS = "android.permission.ACCESS_AMBIENT_LIGHT_STATS";
7    field public static final String ACCESS_BROADCAST_RADIO = "android.permission.ACCESS_BROADCAST_RADIO";
8    field public static final String ACCESS_BROADCAST_RESPONSE_STATS = "android.permission.ACCESS_BROADCAST_RESPONSE_STATS";
9    field public static final String ACCESS_CACHE_FILESYSTEM = "android.permission.ACCESS_CACHE_FILESYSTEM";
10    field public static final String ACCESS_CONTEXT_HUB = "android.permission.ACCESS_CONTEXT_HUB";
11    field public static final String ACCESS_DRM_CERTIFICATES = "android.permission.ACCESS_DRM_CERTIFICATES";
12    field @Deprecated public static final String ACCESS_FM_RADIO = "android.permission.ACCESS_FM_RADIO";
13    field public static final String ACCESS_FPS_COUNTER = "android.permission.ACCESS_FPS_COUNTER";
14    field public static final String ACCESS_INSTANT_APPS = "android.permission.ACCESS_INSTANT_APPS";
15    field public static final String ACCESS_LOCUS_ID_USAGE_STATS = "android.permission.ACCESS_LOCUS_ID_USAGE_STATS";
16    field public static final String ACCESS_MOCK_LOCATION = "android.permission.ACCESS_MOCK_LOCATION";
17    field public static final String ACCESS_MTP = "android.permission.ACCESS_MTP";
18    field public static final String ACCESS_NETWORK_CONDITIONS = "android.permission.ACCESS_NETWORK_CONDITIONS";
19    field public static final String ACCESS_NOTIFICATIONS = "android.permission.ACCESS_NOTIFICATIONS";
20    field public static final String ACCESS_PDB_STATE = "android.permission.ACCESS_PDB_STATE";
21    field public static final String ACCESS_RCS_USER_CAPABILITY_EXCHANGE = "android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE";
22    field public static final String ACCESS_SHARED_LIBRARIES = "android.permission.ACCESS_SHARED_LIBRARIES";
23    field public static final String ACCESS_SHORTCUTS = "android.permission.ACCESS_SHORTCUTS";
24    field public static final String ACCESS_SURFACE_FLINGER = "android.permission.ACCESS_SURFACE_FLINGER";
25    field public static final String ACCESS_TUNED_INFO = "android.permission.ACCESS_TUNED_INFO";
26    field public static final String ACCESS_TV_DESCRAMBLER = "android.permission.ACCESS_TV_DESCRAMBLER";
27    field public static final String ACCESS_TV_SHARED_FILTER = "android.permission.ACCESS_TV_SHARED_FILTER";
28    field public static final String ACCESS_TV_TUNER = "android.permission.ACCESS_TV_TUNER";
29    field public static final String ACCESS_ULTRASOUND = "android.permission.ACCESS_ULTRASOUND";
30    field public static final String ACCESS_VIBRATOR_STATE = "android.permission.ACCESS_VIBRATOR_STATE";
31    field public static final String ACTIVITY_EMBEDDING = "android.permission.ACTIVITY_EMBEDDING";
32    field public static final String ADD_ALWAYS_UNLOCKED_DISPLAY = "android.permission.ADD_ALWAYS_UNLOCKED_DISPLAY";
33    field public static final String ADD_TRUSTED_DISPLAY = "android.permission.ADD_TRUSTED_DISPLAY";
34    field public static final String ADJUST_RUNTIME_PERMISSIONS_POLICY = "android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY";
35    field public static final String ALLOCATE_AGGRESSIVE = "android.permission.ALLOCATE_AGGRESSIVE";
36    field public static final String ALLOW_ANY_CODEC_FOR_PLAYBACK = "android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK";
37    field public static final String ALLOW_PLACE_IN_MULTI_PANE_SETTINGS = "android.permission.ALLOW_PLACE_IN_MULTI_PANE_SETTINGS";
38    field public static final String ALLOW_SLIPPERY_TOUCHES = "android.permission.ALLOW_SLIPPERY_TOUCHES";
39    field public static final String AMBIENT_WALLPAPER = "android.permission.AMBIENT_WALLPAPER";
40    field public static final String APPROVE_INCIDENT_REPORTS = "android.permission.APPROVE_INCIDENT_REPORTS";
41    field public static final String ASSOCIATE_COMPANION_DEVICES = "android.permission.ASSOCIATE_COMPANION_DEVICES";
42    field public static final String BACKGROUND_CAMERA = "android.permission.BACKGROUND_CAMERA";
43    field public static final String BACKUP = "android.permission.BACKUP";
44    field public static final String BATTERY_PREDICTION = "android.permission.BATTERY_PREDICTION";
45    field public static final String BIND_AMBIENT_CONTEXT_DETECTION_SERVICE = "android.permission.BIND_AMBIENT_CONTEXT_DETECTION_SERVICE";
46    field public static final String BIND_ATTENTION_SERVICE = "android.permission.BIND_ATTENTION_SERVICE";
47    field public static final String BIND_AUGMENTED_AUTOFILL_SERVICE = "android.permission.BIND_AUGMENTED_AUTOFILL_SERVICE";
48    field public static final String BIND_CALL_DIAGNOSTIC_SERVICE = "android.permission.BIND_CALL_DIAGNOSTIC_SERVICE";
49    field public static final String BIND_CALL_STREAMING_SERVICE = "android.permission.BIND_CALL_STREAMING_SERVICE";
50    field public static final String BIND_CELL_BROADCAST_SERVICE = "android.permission.BIND_CELL_BROADCAST_SERVICE";
51    field @Deprecated public static final String BIND_CONNECTION_SERVICE = "android.permission.BIND_CONNECTION_SERVICE";
52    field public static final String BIND_CONTENT_CAPTURE_SERVICE = "android.permission.BIND_CONTENT_CAPTURE_SERVICE";
53    field public static final String BIND_CONTENT_SUGGESTIONS_SERVICE = "android.permission.BIND_CONTENT_SUGGESTIONS_SERVICE";
54    field public static final String BIND_DIRECTORY_SEARCH = "android.permission.BIND_DIRECTORY_SEARCH";
55    field public static final String BIND_DISPLAY_HASHING_SERVICE = "android.permission.BIND_DISPLAY_HASHING_SERVICE";
56    field public static final String BIND_DOMAIN_VERIFICATION_AGENT = "android.permission.BIND_DOMAIN_VERIFICATION_AGENT";
57    field public static final String BIND_EUICC_SERVICE = "android.permission.BIND_EUICC_SERVICE";
58    field public static final String BIND_EXTERNAL_STORAGE_SERVICE = "android.permission.BIND_EXTERNAL_STORAGE_SERVICE";
59    field public static final String BIND_FIELD_CLASSIFICATION_SERVICE = "android.permission.BIND_FIELD_CLASSIFICATION_SERVICE";
60    field public static final String BIND_GBA_SERVICE = "android.permission.BIND_GBA_SERVICE";
61    field public static final String BIND_HOTWORD_DETECTION_SERVICE = "android.permission.BIND_HOTWORD_DETECTION_SERVICE";
62    field public static final String BIND_IMS_SERVICE = "android.permission.BIND_IMS_SERVICE";
63    field public static final String BIND_KEYGUARD_APPWIDGET = "android.permission.BIND_KEYGUARD_APPWIDGET";
64    field public static final String BIND_MUSIC_RECOGNITION_SERVICE = "android.permission.BIND_MUSIC_RECOGNITION_SERVICE";
65    field public static final String BIND_NETWORK_RECOMMENDATION_SERVICE = "android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE";
66    field public static final String BIND_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.BIND_NOTIFICATION_ASSISTANT_SERVICE";
67    field public static final String BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE = "android.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE";
68    field public static final String BIND_PRINT_RECOMMENDATION_SERVICE = "android.permission.BIND_PRINT_RECOMMENDATION_SERVICE";
69    field public static final String BIND_REMOTE_LOCKSCREEN_VALIDATION_SERVICE = "android.permission.BIND_REMOTE_LOCKSCREEN_VALIDATION_SERVICE";
70    field public static final String BIND_RESOLVER_RANKER_SERVICE = "android.permission.BIND_RESOLVER_RANKER_SERVICE";
71    field public static final String BIND_RESUME_ON_REBOOT_SERVICE = "android.permission.BIND_RESUME_ON_REBOOT_SERVICE";
72    field public static final String BIND_ROTATION_RESOLVER_SERVICE = "android.permission.BIND_ROTATION_RESOLVER_SERVICE";
73    field public static final String BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE = "android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE";
74    field public static final String BIND_SATELLITE_SERVICE = "android.permission.BIND_SATELLITE_SERVICE";
75    field public static final String BIND_SETTINGS_SUGGESTIONS_SERVICE = "android.permission.BIND_SETTINGS_SUGGESTIONS_SERVICE";
76    field public static final String BIND_SOUND_TRIGGER_DETECTION_SERVICE = "android.permission.BIND_SOUND_TRIGGER_DETECTION_SERVICE";
77    field public static final String BIND_TELEPHONY_DATA_SERVICE = "android.permission.BIND_TELEPHONY_DATA_SERVICE";
78    field public static final String BIND_TELEPHONY_NETWORK_SERVICE = "android.permission.BIND_TELEPHONY_NETWORK_SERVICE";
79    field public static final String BIND_TEXTCLASSIFIER_SERVICE = "android.permission.BIND_TEXTCLASSIFIER_SERVICE";
80    field public static final String BIND_TIME_ZONE_PROVIDER_SERVICE = "android.permission.BIND_TIME_ZONE_PROVIDER_SERVICE";
81    field public static final String BIND_TRACE_REPORT_SERVICE = "android.permission.BIND_TRACE_REPORT_SERVICE";
82    field public static final String BIND_TRANSLATION_SERVICE = "android.permission.BIND_TRANSLATION_SERVICE";
83    field public static final String BIND_TRUST_AGENT = "android.permission.BIND_TRUST_AGENT";
84    field public static final String BIND_TV_REMOTE_SERVICE = "android.permission.BIND_TV_REMOTE_SERVICE";
85    field public static final String BIND_VISUAL_QUERY_DETECTION_SERVICE = "android.permission.BIND_VISUAL_QUERY_DETECTION_SERVICE";
86    field public static final String BIND_WALLPAPER_EFFECTS_GENERATION_SERVICE = "android.permission.BIND_WALLPAPER_EFFECTS_GENERATION_SERVICE";
87    field public static final String BIND_WEARABLE_SENSING_SERVICE = "android.permission.BIND_WEARABLE_SENSING_SERVICE";
88    field public static final String BLUETOOTH_MAP = "android.permission.BLUETOOTH_MAP";
89    field public static final String BRICK = "android.permission.BRICK";
90    field public static final String BRIGHTNESS_SLIDER_USAGE = "android.permission.BRIGHTNESS_SLIDER_USAGE";
91    field public static final String BROADCAST_CLOSE_SYSTEM_DIALOGS = "android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS";
92    field @Deprecated public static final String BROADCAST_NETWORK_PRIVILEGED = "android.permission.BROADCAST_NETWORK_PRIVILEGED";
93    field public static final String BYPASS_ROLE_QUALIFICATION = "android.permission.BYPASS_ROLE_QUALIFICATION";
94    field public static final String CALL_AUDIO_INTERCEPTION = "android.permission.CALL_AUDIO_INTERCEPTION";
95    field public static final String CAMERA_DISABLE_TRANSMIT_LED = "android.permission.CAMERA_DISABLE_TRANSMIT_LED";
96    field public static final String CAMERA_OPEN_CLOSE_LISTENER = "android.permission.CAMERA_OPEN_CLOSE_LISTENER";
97    field public static final String CAPTURE_AUDIO_HOTWORD = "android.permission.CAPTURE_AUDIO_HOTWORD";
98    field public static final String CAPTURE_CONSENTLESS_BUGREPORT_ON_USERDEBUG_BUILD = "android.permission.CAPTURE_CONSENTLESS_BUGREPORT_ON_USERDEBUG_BUILD";
99    field public static final String CAPTURE_MEDIA_OUTPUT = "android.permission.CAPTURE_MEDIA_OUTPUT";
100    field public static final String CAPTURE_TUNER_AUDIO_INPUT = "android.permission.CAPTURE_TUNER_AUDIO_INPUT";
101    field public static final String CAPTURE_TV_INPUT = "android.permission.CAPTURE_TV_INPUT";
102    field public static final String CAPTURE_VOICE_COMMUNICATION_OUTPUT = "android.permission.CAPTURE_VOICE_COMMUNICATION_OUTPUT";
103    field public static final String CHANGE_APP_IDLE_STATE = "android.permission.CHANGE_APP_IDLE_STATE";
104    field public static final String CHANGE_APP_LAUNCH_TIME_ESTIMATE = "android.permission.CHANGE_APP_LAUNCH_TIME_ESTIMATE";
105    field public static final String CHANGE_DEVICE_IDLE_TEMP_WHITELIST = "android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST";
106    field public static final String CHECK_REMOTE_LOCKSCREEN = "android.permission.CHECK_REMOTE_LOCKSCREEN";
107    field public static final String CLEAR_APP_USER_DATA = "android.permission.CLEAR_APP_USER_DATA";
108    field public static final String COMPANION_APPROVE_WIFI_CONNECTIONS = "android.permission.COMPANION_APPROVE_WIFI_CONNECTIONS";
109    field public static final String CONFIGURE_DISPLAY_BRIGHTNESS = "android.permission.CONFIGURE_DISPLAY_BRIGHTNESS";
110    field public static final String CONFIGURE_INTERACT_ACROSS_PROFILES = "android.permission.CONFIGURE_INTERACT_ACROSS_PROFILES";
111    field @Deprecated public static final String CONNECTIVITY_INTERNAL = "android.permission.CONNECTIVITY_INTERNAL";
112    field public static final String CONNECTIVITY_USE_RESTRICTED_NETWORKS = "android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS";
113    field public static final String CONTROL_DEVICE_LIGHTS = "android.permission.CONTROL_DEVICE_LIGHTS";
114    field public static final String CONTROL_DISPLAY_COLOR_TRANSFORMS = "android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS";
115    field public static final String CONTROL_DISPLAY_SATURATION = "android.permission.CONTROL_DISPLAY_SATURATION";
116    field public static final String CONTROL_INCALL_EXPERIENCE = "android.permission.CONTROL_INCALL_EXPERIENCE";
117    field public static final String CONTROL_KEYGUARD_SECURE_NOTIFICATIONS = "android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS";
118    field public static final String CONTROL_OEM_PAID_NETWORK_PREFERENCE = "android.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE";
119    field public static final String CONTROL_VPN = "android.permission.CONTROL_VPN";
120    field public static final String CREATE_USERS = "android.permission.CREATE_USERS";
121    field public static final String CREATE_VIRTUAL_DEVICE = "android.permission.CREATE_VIRTUAL_DEVICE";
122    field public static final String CRYPT_KEEPER = "android.permission.CRYPT_KEEPER";
123    field public static final String DEVICE_POWER = "android.permission.DEVICE_POWER";
124    field public static final String DISABLE_SYSTEM_SOUND_EFFECTS = "android.permission.DISABLE_SYSTEM_SOUND_EFFECTS";
125    field public static final String DISPATCH_PROVISIONING_MESSAGE = "android.permission.DISPATCH_PROVISIONING_MESSAGE";
126    field public static final String DOMAIN_VERIFICATION_AGENT = "android.permission.DOMAIN_VERIFICATION_AGENT";
127    field public static final String ENTER_CAR_MODE_PRIORITIZED = "android.permission.ENTER_CAR_MODE_PRIORITIZED";
128    field public static final String EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS = "android.permission.EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS";
129    field public static final String FORCE_BACK = "android.permission.FORCE_BACK";
130    field public static final String FORCE_STOP_PACKAGES = "android.permission.FORCE_STOP_PACKAGES";
131    field public static final String GET_APP_METADATA = "android.permission.GET_APP_METADATA";
132    field public static final String GET_APP_OPS_STATS = "android.permission.GET_APP_OPS_STATS";
133    field public static final String GET_HISTORICAL_APP_OPS_STATS = "android.permission.GET_HISTORICAL_APP_OPS_STATS";
134    field public static final String GET_PROCESS_STATE_AND_OOM_SCORE = "android.permission.GET_PROCESS_STATE_AND_OOM_SCORE";
135    field public static final String GET_RUNTIME_PERMISSIONS = "android.permission.GET_RUNTIME_PERMISSIONS";
136    field public static final String GET_TOP_ACTIVITY_INFO = "android.permission.GET_TOP_ACTIVITY_INFO";
137    field @Deprecated public static final String GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS = "android.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS";
138    field public static final String GRANT_RUNTIME_PERMISSIONS = "android.permission.GRANT_RUNTIME_PERMISSIONS";
139    field public static final String GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS = "android.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS";
140    field public static final String HANDLE_CAR_MODE_CHANGES = "android.permission.HANDLE_CAR_MODE_CHANGES";
141    field public static final String HARDWARE_TEST = "android.permission.HARDWARE_TEST";
142    field public static final String HDMI_CEC = "android.permission.HDMI_CEC";
143    field @Deprecated public static final String HIDE_NON_SYSTEM_OVERLAY_WINDOWS = "android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS";
144    field public static final String INJECT_EVENTS = "android.permission.INJECT_EVENTS";
145    field public static final String INSTALL_DPC_PACKAGES = "android.permission.INSTALL_DPC_PACKAGES";
146    field public static final String INSTALL_DYNAMIC_SYSTEM = "android.permission.INSTALL_DYNAMIC_SYSTEM";
147    field public static final String INSTALL_EXISTING_PACKAGES = "com.android.permission.INSTALL_EXISTING_PACKAGES";
148    field public static final String INSTALL_GRANT_RUNTIME_PERMISSIONS = "android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS";
149    field public static final String INSTALL_LOCATION_TIME_ZONE_PROVIDER_SERVICE = "android.permission.INSTALL_LOCATION_TIME_ZONE_PROVIDER_SERVICE";
150    field public static final String INSTALL_PACKAGE_UPDATES = "android.permission.INSTALL_PACKAGE_UPDATES";
151    field public static final String INSTALL_SELF_UPDATES = "android.permission.INSTALL_SELF_UPDATES";
152    field public static final String INTENT_FILTER_VERIFICATION_AGENT = "android.permission.INTENT_FILTER_VERIFICATION_AGENT";
153    field public static final String INTERACT_ACROSS_USERS = "android.permission.INTERACT_ACROSS_USERS";
154    field public static final String INTERACT_ACROSS_USERS_FULL = "android.permission.INTERACT_ACROSS_USERS_FULL";
155    field public static final String INTERNAL_SYSTEM_WINDOW = "android.permission.INTERNAL_SYSTEM_WINDOW";
156    field public static final String INVOKE_CARRIER_SETUP = "android.permission.INVOKE_CARRIER_SETUP";
157    field public static final String KILL_ALL_BACKGROUND_PROCESSES = "android.permission.KILL_ALL_BACKGROUND_PROCESSES";
158    field public static final String KILL_UID = "android.permission.KILL_UID";
159    field public static final String LAUNCH_DEVICE_MANAGER_SETUP = "android.permission.LAUNCH_DEVICE_MANAGER_SETUP";
160    field public static final String LOCAL_MAC_ADDRESS = "android.permission.LOCAL_MAC_ADDRESS";
161    field public static final String LOCATION_BYPASS = "android.permission.LOCATION_BYPASS";
162    field public static final String LOCK_DEVICE = "android.permission.LOCK_DEVICE";
163    field public static final String LOG_FOREGROUND_RESOURCE_USE = "android.permission.LOG_FOREGROUND_RESOURCE_USE";
164    field public static final String LOOP_RADIO = "android.permission.LOOP_RADIO";
165    field public static final String MANAGE_ACCESSIBILITY = "android.permission.MANAGE_ACCESSIBILITY";
166    field @Deprecated public static final String MANAGE_ACTIVITY_STACKS = "android.permission.MANAGE_ACTIVITY_STACKS";
167    field public static final String MANAGE_ACTIVITY_TASKS = "android.permission.MANAGE_ACTIVITY_TASKS";
168    field public static final String MANAGE_APP_HIBERNATION = "android.permission.MANAGE_APP_HIBERNATION";
169    field public static final String MANAGE_APP_OPS_RESTRICTIONS = "android.permission.MANAGE_APP_OPS_RESTRICTIONS";
170    field public static final String MANAGE_APP_PREDICTIONS = "android.permission.MANAGE_APP_PREDICTIONS";
171    field public static final String MANAGE_APP_TOKENS = "android.permission.MANAGE_APP_TOKENS";
172    field public static final String MANAGE_AUTO_FILL = "android.permission.MANAGE_AUTO_FILL";
173    field public static final String MANAGE_BLUETOOTH_WHEN_WIRELESS_CONSENT_REQUIRED = "android.permission.MANAGE_BLUETOOTH_WHEN_WIRELESS_CONSENT_REQUIRED";
174    field public static final String MANAGE_CARRIER_OEM_UNLOCK_STATE = "android.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE";
175    field public static final String MANAGE_CA_CERTIFICATES = "android.permission.MANAGE_CA_CERTIFICATES";
176    field public static final String MANAGE_CLIPBOARD_ACCESS_NOTIFICATION = "android.permission.MANAGE_CLIPBOARD_ACCESS_NOTIFICATION";
177    field public static final String MANAGE_CLOUDSEARCH = "android.permission.MANAGE_CLOUDSEARCH";
178    field public static final String MANAGE_CONTENT_CAPTURE = "android.permission.MANAGE_CONTENT_CAPTURE";
179    field public static final String MANAGE_CONTENT_SUGGESTIONS = "android.permission.MANAGE_CONTENT_SUGGESTIONS";
180    field public static final String MANAGE_DEBUGGING = "android.permission.MANAGE_DEBUGGING";
181    field public static final String MANAGE_DEFAULT_APPLICATIONS = "android.permission.MANAGE_DEFAULT_APPLICATIONS";
182    field public static final String MANAGE_DEVICE_ADMINS = "android.permission.MANAGE_DEVICE_ADMINS";
183    field public static final String MANAGE_DEVICE_POLICY_APP_EXEMPTIONS = "android.permission.MANAGE_DEVICE_POLICY_APP_EXEMPTIONS";
184    field public static final String MANAGE_ETHERNET_NETWORKS = "android.permission.MANAGE_ETHERNET_NETWORKS";
185    field public static final String MANAGE_FACTORY_RESET_PROTECTION = "android.permission.MANAGE_FACTORY_RESET_PROTECTION";
186    field public static final String MANAGE_GAME_ACTIVITY = "android.permission.MANAGE_GAME_ACTIVITY";
187    field public static final String MANAGE_GAME_MODE = "android.permission.MANAGE_GAME_MODE";
188    field public static final String MANAGE_HOTWORD_DETECTION = "android.permission.MANAGE_HOTWORD_DETECTION";
189    field public static final String MANAGE_IPSEC_TUNNELS = "android.permission.MANAGE_IPSEC_TUNNELS";
190    field public static final String MANAGE_LOW_POWER_STANDBY = "android.permission.MANAGE_LOW_POWER_STANDBY";
191    field public static final String MANAGE_MUSIC_RECOGNITION = "android.permission.MANAGE_MUSIC_RECOGNITION";
192    field public static final String MANAGE_NOTIFICATION_LISTENERS = "android.permission.MANAGE_NOTIFICATION_LISTENERS";
193    field public static final String MANAGE_ONE_TIME_PERMISSION_SESSIONS = "android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS";
194    field public static final String MANAGE_PROFILE_AND_DEVICE_OWNERS = "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS";
195    field public static final String MANAGE_ROLE_HOLDERS = "android.permission.MANAGE_ROLE_HOLDERS";
196    field public static final String MANAGE_ROLLBACKS = "android.permission.MANAGE_ROLLBACKS";
197    field public static final String MANAGE_ROTATION_RESOLVER = "android.permission.MANAGE_ROTATION_RESOLVER";
198    field public static final String MANAGE_SAFETY_CENTER = "android.permission.MANAGE_SAFETY_CENTER";
199    field public static final String MANAGE_SEARCH_UI = "android.permission.MANAGE_SEARCH_UI";
200    field public static final String MANAGE_SENSOR_PRIVACY = "android.permission.MANAGE_SENSOR_PRIVACY";
201    field public static final String MANAGE_SMARTSPACE = "android.permission.MANAGE_SMARTSPACE";
202    field public static final String MANAGE_SOUND_TRIGGER = "android.permission.MANAGE_SOUND_TRIGGER";
203    field public static final String MANAGE_SPEECH_RECOGNITION = "android.permission.MANAGE_SPEECH_RECOGNITION";
204    field public static final String MANAGE_SUBSCRIPTION_PLANS = "android.permission.MANAGE_SUBSCRIPTION_PLANS";
205    field public static final String MANAGE_SUBSCRIPTION_USER_ASSOCIATION = "android.permission.MANAGE_SUBSCRIPTION_USER_ASSOCIATION";
206    field public static final String MANAGE_TEST_NETWORKS = "android.permission.MANAGE_TEST_NETWORKS";
207    field public static final String MANAGE_TIME_AND_ZONE_DETECTION = "android.permission.MANAGE_TIME_AND_ZONE_DETECTION";
208    field public static final String MANAGE_UI_TRANSLATION = "android.permission.MANAGE_UI_TRANSLATION";
209    field public static final String MANAGE_USB = "android.permission.MANAGE_USB";
210    field public static final String MANAGE_USERS = "android.permission.MANAGE_USERS";
211    field public static final String MANAGE_USER_OEM_UNLOCK_STATE = "android.permission.MANAGE_USER_OEM_UNLOCK_STATE";
212    field public static final String MANAGE_WALLPAPER_EFFECTS_GENERATION = "android.permission.MANAGE_WALLPAPER_EFFECTS_GENERATION";
213    field public static final String MANAGE_WEAK_ESCROW_TOKEN = "android.permission.MANAGE_WEAK_ESCROW_TOKEN";
214    field public static final String MANAGE_WEARABLE_SENSING_SERVICE = "android.permission.MANAGE_WEARABLE_SENSING_SERVICE";
215    field public static final String MANAGE_WIFI_COUNTRY_CODE = "android.permission.MANAGE_WIFI_COUNTRY_CODE";
216    field public static final String MARK_DEVICE_ORGANIZATION_OWNED = "android.permission.MARK_DEVICE_ORGANIZATION_OWNED";
217    field public static final String MEDIA_RESOURCE_OVERRIDE_PID = "android.permission.MEDIA_RESOURCE_OVERRIDE_PID";
218    field public static final String MIGRATE_HEALTH_CONNECT_DATA = "android.permission.MIGRATE_HEALTH_CONNECT_DATA";
219    field public static final String MODIFY_APPWIDGET_BIND_PERMISSIONS = "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS";
220    field public static final String MODIFY_AUDIO_ROUTING = "android.permission.MODIFY_AUDIO_ROUTING";
221    field public static final String MODIFY_AUDIO_SETTINGS_PRIVILEGED = "android.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED";
222    field public static final String MODIFY_CELL_BROADCASTS = "android.permission.MODIFY_CELL_BROADCASTS";
223    field public static final String MODIFY_DAY_NIGHT_MODE = "android.permission.MODIFY_DAY_NIGHT_MODE";
224    field @Deprecated public static final String MODIFY_NETWORK_ACCOUNTING = "android.permission.MODIFY_NETWORK_ACCOUNTING";
225    field public static final String MODIFY_PARENTAL_CONTROLS = "android.permission.MODIFY_PARENTAL_CONTROLS";
226    field public static final String MODIFY_QUIET_MODE = "android.permission.MODIFY_QUIET_MODE";
227    field public static final String MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE = "android.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE";
228    field public static final String MONITOR_DEVICE_CONFIG_ACCESS = "android.permission.MONITOR_DEVICE_CONFIG_ACCESS";
229    field public static final String MOVE_PACKAGE = "android.permission.MOVE_PACKAGE";
230    field public static final String NETWORK_AIRPLANE_MODE = "android.permission.NETWORK_AIRPLANE_MODE";
231    field public static final String NETWORK_CARRIER_PROVISIONING = "android.permission.NETWORK_CARRIER_PROVISIONING";
232    field public static final String NETWORK_FACTORY = "android.permission.NETWORK_FACTORY";
233    field public static final String NETWORK_MANAGED_PROVISIONING = "android.permission.NETWORK_MANAGED_PROVISIONING";
234    field public static final String NETWORK_SCAN = "android.permission.NETWORK_SCAN";
235    field public static final String NETWORK_SETTINGS = "android.permission.NETWORK_SETTINGS";
236    field public static final String NETWORK_SETUP_WIZARD = "android.permission.NETWORK_SETUP_WIZARD";
237    field public static final String NETWORK_SIGNAL_STRENGTH_WAKEUP = "android.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP";
238    field public static final String NETWORK_STACK = "android.permission.NETWORK_STACK";
239    field public static final String NETWORK_STATS_PROVIDER = "android.permission.NETWORK_STATS_PROVIDER";
240    field public static final String NFC_SET_CONTROLLER_ALWAYS_ON = "android.permission.NFC_SET_CONTROLLER_ALWAYS_ON";
241    field public static final String NOTIFICATION_DURING_SETUP = "android.permission.NOTIFICATION_DURING_SETUP";
242    field public static final String NOTIFY_TV_INPUTS = "android.permission.NOTIFY_TV_INPUTS";
243    field public static final String OBSERVE_APP_USAGE = "android.permission.OBSERVE_APP_USAGE";
244    field public static final String OBSERVE_NETWORK_POLICY = "android.permission.OBSERVE_NETWORK_POLICY";
245    field public static final String OBSERVE_ROLE_HOLDERS = "android.permission.OBSERVE_ROLE_HOLDERS";
246    field public static final String OBSERVE_SENSOR_PRIVACY = "android.permission.OBSERVE_SENSOR_PRIVACY";
247    field public static final String OPEN_ACCESSIBILITY_DETAILS_SETTINGS = "android.permission.OPEN_ACCESSIBILITY_DETAILS_SETTINGS";
248    field public static final String OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD = "android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD";
249    field public static final String PACKAGE_VERIFICATION_AGENT = "android.permission.PACKAGE_VERIFICATION_AGENT";
250    field public static final String PACKET_KEEPALIVE_OFFLOAD = "android.permission.PACKET_KEEPALIVE_OFFLOAD";
251    field public static final String PEERS_MAC_ADDRESS = "android.permission.PEERS_MAC_ADDRESS";
252    field public static final String PERFORM_CDMA_PROVISIONING = "android.permission.PERFORM_CDMA_PROVISIONING";
253    field public static final String PERFORM_IMS_SINGLE_REGISTRATION = "android.permission.PERFORM_IMS_SINGLE_REGISTRATION";
254    field public static final String PERFORM_SIM_ACTIVATION = "android.permission.PERFORM_SIM_ACTIVATION";
255    field public static final String POWER_SAVER = "android.permission.POWER_SAVER";
256    field public static final String PROVIDE_DEFAULT_ENABLED_CREDENTIAL_SERVICE = "android.permission.PROVIDE_DEFAULT_ENABLED_CREDENTIAL_SERVICE";
257    field public static final String PROVIDE_RESOLVER_RANKER_SERVICE = "android.permission.PROVIDE_RESOLVER_RANKER_SERVICE";
258    field public static final String PROVIDE_TRUST_AGENT = "android.permission.PROVIDE_TRUST_AGENT";
259    field public static final String PROVISION_DEMO_DEVICE = "android.permission.PROVISION_DEMO_DEVICE";
260    field public static final String QUERY_ADMIN_POLICY = "android.permission.QUERY_ADMIN_POLICY";
261    field public static final String QUERY_CLONED_APPS = "android.permission.QUERY_CLONED_APPS";
262    field @Deprecated public static final String QUERY_TIME_ZONE_RULES = "android.permission.QUERY_TIME_ZONE_RULES";
263    field public static final String QUERY_USERS = "android.permission.QUERY_USERS";
264    field public static final String RADIO_SCAN_WITHOUT_LOCATION = "android.permission.RADIO_SCAN_WITHOUT_LOCATION";
265    field public static final String READ_ACTIVE_EMERGENCY_SESSION = "android.permission.READ_ACTIVE_EMERGENCY_SESSION";
266    field public static final String READ_APP_SPECIFIC_LOCALES = "android.permission.READ_APP_SPECIFIC_LOCALES";
267    field public static final String READ_CARRIER_APP_INFO = "android.permission.READ_CARRIER_APP_INFO";
268    field public static final String READ_CELL_BROADCASTS = "android.permission.READ_CELL_BROADCASTS";
269    field public static final String READ_CLIPBOARD_IN_BACKGROUND = "android.permission.READ_CLIPBOARD_IN_BACKGROUND";
270    field public static final String READ_CONTENT_RATING_SYSTEMS = "android.permission.READ_CONTENT_RATING_SYSTEMS";
271    field public static final String READ_DEVICE_CONFIG = "android.permission.READ_DEVICE_CONFIG";
272    field public static final String READ_DREAM_STATE = "android.permission.READ_DREAM_STATE";
273    field public static final String READ_GLOBAL_APP_SEARCH_DATA = "android.permission.READ_GLOBAL_APP_SEARCH_DATA";
274    field public static final String READ_INSTALL_SESSIONS = "android.permission.READ_INSTALL_SESSIONS";
275    field public static final String READ_NETWORK_USAGE_HISTORY = "android.permission.READ_NETWORK_USAGE_HISTORY";
276    field public static final String READ_OEM_UNLOCK_STATE = "android.permission.READ_OEM_UNLOCK_STATE";
277    field public static final String READ_PEOPLE_DATA = "android.permission.READ_PEOPLE_DATA";
278    field public static final String READ_PRINT_SERVICES = "android.permission.READ_PRINT_SERVICES";
279    field public static final String READ_PRINT_SERVICE_RECOMMENDATIONS = "android.permission.READ_PRINT_SERVICE_RECOMMENDATIONS";
280    field public static final String READ_PRIVILEGED_PHONE_STATE = "android.permission.READ_PRIVILEGED_PHONE_STATE";
281    field public static final String READ_PROJECTION_STATE = "android.permission.READ_PROJECTION_STATE";
282    field public static final String READ_RESTRICTED_STATS = "android.permission.READ_RESTRICTED_STATS";
283    field public static final String READ_RUNTIME_PROFILES = "android.permission.READ_RUNTIME_PROFILES";
284    field public static final String READ_SAFETY_CENTER_STATUS = "android.permission.READ_SAFETY_CENTER_STATUS";
285    field public static final String READ_SEARCH_INDEXABLES = "android.permission.READ_SEARCH_INDEXABLES";
286    field public static final String READ_SYSTEM_UPDATE_INFO = "android.permission.READ_SYSTEM_UPDATE_INFO";
287    field public static final String READ_WALLPAPER_INTERNAL = "android.permission.READ_WALLPAPER_INTERNAL";
288    field public static final String READ_WIFI_CREDENTIAL = "android.permission.READ_WIFI_CREDENTIAL";
289    field public static final String READ_WRITE_SYNC_DISABLED_MODE_CONFIG = "android.permission.READ_WRITE_SYNC_DISABLED_MODE_CONFIG";
290    field public static final String REAL_GET_TASKS = "android.permission.REAL_GET_TASKS";
291    field public static final String RECEIVE_BLUETOOTH_MAP = "android.permission.RECEIVE_BLUETOOTH_MAP";
292    field public static final String RECEIVE_DATA_ACTIVITY_CHANGE = "android.permission.RECEIVE_DATA_ACTIVITY_CHANGE";
293    field public static final String RECEIVE_DEVICE_CUSTOMIZATION_READY = "android.permission.RECEIVE_DEVICE_CUSTOMIZATION_READY";
294    field public static final String RECEIVE_EMERGENCY_BROADCAST = "android.permission.RECEIVE_EMERGENCY_BROADCAST";
295    field public static final String RECEIVE_WIFI_CREDENTIAL_CHANGE = "android.permission.RECEIVE_WIFI_CREDENTIAL_CHANGE";
296    field public static final String RECORD_BACKGROUND_AUDIO = "android.permission.RECORD_BACKGROUND_AUDIO";
297    field public static final String RECOVERY = "android.permission.RECOVERY";
298    field public static final String RECOVER_KEYSTORE = "android.permission.RECOVER_KEYSTORE";
299    field public static final String REGISTER_CALL_PROVIDER = "android.permission.REGISTER_CALL_PROVIDER";
300    field public static final String REGISTER_CONNECTION_MANAGER = "android.permission.REGISTER_CONNECTION_MANAGER";
301    field public static final String REGISTER_SIM_SUBSCRIPTION = "android.permission.REGISTER_SIM_SUBSCRIPTION";
302    field public static final String REGISTER_STATS_PULL_ATOM = "android.permission.REGISTER_STATS_PULL_ATOM";
303    field public static final String REMOTE_DISPLAY_PROVIDER = "android.permission.REMOTE_DISPLAY_PROVIDER";
304    field public static final String REMOVE_DRM_CERTIFICATES = "android.permission.REMOVE_DRM_CERTIFICATES";
305    field public static final String REMOVE_TASKS = "android.permission.REMOVE_TASKS";
306    field public static final String RENOUNCE_PERMISSIONS = "android.permission.RENOUNCE_PERMISSIONS";
307    field @Deprecated public static final String REQUEST_NETWORK_SCORES = "android.permission.REQUEST_NETWORK_SCORES";
308    field public static final String REQUEST_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE";
309    field public static final String RESET_PASSWORD = "android.permission.RESET_PASSWORD";
310    field public static final String RESTART_WIFI_SUBSYSTEM = "android.permission.RESTART_WIFI_SUBSYSTEM";
311    field public static final String RESTORE_RUNTIME_PERMISSIONS = "android.permission.RESTORE_RUNTIME_PERMISSIONS";
312    field public static final String RESTRICTED_VR_ACCESS = "android.permission.RESTRICTED_VR_ACCESS";
313    field public static final String RETRIEVE_WINDOW_CONTENT = "android.permission.RETRIEVE_WINDOW_CONTENT";
314    field public static final String REVIEW_ACCESSIBILITY_SERVICES = "android.permission.REVIEW_ACCESSIBILITY_SERVICES";
315    field public static final String REVOKE_RUNTIME_PERMISSIONS = "android.permission.REVOKE_RUNTIME_PERMISSIONS";
316    field public static final String ROTATE_SURFACE_FLINGER = "android.permission.ROTATE_SURFACE_FLINGER";
317    field public static final String SATELLITE_COMMUNICATION = "android.permission.SATELLITE_COMMUNICATION";
318    field public static final String SCHEDULE_PRIORITIZED_ALARM = "android.permission.SCHEDULE_PRIORITIZED_ALARM";
319    field @Deprecated public static final String SCORE_NETWORKS = "android.permission.SCORE_NETWORKS";
320    field public static final String SECURE_ELEMENT_PRIVILEGED_OPERATION = "android.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION";
321    field public static final String SEND_CATEGORY_CAR_NOTIFICATIONS = "android.permission.SEND_CATEGORY_CAR_NOTIFICATIONS";
322    field public static final String SEND_DEVICE_CUSTOMIZATION_READY = "android.permission.SEND_DEVICE_CUSTOMIZATION_READY";
323    field public static final String SEND_SAFETY_CENTER_UPDATE = "android.permission.SEND_SAFETY_CENTER_UPDATE";
324    field public static final String SEND_SHOW_SUSPENDED_APP_DETAILS = "android.permission.SEND_SHOW_SUSPENDED_APP_DETAILS";
325    field public static final String SEND_SMS_NO_CONFIRMATION = "android.permission.SEND_SMS_NO_CONFIRMATION";
326    field public static final String SERIAL_PORT = "android.permission.SERIAL_PORT";
327    field public static final String SET_ACTIVITY_WATCHER = "android.permission.SET_ACTIVITY_WATCHER";
328    field public static final String SET_CLIP_SOURCE = "android.permission.SET_CLIP_SOURCE";
329    field public static final String SET_DEFAULT_ACCOUNT_FOR_CONTACTS = "android.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS";
330    field public static final String SET_HARMFUL_APP_WARNINGS = "android.permission.SET_HARMFUL_APP_WARNINGS";
331    field public static final String SET_LOW_POWER_STANDBY_PORTS = "android.permission.SET_LOW_POWER_STANDBY_PORTS";
332    field public static final String SET_MEDIA_KEY_LISTENER = "android.permission.SET_MEDIA_KEY_LISTENER";
333    field public static final String SET_ORIENTATION = "android.permission.SET_ORIENTATION";
334    field public static final String SET_POINTER_SPEED = "android.permission.SET_POINTER_SPEED";
335    field public static final String SET_SCREEN_COMPATIBILITY = "android.permission.SET_SCREEN_COMPATIBILITY";
336    field public static final String SET_SYSTEM_AUDIO_CAPTION = "android.permission.SET_SYSTEM_AUDIO_CAPTION";
337    field public static final String SET_UNRESTRICTED_KEEP_CLEAR_AREAS = "android.permission.SET_UNRESTRICTED_KEEP_CLEAR_AREAS";
338    field public static final String SET_VOLUME_KEY_LONG_PRESS_LISTENER = "android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER";
339    field public static final String SET_WALLPAPER_COMPONENT = "android.permission.SET_WALLPAPER_COMPONENT";
340    field public static final String SET_WALLPAPER_DIM_AMOUNT = "android.permission.SET_WALLPAPER_DIM_AMOUNT";
341    field public static final String SHOW_KEYGUARD_MESSAGE = "android.permission.SHOW_KEYGUARD_MESSAGE";
342    field public static final String SHUTDOWN = "android.permission.SHUTDOWN";
343    field public static final String SIGNAL_REBOOT_READINESS = "android.permission.SIGNAL_REBOOT_READINESS";
344    field public static final String SOUND_TRIGGER_RUN_IN_BATTERY_SAVER = "android.permission.SOUND_TRIGGER_RUN_IN_BATTERY_SAVER";
345    field public static final String STAGE_HEALTH_CONNECT_REMOTE_DATA = "android.permission.STAGE_HEALTH_CONNECT_REMOTE_DATA";
346    field public static final String START_ACTIVITIES_FROM_BACKGROUND = "android.permission.START_ACTIVITIES_FROM_BACKGROUND";
347    field public static final String START_CROSS_PROFILE_ACTIVITIES = "android.permission.START_CROSS_PROFILE_ACTIVITIES";
348    field public static final String START_REVIEW_PERMISSION_DECISIONS = "android.permission.START_REVIEW_PERMISSION_DECISIONS";
349    field public static final String START_TASKS_FROM_RECENTS = "android.permission.START_TASKS_FROM_RECENTS";
350    field public static final String STATUS_BAR_SERVICE = "android.permission.STATUS_BAR_SERVICE";
351    field public static final String STOP_APP_SWITCHES = "android.permission.STOP_APP_SWITCHES";
352    field public static final String SUBSTITUTE_NOTIFICATION_APP_NAME = "android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME";
353    field public static final String SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON = "android.permission.SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON";
354    field public static final String SUGGEST_EXTERNAL_TIME = "android.permission.SUGGEST_EXTERNAL_TIME";
355    field public static final String SUSPEND_APPS = "android.permission.SUSPEND_APPS";
356    field public static final String SYSTEM_APPLICATION_OVERLAY = "android.permission.SYSTEM_APPLICATION_OVERLAY";
357    field public static final String SYSTEM_CAMERA = "android.permission.SYSTEM_CAMERA";
358    field public static final String TETHER_PRIVILEGED = "android.permission.TETHER_PRIVILEGED";
359    field public static final String TIS_EXTENSION_INTERFACE = "android.permission.TIS_EXTENSION_INTERFACE";
360    field public static final String TOGGLE_AUTOMOTIVE_PROJECTION = "android.permission.TOGGLE_AUTOMOTIVE_PROJECTION";
361    field public static final String TRIGGER_LOST_MODE = "android.permission.TRIGGER_LOST_MODE";
362    field public static final String TV_INPUT_HARDWARE = "android.permission.TV_INPUT_HARDWARE";
363    field public static final String TV_VIRTUAL_REMOTE_CONTROLLER = "android.permission.TV_VIRTUAL_REMOTE_CONTROLLER";
364    field public static final String UNLIMITED_SHORTCUTS_API_CALLS = "android.permission.UNLIMITED_SHORTCUTS_API_CALLS";
365    field public static final String UPDATE_APP_OPS_STATS = "android.permission.UPDATE_APP_OPS_STATS";
366    field public static final String UPDATE_DEVICE_MANAGEMENT_RESOURCES = "android.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES";
367    field public static final String UPDATE_DOMAIN_VERIFICATION_USER_SELECTION = "android.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION";
368    field public static final String UPDATE_FONTS = "android.permission.UPDATE_FONTS";
369    field public static final String UPDATE_LOCK = "android.permission.UPDATE_LOCK";
370    field @Deprecated public static final String UPDATE_TIME_ZONE_RULES = "android.permission.UPDATE_TIME_ZONE_RULES";
371    field public static final String UPGRADE_RUNTIME_PERMISSIONS = "android.permission.UPGRADE_RUNTIME_PERMISSIONS";
372    field public static final String USER_ACTIVITY = "android.permission.USER_ACTIVITY";
373    field public static final String USE_COLORIZED_NOTIFICATIONS = "android.permission.USE_COLORIZED_NOTIFICATIONS";
374    field public static final String USE_RESERVED_DISK = "android.permission.USE_RESERVED_DISK";
375    field public static final String UWB_PRIVILEGED = "android.permission.UWB_PRIVILEGED";
376    field public static final String WHITELIST_AUTO_REVOKE_PERMISSIONS = "android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS";
377    field public static final String WHITELIST_RESTRICTED_PERMISSIONS = "android.permission.WHITELIST_RESTRICTED_PERMISSIONS";
378    field public static final String WIFI_ACCESS_COEX_UNSAFE_CHANNELS = "android.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS";
379    field public static final String WIFI_SET_DEVICE_MOBILITY_STATE = "android.permission.WIFI_SET_DEVICE_MOBILITY_STATE";
380    field public static final String WIFI_UPDATE_COEX_UNSAFE_CHANNELS = "android.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS";
381    field public static final String WIFI_UPDATE_USABILITY_STATS_SCORE = "android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE";
382    field public static final String WRITE_ALLOWLISTED_DEVICE_CONFIG = "android.permission.WRITE_ALLOWLISTED_DEVICE_CONFIG";
383    field public static final String WRITE_DEVICE_CONFIG = "android.permission.WRITE_DEVICE_CONFIG";
384    field public static final String WRITE_DREAM_STATE = "android.permission.WRITE_DREAM_STATE";
385    field public static final String WRITE_EMBEDDED_SUBSCRIPTIONS = "android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS";
386    field @Deprecated public static final String WRITE_MEDIA_STORAGE = "android.permission.WRITE_MEDIA_STORAGE";
387    field public static final String WRITE_OBB = "android.permission.WRITE_OBB";
388    field public static final String WRITE_SECURITY_LOG = "android.permission.WRITE_SECURITY_LOG";
389    field public static final String WRITE_SMS = "android.permission.WRITE_SMS";
390  }
391
392  public static final class Manifest.permission_group {
393    field public static final String UNDEFINED = "android.permission-group.UNDEFINED";
394  }
395
396  public static final class R.array {
397    field public static final int config_keySystemUuidMapping = 17235973; // 0x1070005
398    field public static final int config_optionalIpSecAlgorithms = 17235974; // 0x1070006
399  }
400
401  public static final class R.attr {
402    field public static final int allowClearUserDataOnFailedRestore = 16844288; // 0x1010600
403    field public static final int gameSessionService = 16844373; // 0x1010655
404    field public static final int hotwordDetectionService = 16844326; // 0x1010626
405    field public static final int isVrOnly = 16844152; // 0x1010578
406    field public static final int minExtensionVersion = 16844305; // 0x1010611
407    field public static final int playHomeTransitionSound = 16844358; // 0x1010646
408    field public static final int requiredSystemPropertyName = 16844133; // 0x1010565
409    field public static final int requiredSystemPropertyValue = 16844134; // 0x1010566
410    field public static final int sdkVersion = 16844304; // 0x1010610
411    field public static final int supportsAmbientMode = 16844173; // 0x101058d
412    field public static final int userRestriction = 16844164; // 0x1010584
413    field public static final int visualQueryDetectionService = 16844410; // 0x101067a
414  }
415
416  public static final class R.bool {
417    field public static final int config_enableDefaultNotes = 17891338; // 0x111000a
418    field public static final int config_enableDefaultNotesForWorkProfile = 17891339; // 0x111000b
419    field public static final int config_enableQrCodeScannerOnLockScreen = 17891336; // 0x1110008
420    field public static final int config_safetyProtectionEnabled = 17891337; // 0x1110009
421    field public static final int config_sendPackageName = 17891328; // 0x1110000
422    field public static final int config_showDefaultAssistant = 17891329; // 0x1110001
423    field public static final int config_showDefaultEmergency = 17891330; // 0x1110002
424    field public static final int config_showDefaultHome = 17891331; // 0x1110003
425  }
426
427  public static final class R.color {
428    field public static final int system_notification_accent_color = 17170460; // 0x106001c
429  }
430
431  public static final class R.dimen {
432    field public static final int config_restrictedIconSize = 17104903; // 0x1050007
433    field public static final int config_viewConfigurationHandwritingGestureLineMargin = 17104906; // 0x105000a
434  }
435
436  public static final class R.drawable {
437    field public static final int ic_info = 17301684; // 0x10800b4
438    field public static final int ic_safety_protection = 17301685; // 0x10800b5
439  }
440
441  public static final class R.raw {
442    field public static final int loaderror = 17825792; // 0x1100000
443    field public static final int nodomain = 17825793; // 0x1100001
444  }
445
446  public static final class R.string {
447    field public static final int config_customMediaKeyDispatcher = 17039404; // 0x104002c
448    field public static final int config_customMediaSessionPolicyProvider = 17039405; // 0x104002d
449    field public static final int config_defaultAssistant = 17039393; // 0x1040021
450    field public static final int config_defaultAutomotiveNavigation = 17039424; // 0x1040040
451    field public static final int config_defaultBrowser = 17039394; // 0x1040022
452    field public static final int config_defaultCallRedirection = 17039397; // 0x1040025
453    field public static final int config_defaultCallScreening = 17039398; // 0x1040026
454    field public static final int config_defaultDialer = 17039395; // 0x1040023
455    field public static final int config_defaultNotes = 17039429; // 0x1040045
456    field public static final int config_defaultSms = 17039396; // 0x1040024
457    field public static final int config_devicePolicyManagement = 17039421; // 0x104003d
458    field public static final int config_feedbackIntentExtraKey = 17039391; // 0x104001f
459    field public static final int config_feedbackIntentNameKey = 17039392; // 0x1040020
460    field public static final int config_helpIntentExtraKey = 17039389; // 0x104001d
461    field public static final int config_helpIntentNameKey = 17039390; // 0x104001e
462    field public static final int config_helpPackageNameKey = 17039387; // 0x104001b
463    field public static final int config_helpPackageNameValue = 17039388; // 0x104001c
464    field public static final int config_systemActivityRecognizer = 17039416; // 0x1040038
465    field public static final int config_systemAmbientAudioIntelligence = 17039411; // 0x1040033
466    field public static final int config_systemAppProtectionService = 17039422; // 0x104003e
467    field public static final int config_systemAudioIntelligence = 17039412; // 0x1040034
468    field public static final int config_systemAutomotiveCalendarSyncManager = 17039423; // 0x104003f
469    field public static final int config_systemAutomotiveCluster = 17039400; // 0x1040028
470    field public static final int config_systemAutomotiveProjection = 17039401; // 0x1040029
471    field public static final int config_systemCallStreaming = 17039431; // 0x1040047
472    field public static final int config_systemCompanionDeviceProvider = 17039417; // 0x1040039
473    field public static final int config_systemContacts = 17039403; // 0x104002b
474    field public static final int config_systemFinancedDeviceController = 17039430; // 0x1040046
475    field public static final int config_systemGallery = 17039399; // 0x1040027
476    field public static final int config_systemNotificationIntelligence = 17039413; // 0x1040035
477    field public static final int config_systemSettingsIntelligence = 17039426; // 0x1040042
478    field public static final int config_systemShell = 17039402; // 0x104002a
479    field public static final int config_systemSpeechRecognizer = 17039406; // 0x104002e
480    field public static final int config_systemSupervision = 17039420; // 0x104003c
481    field public static final int config_systemTelevisionNotificationHandler = 17039409; // 0x1040031
482    field public static final int config_systemTextIntelligence = 17039414; // 0x1040036
483    field public static final int config_systemUi = 17039418; // 0x104003a
484    field public static final int config_systemUiIntelligence = 17039410; // 0x1040032
485    field public static final int config_systemVisualIntelligence = 17039415; // 0x1040037
486    field public static final int config_systemWearHealthService = 17039428; // 0x1040044
487    field public static final int config_systemWellbeing = 17039408; // 0x1040030
488    field public static final int config_systemWifiCoexManager = 17039407; // 0x104002f
489    field public static final int safety_protection_display_text = 17039425; // 0x1040041
490  }
491
492  public static final class R.style {
493    field public static final int Theme_DeviceDefault_DocumentsUI = 16974562; // 0x10302e2
494    field public static final int Theme_Leanback_FormWizard = 16974544; // 0x10302d0
495  }
496
497}
498
499package android.accessibilityservice {
500
501  public class AccessibilityServiceInfo implements android.os.Parcelable {
502    method public void setAccessibilityTool(boolean);
503  }
504
505}
506
507package android.accounts {
508
509  public class AccountManager {
510    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);
511  }
512
513}
514
515package android.adservices.adid {
516
517  public abstract class AdIdProviderService extends android.app.Service {
518    ctor public AdIdProviderService();
519    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
520    method @NonNull public abstract android.adservices.adid.AdId onGetAdId(int, @NonNull String) throws java.io.IOException;
521    field public static final String SERVICE_INTERFACE = "android.adservices.adid.AdIdProviderService";
522  }
523
524}
525
526package android.adservices.appsetid {
527
528  public abstract class AppSetIdProviderService extends android.app.Service {
529    ctor public AppSetIdProviderService();
530    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
531    method @NonNull public abstract android.adservices.appsetid.AppSetId onGetAppSetId(int, @NonNull String) throws java.io.IOException;
532    field public static final String SERVICE_INTERFACE = "android.adservices.appsetid.AppSetIdProviderService";
533  }
534
535}
536
537package android.adservices.common {
538
539  public class AdServicesCommonManager {
540    method @NonNull public static android.adservices.common.AdServicesCommonManager get(@NonNull android.content.Context);
541    method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_STATE) public void isAdServicesEnabled(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,java.lang.Exception>);
542    method @RequiresPermission(android.adservices.common.AdServicesPermissions.MODIFY_ADSERVICES_STATE) public void setAdServicesEnabled(boolean, boolean);
543  }
544
545  public class AdServicesPermissions {
546    field public static final String ACCESS_ADSERVICES_STATE = "android.permission.ACCESS_ADSERVICES_STATE";
547    field public static final String ACCESS_PRIVILEGED_AD_ID = "android.permission.ACCESS_PRIVILEGED_AD_ID";
548    field public static final String ACCESS_PRIVILEGED_APP_SET_ID = "android.permission.ACCESS_PRIVILEGED_APP_SET_ID";
549    field public static final String MODIFY_ADSERVICES_STATE = "android.permission.MODIFY_ADSERVICES_STATE";
550  }
551
552}
553
554package android.app {
555
556  @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 {
557    method public void convertFromTranslucent();
558    method public boolean convertToTranslucent(android.app.Activity.TranslucentConversionListener, android.app.ActivityOptions);
559    method @Deprecated public boolean isBackgroundVisibleBehind();
560    method @Deprecated public void onBackgroundVisibleBehindChanged(boolean);
561    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);
562    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);
563    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);
564  }
565
566  public static interface Activity.TranslucentConversionListener {
567    method public void onTranslucentConversionComplete(boolean);
568  }
569
570  public class ActivityManager {
571    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void addOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener, int);
572    method @RequiresPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) public void forceStopPackage(String);
573    method @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL"}) public static int getCurrentUser();
574    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getPackageImportance(String);
575    method @NonNull public java.util.Collection<java.util.Locale> getSupportedLocales();
576    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getUidImportance(int);
577    method @RequiresPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) public void killProcessesWhenImperceptible(@NonNull int[], @NonNull String);
578    method @RequiresPermission(android.Manifest.permission.KILL_UID) public void killUid(int, String);
579    method @RequiresPermission(android.Manifest.permission.LOG_FOREGROUND_RESOURCE_USE) public void noteForegroundResourceUseBegin(int, int, int) throws java.lang.SecurityException;
580    method @RequiresPermission(android.Manifest.permission.LOG_FOREGROUND_RESOURCE_USE) public void noteForegroundResourceUseEnd(int, int, int) throws java.lang.SecurityException;
581    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void removeOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener);
582    method public void setDeviceLocales(@NonNull android.os.LocaleList);
583    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public static void setPersistentVrThread(int);
584    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public boolean startProfile(@NonNull android.os.UserHandle);
585    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public boolean stopProfile(@NonNull android.os.UserHandle);
586    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean switchUser(@NonNull android.os.UserHandle);
587    field public static final int FOREGROUND_SERVICE_API_TYPE_AUDIO = 5; // 0x5
588    field public static final int FOREGROUND_SERVICE_API_TYPE_BLUETOOTH = 2; // 0x2
589    field public static final int FOREGROUND_SERVICE_API_TYPE_CAMERA = 1; // 0x1
590    field public static final int FOREGROUND_SERVICE_API_TYPE_CDM = 9; // 0x9
591    field public static final int FOREGROUND_SERVICE_API_TYPE_LOCATION = 3; // 0x3
592    field public static final int FOREGROUND_SERVICE_API_TYPE_MEDIA_PLAYBACK = 4; // 0x4
593    field public static final int FOREGROUND_SERVICE_API_TYPE_MICROPHONE = 6; // 0x6
594    field public static final int FOREGROUND_SERVICE_API_TYPE_PHONE_CALL = 7; // 0x7
595    field public static final int FOREGROUND_SERVICE_API_TYPE_USB = 8; // 0x8
596    field public static final int PROCESS_CAPABILITY_FOREGROUND_CAMERA = 2; // 0x2
597    field public static final int PROCESS_CAPABILITY_FOREGROUND_LOCATION = 1; // 0x1
598    field public static final int PROCESS_CAPABILITY_FOREGROUND_MICROPHONE = 4; // 0x4
599    field public static final int PROCESS_CAPABILITY_NONE = 0; // 0x0
600  }
601
602  public static interface ActivityManager.OnUidImportanceListener {
603    method public void onUidImportance(int, int);
604  }
605
606  public class ActivityOptions {
607    method public int getLaunchTaskId();
608    method @RequiresPermission(android.Manifest.permission.START_TASKS_FROM_RECENTS) public void setLaunchTaskId(int);
609  }
610
611  public class AlarmManager {
612    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void set(int, long, long, long, @NonNull android.app.PendingIntent, @Nullable android.os.WorkSource);
613    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);
614    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);
615    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);
616    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);
617    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);
618  }
619
620  public class AppOpsManager {
621    method @Nullable @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public android.app.RuntimeAppOpAccessMessage collectRuntimeAppOpAccessMessage();
622    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>);
623    method public static String[] getOpStrs();
624    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...);
625    method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getPackagesForOps(@Nullable String[]);
626    method public static int opToDefaultMode(@NonNull String);
627    method @Nullable public static String opToPermission(@NonNull String);
628    method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setMode(@NonNull String, int, @Nullable String, int);
629    method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setUidMode(@NonNull String, int, int);
630    method @RequiresPermission(value="android.permission.WATCH_APPOPS", conditional=true) public void startWatchingNoted(@NonNull String[], @NonNull android.app.AppOpsManager.OnOpNotedListener);
631    method @RequiresPermission(value="android.permission.WATCH_APPOPS", conditional=true) public void startWatchingNoted(@NonNull String[], @NonNull java.util.concurrent.Executor, @NonNull android.app.AppOpsManager.OnOpNotedListener);
632    method public void stopWatchingNoted(@NonNull android.app.AppOpsManager.OnOpNotedListener);
633    field public static final int HISTORY_FLAGS_ALL = 3; // 0x3
634    field public static final int HISTORY_FLAG_AGGREGATE = 1; // 0x1
635    field public static final int HISTORY_FLAG_DISCRETE = 2; // 0x2
636    field public static final int HISTORY_FLAG_GET_ATTRIBUTION_CHAINS = 4; // 0x4
637    field public static final String OPSTR_ACCEPT_HANDOVER = "android:accept_handover";
638    field public static final String OPSTR_ACCESS_ACCESSIBILITY = "android:access_accessibility";
639    field public static final String OPSTR_ACCESS_NOTIFICATIONS = "android:access_notifications";
640    field public static final String OPSTR_ACTIVATE_PLATFORM_VPN = "android:activate_platform_vpn";
641    field public static final String OPSTR_ACTIVATE_VPN = "android:activate_vpn";
642    field public static final String OPSTR_ASSIST_SCREENSHOT = "android:assist_screenshot";
643    field public static final String OPSTR_ASSIST_STRUCTURE = "android:assist_structure";
644    field public static final String OPSTR_AUDIO_ACCESSIBILITY_VOLUME = "android:audio_accessibility_volume";
645    field public static final String OPSTR_AUDIO_ALARM_VOLUME = "android:audio_alarm_volume";
646    field public static final String OPSTR_AUDIO_BLUETOOTH_VOLUME = "android:audio_bluetooth_volume";
647    field public static final String OPSTR_AUDIO_MASTER_VOLUME = "android:audio_master_volume";
648    field public static final String OPSTR_AUDIO_MEDIA_VOLUME = "android:audio_media_volume";
649    field public static final String OPSTR_AUDIO_NOTIFICATION_VOLUME = "android:audio_notification_volume";
650    field public static final String OPSTR_AUDIO_RING_VOLUME = "android:audio_ring_volume";
651    field public static final String OPSTR_AUDIO_VOICE_VOLUME = "android:audio_voice_volume";
652    field public static final String OPSTR_AUTO_REVOKE_MANAGED_BY_INSTALLER = "android:auto_revoke_managed_by_installer";
653    field public static final String OPSTR_AUTO_REVOKE_PERMISSIONS_IF_UNUSED = "android:auto_revoke_permissions_if_unused";
654    field public static final String OPSTR_BIND_ACCESSIBILITY_SERVICE = "android:bind_accessibility_service";
655    field public static final String OPSTR_CAPTURE_CONSENTLESS_BUGREPORT_ON_USERDEBUG_BUILD = "android:capture_consentless_bugreport_on_userdebug_build";
656    field public static final String OPSTR_CHANGE_WIFI_STATE = "android:change_wifi_state";
657    field public static final String OPSTR_ESTABLISH_VPN_MANAGER = "android:establish_vpn_manager";
658    field public static final String OPSTR_ESTABLISH_VPN_SERVICE = "android:establish_vpn_service";
659    field public static final String OPSTR_GET_ACCOUNTS = "android:get_accounts";
660    field public static final String OPSTR_GPS = "android:gps";
661    field public static final String OPSTR_INSTANT_APP_START_FOREGROUND = "android:instant_app_start_foreground";
662    field public static final String OPSTR_INTERACT_ACROSS_PROFILES = "android:interact_across_profiles";
663    field public static final String OPSTR_LEGACY_STORAGE = "android:legacy_storage";
664    field public static final String OPSTR_LOADER_USAGE_STATS = "android:loader_usage_stats";
665    field public static final String OPSTR_MANAGE_EXTERNAL_STORAGE = "android:manage_external_storage";
666    field public static final String OPSTR_MANAGE_IPSEC_TUNNELS = "android:manage_ipsec_tunnels";
667    field public static final String OPSTR_MANAGE_ONGOING_CALLS = "android:manage_ongoing_calls";
668    field public static final String OPSTR_MUTE_MICROPHONE = "android:mute_microphone";
669    field public static final String OPSTR_NEIGHBORING_CELLS = "android:neighboring_cells";
670    field public static final String OPSTR_PHONE_CALL_CAMERA = "android:phone_call_camera";
671    field public static final String OPSTR_PHONE_CALL_MICROPHONE = "android:phone_call_microphone";
672    field public static final String OPSTR_PLAY_AUDIO = "android:play_audio";
673    field public static final String OPSTR_POST_NOTIFICATION = "android:post_notification";
674    field public static final String OPSTR_PROJECT_MEDIA = "android:project_media";
675    field public static final String OPSTR_READ_CLIPBOARD = "android:read_clipboard";
676    field public static final String OPSTR_READ_ICC_SMS = "android:read_icc_sms";
677    field public static final String OPSTR_READ_MEDIA_AUDIO = "android:read_media_audio";
678    field public static final String OPSTR_READ_MEDIA_IMAGES = "android:read_media_images";
679    field public static final String OPSTR_READ_MEDIA_VIDEO = "android:read_media_video";
680    field public static final String OPSTR_READ_MEDIA_VISUAL_USER_SELECTED = "android:read_media_visual_user_selected";
681    field public static final String OPSTR_READ_WRITE_HEALTH_DATA = "android:read_write_health_data";
682    field public static final String OPSTR_RECEIVE_AMBIENT_TRIGGER_AUDIO = "android:receive_ambient_trigger_audio";
683    field public static final String OPSTR_RECEIVE_EMERGENCY_BROADCAST = "android:receive_emergency_broadcast";
684    field public static final String OPSTR_RECEIVE_EXPLICIT_USER_INTERACTION_AUDIO = "android:receive_explicit_user_interaction_audio";
685    field public static final String OPSTR_REQUEST_DELETE_PACKAGES = "android:request_delete_packages";
686    field public static final String OPSTR_REQUEST_INSTALL_PACKAGES = "android:request_install_packages";
687    field public static final String OPSTR_RUN_ANY_IN_BACKGROUND = "android:run_any_in_background";
688    field public static final String OPSTR_RUN_IN_BACKGROUND = "android:run_in_background";
689    field public static final String OPSTR_START_FOREGROUND = "android:start_foreground";
690    field public static final String OPSTR_SYSTEM_EXEMPT_FROM_HIBERNATION = "android:system_exempt_from_hibernation";
691    field public static final String OPSTR_TAKE_AUDIO_FOCUS = "android:take_audio_focus";
692    field public static final String OPSTR_TAKE_MEDIA_BUTTONS = "android:take_media_buttons";
693    field public static final String OPSTR_TOAST_WINDOW = "android:toast_window";
694    field public static final String OPSTR_TURN_SCREEN_ON = "android:turn_screen_on";
695    field public static final String OPSTR_VIBRATE = "android:vibrate";
696    field public static final String OPSTR_WAKE_LOCK = "android:wake_lock";
697    field public static final String OPSTR_WIFI_SCAN = "android:wifi_scan";
698    field public static final String OPSTR_WRITE_CLIPBOARD = "android:write_clipboard";
699    field public static final String OPSTR_WRITE_ICC_SMS = "android:write_icc_sms";
700    field public static final String OPSTR_WRITE_MEDIA_AUDIO = "android:write_media_audio";
701    field public static final String OPSTR_WRITE_MEDIA_IMAGES = "android:write_media_images";
702    field public static final String OPSTR_WRITE_MEDIA_VIDEO = "android:write_media_video";
703    field public static final String OPSTR_WRITE_SMS = "android:write_sms";
704    field public static final String OPSTR_WRITE_WALLPAPER = "android:write_wallpaper";
705    field public static final int OP_FLAGS_ALL = 31; // 0x1f
706    field public static final int OP_FLAGS_ALL_TRUSTED = 13; // 0xd
707    field public static final int OP_FLAG_SELF = 1; // 0x1
708    field public static final int OP_FLAG_TRUSTED_PROXIED = 8; // 0x8
709    field public static final int OP_FLAG_TRUSTED_PROXY = 2; // 0x2
710    field public static final int OP_FLAG_UNTRUSTED_PROXIED = 16; // 0x10
711    field public static final int OP_FLAG_UNTRUSTED_PROXY = 4; // 0x4
712    field public static final int UID_STATE_BACKGROUND = 600; // 0x258
713    field public static final int UID_STATE_CACHED = 700; // 0x2bc
714    field public static final int UID_STATE_FOREGROUND = 500; // 0x1f4
715    field public static final int UID_STATE_FOREGROUND_SERVICE = 400; // 0x190
716    field @Deprecated public static final int UID_STATE_FOREGROUND_SERVICE_LOCATION = 300; // 0x12c
717    field public static final int UID_STATE_PERSISTENT = 100; // 0x64
718    field public static final int UID_STATE_TOP = 200; // 0xc8
719  }
720
721  public static final class AppOpsManager.AttributedHistoricalOps implements android.os.Parcelable {
722    method public int describeContents();
723    method @Nullable public android.app.AppOpsManager.HistoricalOp getOp(@NonNull String);
724    method @NonNull public android.app.AppOpsManager.HistoricalOp getOpAt(@IntRange(from=0) int);
725    method @IntRange(from=0) public int getOpCount();
726    method @Nullable public String getTag();
727    method public void writeToParcel(@NonNull android.os.Parcel, int);
728    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.AttributedHistoricalOps> CREATOR;
729  }
730
731  public static final class AppOpsManager.AttributedOpEntry implements android.os.Parcelable {
732    method public int describeContents();
733    method public long getLastAccessBackgroundTime(int);
734    method public long getLastAccessForegroundTime(int);
735    method public long getLastAccessTime(int);
736    method public long getLastAccessTime(int, int, int);
737    method public long getLastBackgroundDuration(int);
738    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastBackgroundProxyInfo(int);
739    method public long getLastDuration(int);
740    method public long getLastDuration(int, int, int);
741    method public long getLastForegroundDuration(int);
742    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastForegroundProxyInfo(int);
743    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int);
744    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int, int, int);
745    method public long getLastRejectBackgroundTime(int);
746    method public long getLastRejectForegroundTime(int);
747    method public long getLastRejectTime(int);
748    method public long getLastRejectTime(int, int, int);
749    method public boolean isRunning();
750    method public void writeToParcel(@NonNull android.os.Parcel, int);
751    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.AttributedOpEntry> CREATOR;
752  }
753
754  public static final class AppOpsManager.HistoricalOp implements android.os.Parcelable {
755    method public int describeContents();
756    method public long getAccessCount(int, int, int);
757    method public long getAccessDuration(int, int, int);
758    method public long getBackgroundAccessCount(int);
759    method public long getBackgroundAccessDuration(int);
760    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getBackgroundDiscreteAccesses(int);
761    method public long getBackgroundRejectCount(int);
762    method @NonNull public android.app.AppOpsManager.AttributedOpEntry getDiscreteAccessAt(@IntRange(from=0) int);
763    method @IntRange(from=0) public int getDiscreteAccessCount();
764    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getDiscreteAccesses(int, int, int);
765    method public long getForegroundAccessCount(int);
766    method public long getForegroundAccessDuration(int);
767    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getForegroundDiscreteAccesses(int);
768    method public long getForegroundRejectCount(int);
769    method @NonNull public String getOpName();
770    method public long getRejectCount(int, int, int);
771    method public void writeToParcel(android.os.Parcel, int);
772    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOp> CREATOR;
773  }
774
775  public static final class AppOpsManager.HistoricalOps implements android.os.Parcelable {
776    method public int describeContents();
777    method public long getBeginTimeMillis();
778    method public long getEndTimeMillis();
779    method @IntRange(from=0) public int getUidCount();
780    method @Nullable public android.app.AppOpsManager.HistoricalUidOps getUidOps(int);
781    method @NonNull public android.app.AppOpsManager.HistoricalUidOps getUidOpsAt(@IntRange(from=0) int);
782    method public void writeToParcel(android.os.Parcel, int);
783    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOps> CREATOR;
784  }
785
786  public static final class AppOpsManager.HistoricalOpsRequest {
787  }
788
789  public static final class AppOpsManager.HistoricalOpsRequest.Builder {
790    ctor public AppOpsManager.HistoricalOpsRequest.Builder(long, long);
791    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest build();
792    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setAttributionTag(@Nullable String);
793    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setFlags(int);
794    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setHistoryFlags(int);
795    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setOpNames(@Nullable java.util.List<java.lang.String>);
796    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setPackageName(@Nullable String);
797    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setUid(int);
798  }
799
800  public static final class AppOpsManager.HistoricalPackageOps implements android.os.Parcelable {
801    method public int describeContents();
802    method @Nullable public android.app.AppOpsManager.AttributedHistoricalOps getAttributedOps(@Nullable String);
803    method @NonNull public android.app.AppOpsManager.AttributedHistoricalOps getAttributedOpsAt(@IntRange(from=0) int);
804    method @IntRange(from=0) public int getAttributedOpsCount();
805    method @Nullable public android.app.AppOpsManager.HistoricalOp getOp(@NonNull String);
806    method @NonNull public android.app.AppOpsManager.HistoricalOp getOpAt(@IntRange(from=0) int);
807    method @IntRange(from=0) public int getOpCount();
808    method @NonNull public String getPackageName();
809    method public void writeToParcel(@NonNull android.os.Parcel, int);
810    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalPackageOps> CREATOR;
811  }
812
813  public static final class AppOpsManager.HistoricalUidOps implements android.os.Parcelable {
814    method public int describeContents();
815    method @IntRange(from=0) public int getPackageCount();
816    method @Nullable public android.app.AppOpsManager.HistoricalPackageOps getPackageOps(@NonNull String);
817    method @NonNull public android.app.AppOpsManager.HistoricalPackageOps getPackageOpsAt(@IntRange(from=0) int);
818    method public int getUid();
819    method public void writeToParcel(android.os.Parcel, int);
820    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalUidOps> CREATOR;
821  }
822
823  public static interface AppOpsManager.OnOpNotedListener {
824    method public void onOpNoted(@NonNull String, int, @NonNull String, @Nullable String, int, int);
825  }
826
827  public static final class AppOpsManager.OpEntry implements android.os.Parcelable {
828    method public int describeContents();
829    method @NonNull public java.util.Map<java.lang.String,android.app.AppOpsManager.AttributedOpEntry> getAttributedOpEntries();
830    method @Deprecated public long getDuration();
831    method public long getLastAccessBackgroundTime(int);
832    method public long getLastAccessForegroundTime(int);
833    method public long getLastAccessTime(int);
834    method public long getLastAccessTime(int, int, int);
835    method public long getLastBackgroundDuration(int);
836    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastBackgroundProxyInfo(int);
837    method public long getLastDuration(int);
838    method public long getLastDuration(int, int, int);
839    method public long getLastForegroundDuration(int);
840    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastForegroundProxyInfo(int);
841    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int);
842    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int, int, int);
843    method public long getLastRejectBackgroundTime(int);
844    method public long getLastRejectForegroundTime(int);
845    method public long getLastRejectTime(int);
846    method public long getLastRejectTime(int, int, int);
847    method public int getMode();
848    method @NonNull public String getOpStr();
849    method @Deprecated @Nullable public String getProxyPackageName();
850    method @Deprecated @Nullable public String getProxyPackageName(int, int);
851    method @Deprecated public int getProxyUid();
852    method @Deprecated public int getProxyUid(int, int);
853    method public boolean isRunning();
854    method public void writeToParcel(android.os.Parcel, int);
855    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEntry> CREATOR;
856  }
857
858  public static final class AppOpsManager.OpEventProxyInfo implements android.os.Parcelable {
859    method public int describeContents();
860    method @Nullable public String getAttributionTag();
861    method @Nullable public String getPackageName();
862    method @IntRange(from=0) public int getUid();
863    method public void writeToParcel(@NonNull android.os.Parcel, int);
864    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEventProxyInfo> CREATOR;
865  }
866
867  public static final class AppOpsManager.PackageOps implements android.os.Parcelable {
868    method public int describeContents();
869    method @NonNull public java.util.List<android.app.AppOpsManager.OpEntry> getOps();
870    method @NonNull public String getPackageName();
871    method public int getUid();
872    method public void writeToParcel(@NonNull android.os.Parcel, int);
873    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.PackageOps> CREATOR;
874  }
875
876  public class BroadcastOptions {
877    method public void clearRequireCompatChange();
878    method public int getPendingIntentBackgroundActivityStartMode();
879    method @Deprecated public boolean isPendingIntentBackgroundActivityLaunchAllowed();
880    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RESPONSE_STATS) public void recordResponseEventWhileInBackground(@IntRange(from=0) long);
881    method @RequiresPermission(android.Manifest.permission.START_ACTIVITIES_FROM_BACKGROUND) public void setBackgroundActivityStartsAllowed(boolean);
882    method public void setDontSendToRestrictedApps(boolean);
883    method @Deprecated public void setPendingIntentBackgroundActivityLaunchAllowed(boolean);
884    method @NonNull public android.app.BroadcastOptions setPendingIntentBackgroundActivityStartMode(int);
885    method public void setRequireAllOfPermissions(@Nullable String[]);
886    method public void setRequireCompatChange(long, boolean);
887    method public void setRequireNoneOfPermissions(@Nullable String[]);
888    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);
889    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);
890  }
891
892  public class DownloadManager {
893    method @RequiresPermission(android.Manifest.permission.WRITE_MEDIA_STORAGE) public void onMediaStoreDownloadsDeleted(@NonNull android.util.LongSparseArray<java.lang.String>);
894    field public static final String ACTION_DOWNLOAD_COMPLETED = "android.intent.action.DOWNLOAD_COMPLETED";
895  }
896
897  public final class GameManager {
898    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_GAME_MODE) public android.app.GameModeInfo getGameModeInfo(@NonNull String);
899    method @RequiresPermission(android.Manifest.permission.MANAGE_GAME_MODE) public void setGameMode(@NonNull String, int);
900    method @RequiresPermission(android.Manifest.permission.MANAGE_GAME_MODE) public void updateCustomGameModeConfiguration(@NonNull String, @NonNull android.app.GameModeConfiguration);
901  }
902
903  public final class GameModeConfiguration implements android.os.Parcelable {
904    method public int describeContents();
905    method public int getFpsOverride();
906    method public float getScalingFactor();
907    method public void writeToParcel(@NonNull android.os.Parcel, int);
908    field @NonNull public static final android.os.Parcelable.Creator<android.app.GameModeConfiguration> CREATOR;
909    field public static final int FPS_OVERRIDE_NONE = 0; // 0x0
910  }
911
912  public static final class GameModeConfiguration.Builder {
913    ctor public GameModeConfiguration.Builder();
914    ctor public GameModeConfiguration.Builder(@NonNull android.app.GameModeConfiguration);
915    method @NonNull public android.app.GameModeConfiguration build();
916    method @NonNull public android.app.GameModeConfiguration.Builder setFpsOverride(int);
917    method @NonNull public android.app.GameModeConfiguration.Builder setScalingFactor(float);
918  }
919
920  public final class GameModeInfo implements android.os.Parcelable {
921    ctor @Deprecated public GameModeInfo(int, @NonNull int[]);
922    method public int describeContents();
923    method public int getActiveGameMode();
924    method @NonNull public int[] getAvailableGameModes();
925    method @Nullable public android.app.GameModeConfiguration getGameModeConfiguration(int);
926    method @NonNull public int[] getOverriddenGameModes();
927    method public boolean isDownscalingAllowed();
928    method public boolean isFpsOverrideAllowed();
929    method public void writeToParcel(@NonNull android.os.Parcel, int);
930    field @NonNull public static final android.os.Parcelable.Creator<android.app.GameModeInfo> CREATOR;
931  }
932
933  public static final class GameModeInfo.Builder {
934    ctor public GameModeInfo.Builder();
935    method @NonNull public android.app.GameModeInfo build();
936    method @NonNull public android.app.GameModeInfo.Builder setActiveGameMode(@NonNull int);
937    method @NonNull public android.app.GameModeInfo.Builder setAvailableGameModes(@NonNull int[]);
938    method @NonNull public android.app.GameModeInfo.Builder setDownscalingAllowed(boolean);
939    method @NonNull public android.app.GameModeInfo.Builder setFpsOverrideAllowed(boolean);
940    method @NonNull public android.app.GameModeInfo.Builder setGameModeConfiguration(int, @NonNull android.app.GameModeConfiguration);
941    method @NonNull public android.app.GameModeInfo.Builder setOverriddenGameModes(@NonNull int[]);
942  }
943
944  public abstract class InstantAppResolverService extends android.app.Service {
945    ctor public InstantAppResolverService();
946    method public final void attachBaseContext(android.content.Context);
947    method public final android.os.IBinder onBind(android.content.Intent);
948    method @Deprecated public void onGetInstantAppIntentFilter(@Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
949    method @Deprecated public void onGetInstantAppIntentFilter(@NonNull android.content.Intent, @Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
950    method @Deprecated public void onGetInstantAppIntentFilter(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
951    method @MainThread public void onGetInstantAppIntentFilter(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
952    method @Deprecated public void onGetInstantAppResolveInfo(@Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
953    method @Deprecated public void onGetInstantAppResolveInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
954    method @Deprecated public void onGetInstantAppResolveInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
955    method @MainThread public void onGetInstantAppResolveInfo(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
956  }
957
958  public static final class InstantAppResolverService.InstantAppResolutionCallback {
959    method public void onInstantAppResolveInfo(java.util.List<android.content.pm.InstantAppResolveInfo>);
960  }
961
962  public class KeyguardManager {
963    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);
964    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);
965    method public android.content.Intent createConfirmFactoryResetCredentialIntent(CharSequence, CharSequence, CharSequence);
966    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public int getMinLockLength(boolean, int);
967    method @RequiresPermission(android.Manifest.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS) public boolean getPrivateNotificationsAllowed();
968    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public boolean isValidLockPasswordComplexity(int, @NonNull byte[], int);
969    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public boolean isWeakEscrowTokenActive(long, @NonNull android.os.UserHandle);
970    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public boolean isWeakEscrowTokenValid(long, @NonNull byte[], @NonNull android.os.UserHandle);
971    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public boolean registerWeakEscrowTokenRemovedListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.KeyguardManager.WeakEscrowTokenRemovedListener);
972    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public boolean removeWeakEscrowToken(long, @NonNull android.os.UserHandle);
973    method @RequiresPermission(android.Manifest.permission.SHOW_KEYGUARD_MESSAGE) public void requestDismissKeyguard(@NonNull android.app.Activity, @Nullable CharSequence, @Nullable android.app.KeyguardManager.KeyguardDismissCallback);
974    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public boolean setLock(int, @NonNull byte[], int);
975    method @RequiresPermission(android.Manifest.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS) public void setPrivateNotificationsAllowed(boolean);
976    method @NonNull @RequiresPermission(android.Manifest.permission.CHECK_REMOTE_LOCKSCREEN) public android.app.RemoteLockscreenValidationSession startRemoteLockscreenValidation();
977    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public boolean unregisterWeakEscrowTokenRemovedListener(@NonNull android.app.KeyguardManager.WeakEscrowTokenRemovedListener);
978    method @NonNull @RequiresPermission(android.Manifest.permission.CHECK_REMOTE_LOCKSCREEN) public android.app.RemoteLockscreenValidationResult validateRemoteLockscreen(@NonNull byte[]);
979    field public static final int PASSWORD = 0; // 0x0
980    field public static final int PATTERN = 2; // 0x2
981    field public static final int PIN = 1; // 0x1
982  }
983
984  public static interface KeyguardManager.WeakEscrowTokenActivatedListener {
985    method public void onWeakEscrowTokenActivated(long, @NonNull android.os.UserHandle);
986  }
987
988  public static interface KeyguardManager.WeakEscrowTokenRemovedListener {
989    method public void onWeakEscrowTokenRemoved(long, @NonNull android.os.UserHandle);
990  }
991
992  public class LocaleManager {
993    method @RequiresPermission(android.Manifest.permission.CHANGE_CONFIGURATION) public void setApplicationLocales(@NonNull String, @NonNull android.os.LocaleList);
994  }
995
996  public class Notification implements android.os.Parcelable {
997    field public static final String CATEGORY_CAR_EMERGENCY = "car_emergency";
998    field public static final String CATEGORY_CAR_INFORMATION = "car_information";
999    field public static final String CATEGORY_CAR_WARNING = "car_warning";
1000    field @RequiresPermission(android.Manifest.permission.NOTIFICATION_DURING_SETUP) public static final String EXTRA_ALLOW_DURING_SETUP = "android.allowDuringSetup";
1001    field @RequiresPermission(android.Manifest.permission.SUBSTITUTE_NOTIFICATION_APP_NAME) public static final String EXTRA_SUBSTITUTE_APP_NAME = "android.substName";
1002    field public static final int FLAG_AUTOGROUP_SUMMARY = 1024; // 0x400
1003  }
1004
1005  public static class Notification.Action implements android.os.Parcelable {
1006    field public static final int SEMANTIC_ACTION_CONVERSATION_IS_PHISHING = 12; // 0xc
1007    field public static final int SEMANTIC_ACTION_MARK_CONVERSATION_AS_PRIORITY = 11; // 0xb
1008  }
1009
1010  public static final class Notification.TvExtender implements android.app.Notification.Extender {
1011    ctor public Notification.TvExtender();
1012    ctor public Notification.TvExtender(android.app.Notification);
1013    method public android.app.Notification.Builder extend(android.app.Notification.Builder);
1014    method public String getChannelId();
1015    method public android.app.PendingIntent getContentIntent();
1016    method public android.app.PendingIntent getDeleteIntent();
1017    method public boolean getSuppressShowOverApps();
1018    method public boolean isAvailableOnTv();
1019    method public android.app.Notification.TvExtender setChannel(String);
1020    method public android.app.Notification.TvExtender setChannelId(String);
1021    method public android.app.Notification.TvExtender setContentIntent(android.app.PendingIntent);
1022    method public android.app.Notification.TvExtender setDeleteIntent(android.app.PendingIntent);
1023    method public android.app.Notification.TvExtender setSuppressShowOverApps(boolean);
1024  }
1025
1026  public final class NotificationChannel implements android.os.Parcelable {
1027    method public int getUserLockedFields();
1028    method public boolean isDeleted();
1029    method public void populateFromXml(org.xmlpull.v1.XmlPullParser);
1030    method public org.json.JSONObject toJson() throws org.json.JSONException;
1031    method public void writeXml(org.xmlpull.v1.XmlSerializer) throws java.io.IOException;
1032    field public static final int USER_LOCKED_SOUND = 32; // 0x20
1033  }
1034
1035  public final class NotificationChannelGroup implements android.os.Parcelable {
1036    method public org.json.JSONObject toJson() throws org.json.JSONException;
1037  }
1038
1039  public class NotificationManager {
1040    method @NonNull public java.util.List<java.lang.String> getAllowedAssistantAdjustments();
1041    method @Nullable public android.content.ComponentName getAllowedNotificationAssistant();
1042    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATION_LISTENERS) public java.util.List<android.content.ComponentName> getEnabledNotificationListeners();
1043    method public boolean isNotificationAssistantAccessGranted(@NonNull android.content.ComponentName);
1044    method public void setNotificationAssistantAccessGranted(@Nullable android.content.ComponentName, boolean);
1045    method @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATION_LISTENERS) public void setNotificationListenerAccessGranted(@NonNull android.content.ComponentName, boolean, boolean);
1046    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_CLOSE_NOTIFICATION_HANDLER_PANEL = "android.app.action.CLOSE_NOTIFICATION_HANDLER_PANEL";
1047    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_OPEN_NOTIFICATION_HANDLER_PANEL = "android.app.action.OPEN_NOTIFICATION_HANDLER_PANEL";
1048    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_TOGGLE_NOTIFICATION_HANDLER_PANEL = "android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL";
1049  }
1050
1051  public final class RemoteLockscreenValidationResult implements android.os.Parcelable {
1052    method public int describeContents();
1053    method public int getResultCode();
1054    method public long getTimeoutMillis();
1055    method public void writeToParcel(@NonNull android.os.Parcel, int);
1056    field @NonNull public static final android.os.Parcelable.Creator<android.app.RemoteLockscreenValidationResult> CREATOR;
1057    field public static final int RESULT_GUESS_INVALID = 2; // 0x2
1058    field public static final int RESULT_GUESS_VALID = 1; // 0x1
1059    field public static final int RESULT_LOCKOUT = 3; // 0x3
1060    field public static final int RESULT_NO_REMAINING_ATTEMPTS = 4; // 0x4
1061    field public static final int RESULT_SESSION_EXPIRED = 5; // 0x5
1062  }
1063
1064  public static final class RemoteLockscreenValidationResult.Builder {
1065    ctor public RemoteLockscreenValidationResult.Builder();
1066    method @NonNull public android.app.RemoteLockscreenValidationResult build();
1067    method @NonNull public android.app.RemoteLockscreenValidationResult.Builder setResultCode(int);
1068    method @NonNull public android.app.RemoteLockscreenValidationResult.Builder setTimeoutMillis(long);
1069  }
1070
1071  public final class RemoteLockscreenValidationSession implements android.os.Parcelable {
1072    method public int describeContents();
1073    method public int getLockType();
1074    method public int getRemainingAttempts();
1075    method @NonNull public byte[] getSourcePublicKey();
1076    method public void writeToParcel(@NonNull android.os.Parcel, int);
1077    field @NonNull public static final android.os.Parcelable.Creator<android.app.RemoteLockscreenValidationSession> CREATOR;
1078  }
1079
1080  public static final class RemoteLockscreenValidationSession.Builder {
1081    ctor public RemoteLockscreenValidationSession.Builder();
1082    method @NonNull public android.app.RemoteLockscreenValidationSession build();
1083    method @NonNull public android.app.RemoteLockscreenValidationSession.Builder setLockType(int);
1084    method @NonNull public android.app.RemoteLockscreenValidationSession.Builder setRemainingAttempts(int);
1085    method @NonNull public android.app.RemoteLockscreenValidationSession.Builder setSourcePublicKey(@NonNull byte[]);
1086  }
1087
1088  public final class RuntimeAppOpAccessMessage implements android.os.Parcelable {
1089    ctor public RuntimeAppOpAccessMessage(@IntRange(from=0L) int, @IntRange(from=0L) int, @NonNull String, @Nullable String, @NonNull String, int);
1090    method public int describeContents();
1091    method @Nullable public String getAttributionTag();
1092    method @NonNull public String getMessage();
1093    method @NonNull public String getOp();
1094    method @NonNull public String getPackageName();
1095    method public int getSamplingStrategy();
1096    method @IntRange(from=0L) public int getUid();
1097    method public void writeToParcel(@NonNull android.os.Parcel, int);
1098    field @NonNull public static final android.os.Parcelable.Creator<android.app.RuntimeAppOpAccessMessage> CREATOR;
1099  }
1100
1101  public class SearchManager implements android.content.DialogInterface.OnCancelListener android.content.DialogInterface.OnDismissListener {
1102    method public void launchAssist(@Nullable android.os.Bundle);
1103  }
1104
1105  public class StatsCursor extends android.database.AbstractCursor {
1106    method @NonNull public String[] getColumnNames();
1107    method public int getCount();
1108    method public double getDouble(int);
1109    method public float getFloat(int);
1110    method public int getInt(int);
1111    method public long getLong(int);
1112    method public short getShort(int);
1113    method @NonNull public String getString(int);
1114    method public boolean isNull(int);
1115  }
1116
1117  public final class StatsManager {
1118    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void addConfig(long, byte[]) throws android.app.StatsManager.StatsUnavailableException;
1119    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean addConfiguration(long, byte[]);
1120    method @RequiresPermission(android.Manifest.permission.REGISTER_STATS_PULL_ATOM) public void clearPullAtomCallback(int);
1121    method @Deprecated @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getData(long);
1122    method @Deprecated @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getMetadata();
1123    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long[] getRegisteredExperimentIds() throws android.app.StatsManager.StatsUnavailableException;
1124    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getReports(long) throws android.app.StatsManager.StatsUnavailableException;
1125    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getStatsMetadata() throws android.app.StatsManager.StatsUnavailableException;
1126    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;
1127    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void removeConfig(long) throws android.app.StatsManager.StatsUnavailableException;
1128    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean removeConfiguration(long);
1129    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;
1130    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;
1131    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean setBroadcastSubscriber(long, long, android.app.PendingIntent);
1132    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean setDataFetchOperation(long, android.app.PendingIntent);
1133    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;
1134    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);
1135    method @NonNull @RequiresPermission(android.Manifest.permission.READ_RESTRICTED_STATS) public long[] setRestrictedMetricsChangedOperation(long, @NonNull String, @Nullable android.app.PendingIntent) throws android.app.StatsManager.StatsUnavailableException;
1136    field public static final String ACTION_STATSD_STARTED = "android.app.action.STATSD_STARTED";
1137    field public static final String EXTRA_STATS_ACTIVE_CONFIG_KEYS = "android.app.extra.STATS_ACTIVE_CONFIG_KEYS";
1138    field public static final String EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES = "android.app.extra.STATS_BROADCAST_SUBSCRIBER_COOKIES";
1139    field public static final String EXTRA_STATS_CONFIG_KEY = "android.app.extra.STATS_CONFIG_KEY";
1140    field public static final String EXTRA_STATS_CONFIG_UID = "android.app.extra.STATS_CONFIG_UID";
1141    field public static final String EXTRA_STATS_DIMENSIONS_VALUE = "android.app.extra.STATS_DIMENSIONS_VALUE";
1142    field public static final String EXTRA_STATS_RESTRICTED_METRIC_IDS = "android.app.extra.STATS_RESTRICTED_METRIC_IDS";
1143    field public static final String EXTRA_STATS_SUBSCRIPTION_ID = "android.app.extra.STATS_SUBSCRIPTION_ID";
1144    field public static final String EXTRA_STATS_SUBSCRIPTION_RULE_ID = "android.app.extra.STATS_SUBSCRIPTION_RULE_ID";
1145    field public static final int PULL_SKIP = 1; // 0x1
1146    field public static final int PULL_SUCCESS = 0; // 0x0
1147  }
1148
1149  public static class StatsManager.PullAtomMetadata {
1150    method @Nullable public int[] getAdditiveFields();
1151    method public long getCoolDownMillis();
1152    method public long getTimeoutMillis();
1153  }
1154
1155  public static class StatsManager.PullAtomMetadata.Builder {
1156    ctor public StatsManager.PullAtomMetadata.Builder();
1157    method @NonNull public android.app.StatsManager.PullAtomMetadata build();
1158    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setAdditiveFields(@NonNull int[]);
1159    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setCoolDownMillis(long);
1160    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setTimeoutMillis(long);
1161  }
1162
1163  public static interface StatsManager.StatsPullAtomCallback {
1164    method public int onPullAtom(int, @NonNull java.util.List<android.util.StatsEvent>);
1165  }
1166
1167  public static class StatsManager.StatsQueryException extends android.util.AndroidException {
1168    ctor public StatsManager.StatsQueryException(@NonNull String);
1169    ctor public StatsManager.StatsQueryException(@NonNull String, @NonNull Throwable);
1170  }
1171
1172  public static class StatsManager.StatsUnavailableException extends android.util.AndroidException {
1173    ctor public StatsManager.StatsUnavailableException(String);
1174    ctor public StatsManager.StatsUnavailableException(String, Throwable);
1175  }
1176
1177  public final class StatsQuery {
1178    method @IntRange(from=0) public int getMinSqlClientVersion();
1179    method @Nullable public byte[] getPolicyConfig();
1180    method @NonNull public String getRawSql();
1181    method public int getSqlDialect();
1182    field public static final int DIALECT_SQLITE = 1; // 0x1
1183    field public static final int DIALECT_UNKNOWN = 0; // 0x0
1184  }
1185
1186  public static final class StatsQuery.Builder {
1187    ctor public StatsQuery.Builder(@NonNull String);
1188    method @NonNull public android.app.StatsQuery build();
1189    method @NonNull public android.app.StatsQuery.Builder setMinSqlClientVersion(@IntRange(from=0) int);
1190    method @NonNull public android.app.StatsQuery.Builder setPolicyConfig(@NonNull byte[]);
1191    method @NonNull public android.app.StatsQuery.Builder setSqlDialect(int);
1192  }
1193
1194  public class StatusBarManager {
1195    method @NonNull @RequiresPermission(android.Manifest.permission.STATUS_BAR) public android.app.StatusBarManager.DisableInfo getDisableInfo();
1196    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public int getNavBarMode();
1197    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void registerNearbyMediaDevicesProvider(@NonNull android.media.NearbyMediaDevicesProvider);
1198    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setDisabledForSetup(boolean);
1199    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setNavBarMode(int);
1200    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void unregisterNearbyMediaDevicesProvider(@NonNull android.media.NearbyMediaDevicesProvider);
1201    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void updateMediaTapToTransferReceiverDisplay(int, @NonNull android.media.MediaRoute2Info, @Nullable android.graphics.drawable.Icon, @Nullable CharSequence);
1202    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void updateMediaTapToTransferSenderDisplay(int, @NonNull android.media.MediaRoute2Info, @Nullable java.util.concurrent.Executor, @Nullable Runnable);
1203    field public static final int MEDIA_TRANSFER_RECEIVER_STATE_CLOSE_TO_SENDER = 0; // 0x0
1204    field public static final int MEDIA_TRANSFER_RECEIVER_STATE_FAR_FROM_SENDER = 1; // 0x1
1205    field public static final int MEDIA_TRANSFER_RECEIVER_STATE_TRANSFER_TO_RECEIVER_FAILED = 3; // 0x3
1206    field public static final int MEDIA_TRANSFER_RECEIVER_STATE_TRANSFER_TO_RECEIVER_SUCCEEDED = 2; // 0x2
1207    field public static final int MEDIA_TRANSFER_SENDER_STATE_ALMOST_CLOSE_TO_END_CAST = 1; // 0x1
1208    field public static final int MEDIA_TRANSFER_SENDER_STATE_ALMOST_CLOSE_TO_START_CAST = 0; // 0x0
1209    field public static final int MEDIA_TRANSFER_SENDER_STATE_FAR_FROM_RECEIVER = 8; // 0x8
1210    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_RECEIVER_FAILED = 6; // 0x6
1211    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_RECEIVER_SUCCEEDED = 4; // 0x4
1212    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_RECEIVER_TRIGGERED = 2; // 0x2
1213    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_THIS_DEVICE_FAILED = 7; // 0x7
1214    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_THIS_DEVICE_SUCCEEDED = 5; // 0x5
1215    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_THIS_DEVICE_TRIGGERED = 3; // 0x3
1216    field public static final int NAV_BAR_MODE_DEFAULT = 0; // 0x0
1217    field public static final int NAV_BAR_MODE_KIDS = 1; // 0x1
1218  }
1219
1220  public static final class StatusBarManager.DisableInfo {
1221    method public boolean areAllComponentsEnabled();
1222    method public boolean isNavigateToHomeDisabled();
1223    method public boolean isNotificationPeekingDisabled();
1224    method public boolean isRecentsDisabled();
1225    method public boolean isSearchDisabled();
1226    method public boolean isStatusBarExpansionDisabled();
1227  }
1228
1229  public final class SystemServiceRegistry {
1230    method public static <TServiceClass> void registerContextAwareService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.ContextAwareServiceProducerWithBinder<TServiceClass>);
1231    method public static <TServiceClass> void registerContextAwareService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.ContextAwareServiceProducerWithoutBinder<TServiceClass>);
1232    method public static <TServiceClass> void registerStaticService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.StaticServiceProducerWithBinder<TServiceClass>);
1233    method public static <TServiceClass> void registerStaticService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.StaticServiceProducerWithoutBinder<TServiceClass>);
1234  }
1235
1236  public static interface SystemServiceRegistry.ContextAwareServiceProducerWithBinder<TServiceClass> {
1237    method @NonNull public TServiceClass createService(@NonNull android.content.Context, @NonNull android.os.IBinder);
1238  }
1239
1240  public static interface SystemServiceRegistry.ContextAwareServiceProducerWithoutBinder<TServiceClass> {
1241    method @NonNull public TServiceClass createService(@NonNull android.content.Context);
1242  }
1243
1244  public static interface SystemServiceRegistry.StaticServiceProducerWithBinder<TServiceClass> {
1245    method @NonNull public TServiceClass createService(@NonNull android.os.IBinder);
1246  }
1247
1248  public static interface SystemServiceRegistry.StaticServiceProducerWithoutBinder<TServiceClass> {
1249    method @NonNull public TServiceClass createService();
1250  }
1251
1252  public class UiModeManager {
1253    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public void addOnProjectionStateChangedListener(int, @NonNull java.util.concurrent.Executor, @NonNull android.app.UiModeManager.OnProjectionStateChangedListener);
1254    method @RequiresPermission(android.Manifest.permission.ENTER_CAR_MODE_PRIORITIZED) public void enableCarMode(@IntRange(from=0) int, int);
1255    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public int getActiveProjectionTypes();
1256    method @RequiresPermission(android.Manifest.permission.MODIFY_DAY_NIGHT_MODE) public int getNightModeCustomType();
1257    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public java.util.Set<java.lang.String> getProjectingPackages(int);
1258    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean releaseProjection(int);
1259    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public void removeOnProjectionStateChangedListener(@NonNull android.app.UiModeManager.OnProjectionStateChangedListener);
1260    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean requestProjection(int);
1261    method @RequiresPermission(android.Manifest.permission.MODIFY_DAY_NIGHT_MODE) public boolean setNightModeActivatedForCustomMode(int, boolean);
1262    method @RequiresPermission(android.Manifest.permission.MODIFY_DAY_NIGHT_MODE) public void setNightModeCustomType(int);
1263    field public static final String ACTION_ENTER_CAR_MODE_PRIORITIZED = "android.app.action.ENTER_CAR_MODE_PRIORITIZED";
1264    field public static final String ACTION_EXIT_CAR_MODE_PRIORITIZED = "android.app.action.EXIT_CAR_MODE_PRIORITIZED";
1265    field public static final int DEFAULT_PRIORITY = 0; // 0x0
1266    field public static final String EXTRA_CALLING_PACKAGE = "android.app.extra.CALLING_PACKAGE";
1267    field public static final String EXTRA_PRIORITY = "android.app.extra.PRIORITY";
1268    field public static final int MODE_NIGHT_CUSTOM_TYPE_BEDTIME = 1; // 0x1
1269    field public static final int MODE_NIGHT_CUSTOM_TYPE_SCHEDULE = 0; // 0x0
1270    field public static final int MODE_NIGHT_CUSTOM_TYPE_UNKNOWN = -1; // 0xffffffff
1271    field public static final int PROJECTION_TYPE_ALL = -1; // 0xffffffff
1272    field public static final int PROJECTION_TYPE_AUTOMOTIVE = 1; // 0x1
1273    field public static final int PROJECTION_TYPE_NONE = 0; // 0x0
1274  }
1275
1276  public static interface UiModeManager.OnProjectionStateChangedListener {
1277    method public void onProjectionStateChanged(int, @NonNull java.util.Set<java.lang.String>);
1278  }
1279
1280  public final class Vr2dDisplayProperties implements android.os.Parcelable {
1281    ctor public Vr2dDisplayProperties(int, int, int);
1282    method public int describeContents();
1283    method public void dump(@NonNull java.io.PrintWriter, @NonNull String);
1284    method public int getAddedFlags();
1285    method public int getDpi();
1286    method public int getHeight();
1287    method public int getRemovedFlags();
1288    method public int getWidth();
1289    method public void writeToParcel(android.os.Parcel, int);
1290    field @NonNull public static final android.os.Parcelable.Creator<android.app.Vr2dDisplayProperties> CREATOR;
1291    field public static final int FLAG_VIRTUAL_DISPLAY_ENABLED = 1; // 0x1
1292  }
1293
1294  public static final class Vr2dDisplayProperties.Builder {
1295    ctor public Vr2dDisplayProperties.Builder();
1296    method @NonNull public android.app.Vr2dDisplayProperties.Builder addFlags(int);
1297    method @NonNull public android.app.Vr2dDisplayProperties build();
1298    method @NonNull public android.app.Vr2dDisplayProperties.Builder removeFlags(int);
1299    method @NonNull public android.app.Vr2dDisplayProperties.Builder setDimensions(int, int, int);
1300    method @NonNull public android.app.Vr2dDisplayProperties.Builder setEnabled(boolean);
1301  }
1302
1303  public class VrManager {
1304    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public int getVr2dDisplayId();
1305    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public boolean isPersistentVrModeEnabled();
1306    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public boolean isVrModeEnabled();
1307    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);
1308    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setAndBindVrCompositor(android.content.ComponentName);
1309    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setPersistentVrModeEnabled(boolean);
1310    method @RequiresPermission("android.permission.ACCESS_VR_MANAGER") public void setStandbyEnabled(boolean);
1311    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setVr2dDisplayProperties(@NonNull android.app.Vr2dDisplayProperties);
1312    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setVrInputMethod(@Nullable android.content.ComponentName);
1313    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public void unregisterVrStateCallback(@NonNull android.app.VrStateCallback);
1314  }
1315
1316  public abstract class VrStateCallback {
1317    ctor public VrStateCallback();
1318    method public void onPersistentVrStateChanged(boolean);
1319    method public void onVrStateChanged(boolean);
1320  }
1321
1322  public final class WallpaperInfo implements android.os.Parcelable {
1323    method public boolean supportsAmbientMode();
1324  }
1325
1326  public class WallpaperManager {
1327    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public void clearWallpaper(int, int);
1328    method @FloatRange(from=0.0f, to=1.0f) @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_DIM_AMOUNT) public float getWallpaperDimAmount();
1329    method public void setDisplayOffset(android.os.IBinder, int, int);
1330    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_COMPONENT) public boolean setWallpaperComponent(android.content.ComponentName);
1331    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_COMPONENT) public boolean setWallpaperComponentWithFlags(@NonNull android.content.ComponentName, int);
1332    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_DIM_AMOUNT) public void setWallpaperDimAmount(@FloatRange(from=0.0f, to=1.0f) float);
1333  }
1334
1335}
1336
1337package android.app.admin {
1338
1339  public final class AccountTypePolicyKey extends android.app.admin.PolicyKey {
1340    method public int describeContents();
1341    method @NonNull public String getAccountType();
1342    method public void writeToParcel(@NonNull android.os.Parcel, int);
1343    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.AccountTypePolicyKey> CREATOR;
1344  }
1345
1346  public abstract class Authority implements android.os.Parcelable {
1347    method public int describeContents();
1348  }
1349
1350  public final class DeviceAdminAuthority extends android.app.admin.Authority {
1351    ctor public DeviceAdminAuthority();
1352    method public void writeToParcel(@NonNull android.os.Parcel, int);
1353    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DeviceAdminAuthority> CREATOR;
1354  }
1355
1356  public final class DevicePolicyDrawableResource implements android.os.Parcelable {
1357    ctor public DevicePolicyDrawableResource(@NonNull android.content.Context, @NonNull String, @NonNull String, @NonNull String, @DrawableRes int);
1358    ctor public DevicePolicyDrawableResource(@NonNull android.content.Context, @NonNull String, @NonNull String, @DrawableRes int);
1359    method public int describeContents();
1360    method @NonNull public String getDrawableId();
1361    method @NonNull public String getDrawableSource();
1362    method @NonNull public String getDrawableStyle();
1363    method @DrawableRes public int getResourceIdInCallingPackage();
1364    method public void writeToParcel(@NonNull android.os.Parcel, int);
1365    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DevicePolicyDrawableResource> CREATOR;
1366  }
1367
1368  public class DevicePolicyKeyguardService extends android.app.Service {
1369    ctor public DevicePolicyKeyguardService();
1370    method @Nullable public void dismiss();
1371    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
1372    method @Nullable public android.view.SurfaceControlViewHost.SurfacePackage onCreateKeyguardSurface(@NonNull android.os.IBinder);
1373  }
1374
1375  public class DevicePolicyManager {
1376    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public int checkProvisioningPrecondition(@NonNull String, @NonNull String);
1377    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public android.os.UserHandle createAndProvisionManagedProfile(@NonNull android.app.admin.ManagedProfileProvisioningParams) throws android.app.admin.ProvisioningException;
1378    method @Nullable public android.content.Intent createProvisioningIntentFromNfcIntent(@NonNull android.content.Intent);
1379    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public void finalizeWorkProfileProvisioning(@NonNull android.os.UserHandle, @Nullable android.accounts.Account);
1380    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;
1381    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public boolean getBluetoothContactSharingDisabled(@NonNull android.os.UserHandle);
1382    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getDeviceOwner();
1383    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public android.content.ComponentName getDeviceOwnerComponentOnAnyUser();
1384    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public String getDeviceOwnerNameOnAnyUser();
1385    method @Nullable public CharSequence getDeviceOwnerOrganizationName();
1386    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.UserHandle getDeviceOwnerUser();
1387    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public android.app.admin.DevicePolicyState getDevicePolicyState();
1388    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public String getFinancedDeviceKioskRoleHolder();
1389    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.QUERY_ADMIN_POLICY}) public java.util.List<java.lang.String> getPermittedAccessibilityServices(int);
1390    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.QUERY_ADMIN_POLICY}) public java.util.List<java.lang.String> getPermittedInputMethodsForCurrentUser();
1391    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public java.util.List<android.os.UserHandle> getPolicyManagedProfiles(@NonNull android.os.UserHandle);
1392    method @Nullable public android.content.ComponentName getProfileOwner() throws java.lang.IllegalArgumentException;
1393    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;
1394    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public int getUserProvisioningState();
1395    method public boolean isDeviceManaged();
1396    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isDeviceProvisioned();
1397    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isDeviceProvisioningConfigApplied();
1398    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public boolean isDpcDownloaded();
1399    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public boolean isManagedKiosk();
1400    method public boolean isSecondaryLockscreenEnabled(@NonNull android.os.UserHandle);
1401    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public boolean isUnattendedManagedKiosk();
1402    method @RequiresPermission("android.permission.NOTIFY_PENDING_SYSTEM_UPDATE") public void notifyPendingSystemUpdate(long);
1403    method @RequiresPermission("android.permission.NOTIFY_PENDING_SYSTEM_UPDATE") public void notifyPendingSystemUpdate(long, boolean);
1404    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public boolean packageHasActiveAdmins(String);
1405    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;
1406    method @RequiresPermission(android.Manifest.permission.TRIGGER_LOST_MODE) public void sendLostModeLocationUpdate(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
1407    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_ADMINS) public boolean setActiveProfileOwner(@NonNull android.content.ComponentName, String) throws java.lang.IllegalArgumentException;
1408    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;
1409    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setDeviceProvisioningConfigApplied();
1410    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public void setDpcDownloaded(boolean);
1411    method @Deprecated @RequiresPermission(value=android.Manifest.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS, conditional=true) public void setProfileOwnerCanAccessDeviceIds(@NonNull android.content.ComponentName);
1412    method public void setSecondaryLockscreenEnabled(@NonNull android.content.ComponentName, boolean);
1413    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public void setUserProvisioningState(int, @NonNull android.os.UserHandle);
1414    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public boolean shouldAllowBypassingDevicePolicyManagementRoleQualification();
1415    field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_ALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_ALLOWED";
1416    field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_DISALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_DISALLOWED";
1417    field public static final String ACTION_BIND_SECONDARY_LOCKSCREEN_SERVICE = "android.app.action.BIND_SECONDARY_LOCKSCREEN_SERVICE";
1418    field @RequiresPermission(android.Manifest.permission.DISPATCH_PROVISIONING_MESSAGE) public static final String ACTION_ESTABLISH_NETWORK_CONNECTION = "android.app.action.ESTABLISH_NETWORK_CONNECTION";
1419    field public static final String ACTION_LOST_MODE_LOCATION_UPDATE = "android.app.action.LOST_MODE_LOCATION_UPDATE";
1420    field public static final String ACTION_PROVISION_FINALIZATION = "android.app.action.PROVISION_FINALIZATION";
1421    field public static final String ACTION_PROVISION_FINANCED_DEVICE = "android.app.action.PROVISION_FINANCED_DEVICE";
1422    field public static final String ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE = "android.app.action.PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE";
1423    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";
1424    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";
1425    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";
1426    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";
1427    field public static final String ACTION_SET_PROFILE_OWNER = "android.app.action.SET_PROFILE_OWNER";
1428    field @Deprecated public static final String ACTION_STATE_USER_SETUP_COMPLETE = "android.app.action.STATE_USER_SETUP_COMPLETE";
1429    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";
1430    field public static final int EXEMPT_FROM_ACTIVITY_BG_START_RESTRICTION = 2; // 0x2
1431    field public static final int EXEMPT_FROM_DISMISSIBLE_NOTIFICATIONS = 1; // 0x1
1432    field public static final int EXEMPT_FROM_HIBERNATION = 3; // 0x3
1433    field public static final int EXEMPT_FROM_POWER_RESTRICTIONS = 4; // 0x4
1434    field public static final int EXEMPT_FROM_SUSPENSION = 0; // 0x0
1435    field public static final String EXTRA_FORCE_UPDATE_ROLE_HOLDER = "android.app.extra.FORCE_UPDATE_ROLE_HOLDER";
1436    field public static final String EXTRA_LOST_MODE_LOCATION = "android.app.extra.LOST_MODE_LOCATION";
1437    field public static final String EXTRA_PROFILE_OWNER_NAME = "android.app.extra.PROFILE_OWNER_NAME";
1438    field @Deprecated public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI";
1439    field @Deprecated public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL";
1440    field public static final String EXTRA_PROVISIONING_ORGANIZATION_NAME = "android.app.extra.PROVISIONING_ORGANIZATION_NAME";
1441    field public static final String EXTRA_PROVISIONING_RETURN_BEFORE_POLICY_COMPLIANCE = "android.app.extra.PROVISIONING_RETURN_BEFORE_POLICY_COMPLIANCE";
1442    field public static final String EXTRA_PROVISIONING_ROLE_HOLDER_CUSTOM_USER_CONSENT_INTENT = "android.app.extra.PROVISIONING_ROLE_HOLDER_CUSTOM_USER_CONSENT_INTENT";
1443    field public static final String EXTRA_PROVISIONING_ROLE_HOLDER_EXTRAS_BUNDLE = "android.app.extra.PROVISIONING_ROLE_HOLDER_EXTRAS_BUNDLE";
1444    field public static final String EXTRA_PROVISIONING_ROLE_HOLDER_PACKAGE_DOWNLOAD_COOKIE_HEADER = "android.app.extra.PROVISIONING_ROLE_HOLDER_PACKAGE_DOWNLOAD_COOKIE_HEADER";
1445    field public static final String EXTRA_PROVISIONING_ROLE_HOLDER_PACKAGE_DOWNLOAD_LOCATION = "android.app.extra.PROVISIONING_ROLE_HOLDER_PACKAGE_DOWNLOAD_LOCATION";
1446    field public static final String EXTRA_PROVISIONING_ROLE_HOLDER_SIGNATURE_CHECKSUM = "android.app.extra.PROVISIONING_ROLE_HOLDER_SIGNATURE_CHECKSUM";
1447    field public static final String EXTRA_PROVISIONING_SKIP_OWNERSHIP_DISCLAIMER = "android.app.extra.PROVISIONING_SKIP_OWNERSHIP_DISCLAIMER";
1448    field public static final String EXTRA_PROVISIONING_SUPPORTED_MODES = "android.app.extra.PROVISIONING_SUPPORTED_MODES";
1449    field public static final String EXTRA_PROVISIONING_SUPPORT_URL = "android.app.extra.PROVISIONING_SUPPORT_URL";
1450    field public static final String EXTRA_PROVISIONING_TRIGGER = "android.app.extra.PROVISIONING_TRIGGER";
1451    field public static final String EXTRA_RESTRICTION = "android.app.extra.RESTRICTION";
1452    field public static final String EXTRA_ROLE_HOLDER_PROVISIONING_INITIATOR_PACKAGE = "android.app.extra.ROLE_HOLDER_PROVISIONING_INITIATOR_PACKAGE";
1453    field public static final String EXTRA_ROLE_HOLDER_STATE = "android.app.extra.ROLE_HOLDER_STATE";
1454    field public static final String EXTRA_ROLE_HOLDER_UPDATE_RESULT_CODE = "android.app.extra.ROLE_HOLDER_UPDATE_RESULT_CODE";
1455    field public static final int FLAG_SUPPORTED_MODES_DEVICE_OWNER = 4; // 0x4
1456    field public static final int FLAG_SUPPORTED_MODES_ORGANIZATION_OWNED = 1; // 0x1
1457    field public static final int FLAG_SUPPORTED_MODES_PERSONALLY_OWNED = 2; // 0x2
1458    field public static final int PROVISIONING_TRIGGER_CLOUD_ENROLLMENT = 1; // 0x1
1459    field public static final int PROVISIONING_TRIGGER_MANAGED_ACCOUNT = 4; // 0x4
1460    field public static final int PROVISIONING_TRIGGER_NFC = 5; // 0x5
1461    field @Deprecated public static final int PROVISIONING_TRIGGER_PERSISTENT_DEVICE_OWNER = 3; // 0x3
1462    field public static final int PROVISIONING_TRIGGER_QR_CODE = 2; // 0x2
1463    field public static final int PROVISIONING_TRIGGER_UNSPECIFIED = 0; // 0x0
1464    field public static final String REQUIRED_APP_MANAGED_DEVICE = "android.app.REQUIRED_APP_MANAGED_DEVICE";
1465    field public static final String REQUIRED_APP_MANAGED_PROFILE = "android.app.REQUIRED_APP_MANAGED_PROFILE";
1466    field public static final String REQUIRED_APP_MANAGED_USER = "android.app.REQUIRED_APP_MANAGED_USER";
1467    field public static final int RESULT_DEVICE_OWNER_SET = 123; // 0x7b
1468    field public static final int RESULT_UPDATE_DEVICE_POLICY_MANAGEMENT_ROLE_HOLDER_PROVISIONING_DISABLED = 3; // 0x3
1469    field public static final int RESULT_UPDATE_DEVICE_POLICY_MANAGEMENT_ROLE_HOLDER_RECOVERABLE_ERROR = 1; // 0x1
1470    field public static final int RESULT_UPDATE_DEVICE_POLICY_MANAGEMENT_ROLE_HOLDER_UNRECOVERABLE_ERROR = 2; // 0x2
1471    field public static final int RESULT_UPDATE_ROLE_HOLDER = 2; // 0x2
1472    field public static final int RESULT_WORK_PROFILE_CREATED = 122; // 0x7a
1473    field public static final int STATE_USER_PROFILE_COMPLETE = 4; // 0x4
1474    field public static final int STATE_USER_PROFILE_FINALIZED = 5; // 0x5
1475    field public static final int STATE_USER_SETUP_COMPLETE = 2; // 0x2
1476    field public static final int STATE_USER_SETUP_FINALIZED = 3; // 0x3
1477    field public static final int STATE_USER_SETUP_INCOMPLETE = 1; // 0x1
1478    field public static final int STATE_USER_UNMANAGED = 0; // 0x0
1479    field public static final int STATUS_ACCOUNTS_NOT_EMPTY = 6; // 0x6
1480    field public static final int STATUS_CANNOT_ADD_MANAGED_PROFILE = 11; // 0xb
1481    field public static final int STATUS_DEVICE_ADMIN_NOT_SUPPORTED = 13; // 0xd
1482    field public static final int STATUS_HAS_DEVICE_OWNER = 1; // 0x1
1483    field public static final int STATUS_HAS_PAIRED = 8; // 0x8
1484    field public static final int STATUS_HEADLESS_SYSTEM_USER_MODE_NOT_SUPPORTED = 16; // 0x10
1485    field public static final int STATUS_MANAGED_USERS_NOT_SUPPORTED = 9; // 0x9
1486    field public static final int STATUS_NONSYSTEM_USER_EXISTS = 5; // 0x5
1487    field public static final int STATUS_NOT_SYSTEM_USER = 7; // 0x7
1488    field public static final int STATUS_OK = 0; // 0x0
1489    field public static final int STATUS_PROVISIONING_NOT_ALLOWED_FOR_NON_DEVELOPER_USERS = 15; // 0xf
1490    field public static final int STATUS_SYSTEM_USER = 10; // 0xa
1491    field public static final int STATUS_UNKNOWN_ERROR = -1; // 0xffffffff
1492    field public static final int STATUS_USER_HAS_PROFILE_OWNER = 2; // 0x2
1493    field public static final int STATUS_USER_NOT_RUNNING = 3; // 0x3
1494    field public static final int STATUS_USER_SETUP_COMPLETED = 4; // 0x4
1495  }
1496
1497  public static final class DevicePolicyResources.Strings {
1498  }
1499
1500  public static final class DevicePolicyResources.Strings.DefaultAppSettings {
1501    field public static final String HOME_MISSING_WORK_PROFILE_SUPPORT_MESSAGE = "DefaultAppSettings.HOME_MISSING_WORK_PROFILE_SUPPORT_MESSAGE";
1502    field public static final String WORK_PROFILE_DEFAULT_APPS_TITLE = "DefaultAppSettings.WORK_PROFILE_DEFAULT_APPS_TITLE";
1503  }
1504
1505  public static final class DevicePolicyResources.Strings.PermissionSettings {
1506    field public static final String BACKGROUND_ACCESS_DISABLED_BY_ADMIN_MESSAGE = "PermissionSettings.BACKGROUND_ACCESS_DISABLED_BY_ADMIN_MESSAGE";
1507    field public static final String BACKGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE = "PermissionSettings.BACKGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE";
1508    field public static final String FOREGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE = "PermissionSettings.FOREGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE";
1509    field public static final String LOCATION_AUTO_GRANTED_MESSAGE = "PermissionSettings.LOCATION_AUTO_GRANTED_MESSAGE";
1510  }
1511
1512  public class DevicePolicyResourcesManager {
1513    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void resetDrawables(@NonNull java.util.Set<java.lang.String>);
1514    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void resetStrings(@NonNull java.util.Set<java.lang.String>);
1515    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void setDrawables(@NonNull java.util.Set<android.app.admin.DevicePolicyDrawableResource>);
1516    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void setStrings(@NonNull java.util.Set<android.app.admin.DevicePolicyStringResource>);
1517  }
1518
1519  public final class DevicePolicyState implements android.os.Parcelable {
1520    method public int describeContents();
1521    method @NonNull public java.util.Map<android.os.UserHandle,java.util.Map<android.app.admin.PolicyKey,android.app.admin.PolicyState<?>>> getPoliciesForAllUsers();
1522    method @NonNull public java.util.Map<android.app.admin.PolicyKey,android.app.admin.PolicyState<?>> getPoliciesForUser(@NonNull android.os.UserHandle);
1523    method public void writeToParcel(@NonNull android.os.Parcel, int);
1524    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DevicePolicyState> CREATOR;
1525  }
1526
1527  public final class DevicePolicyStringResource implements android.os.Parcelable {
1528    ctor public DevicePolicyStringResource(@NonNull android.content.Context, @NonNull String, @StringRes int);
1529    method public int describeContents();
1530    method public int getResourceIdInCallingPackage();
1531    method @NonNull public String getStringId();
1532    method public void writeToParcel(@NonNull android.os.Parcel, int);
1533    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DevicePolicyStringResource> CREATOR;
1534  }
1535
1536  public final class DpcAuthority extends android.app.admin.Authority {
1537    ctor public DpcAuthority();
1538    method public void writeToParcel(@NonNull android.os.Parcel, int);
1539    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DpcAuthority> CREATOR;
1540  }
1541
1542  public final class EnforcingAdmin implements android.os.Parcelable {
1543    ctor public EnforcingAdmin(@NonNull String, @NonNull android.app.admin.Authority, @NonNull android.os.UserHandle);
1544    method public int describeContents();
1545    method @NonNull public android.app.admin.Authority getAuthority();
1546    method @NonNull public String getPackageName();
1547    method @NonNull public android.os.UserHandle getUserHandle();
1548    method public void writeToParcel(@NonNull android.os.Parcel, int);
1549    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.EnforcingAdmin> CREATOR;
1550  }
1551
1552  public final class FullyManagedDeviceProvisioningParams implements android.os.Parcelable {
1553    method public boolean canDeviceOwnerGrantSensorsPermissions();
1554    method public int describeContents();
1555    method @NonNull public android.os.PersistableBundle getAdminExtras();
1556    method @NonNull public android.content.ComponentName getDeviceAdminComponentName();
1557    method public long getLocalTime();
1558    method @Nullable public java.util.Locale getLocale();
1559    method @NonNull public String getOwnerName();
1560    method @Nullable public String getTimeZone();
1561    method public boolean isDemoDevice();
1562    method public boolean isLeaveAllSystemAppsEnabled();
1563    method public void writeToParcel(@NonNull android.os.Parcel, @Nullable int);
1564    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.FullyManagedDeviceProvisioningParams> CREATOR;
1565  }
1566
1567  public static final class FullyManagedDeviceProvisioningParams.Builder {
1568    ctor public FullyManagedDeviceProvisioningParams.Builder(@NonNull android.content.ComponentName, @NonNull String);
1569    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams build();
1570    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setAdminExtras(@NonNull android.os.PersistableBundle);
1571    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setCanDeviceOwnerGrantSensorsPermissions(boolean);
1572    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setDemoDevice(boolean);
1573    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setLeaveAllSystemAppsEnabled(boolean);
1574    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setLocalTime(long);
1575    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setLocale(@Nullable java.util.Locale);
1576    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setTimeZone(@Nullable String);
1577  }
1578
1579  public final class IntentFilterPolicyKey extends android.app.admin.PolicyKey {
1580    method public int describeContents();
1581    method @NonNull public android.content.IntentFilter getIntentFilter();
1582    method public void writeToParcel(@NonNull android.os.Parcel, int);
1583    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.IntentFilterPolicyKey> CREATOR;
1584  }
1585
1586  public final class LockTaskPolicy implements android.os.Parcelable {
1587    method public int describeContents();
1588    method public int getFlags();
1589    method @NonNull public java.util.Set<java.lang.String> getPackages();
1590    method public void writeToParcel(@NonNull android.os.Parcel, int);
1591    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.LockTaskPolicy> CREATOR;
1592  }
1593
1594  public final class ManagedProfileProvisioningParams implements android.os.Parcelable {
1595    method public int describeContents();
1596    method @Nullable public android.accounts.Account getAccountToMigrate();
1597    method @NonNull public android.os.PersistableBundle getAdminExtras();
1598    method @NonNull public String getOwnerName();
1599    method @NonNull public android.content.ComponentName getProfileAdminComponentName();
1600    method @Nullable public String getProfileName();
1601    method public boolean isKeepingAccountOnMigration();
1602    method public boolean isLeaveAllSystemAppsEnabled();
1603    method public boolean isOrganizationOwnedProvisioning();
1604    method public void writeToParcel(@NonNull android.os.Parcel, @Nullable int);
1605    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.ManagedProfileProvisioningParams> CREATOR;
1606  }
1607
1608  public static final class ManagedProfileProvisioningParams.Builder {
1609    ctor public ManagedProfileProvisioningParams.Builder(@NonNull android.content.ComponentName, @NonNull String);
1610    method @NonNull public android.app.admin.ManagedProfileProvisioningParams build();
1611    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setAccountToMigrate(@Nullable android.accounts.Account);
1612    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setAdminExtras(@NonNull android.os.PersistableBundle);
1613    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setKeepingAccountOnMigration(boolean);
1614    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setLeaveAllSystemAppsEnabled(boolean);
1615    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setOrganizationOwnedProvisioning(boolean);
1616    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setProfileName(@Nullable String);
1617  }
1618
1619  public final class NoArgsPolicyKey extends android.app.admin.PolicyKey {
1620    method public int describeContents();
1621    method public void writeToParcel(@NonNull android.os.Parcel, int);
1622    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.NoArgsPolicyKey> CREATOR;
1623  }
1624
1625  public final class PackagePermissionPolicyKey extends android.app.admin.PolicyKey {
1626    method public int describeContents();
1627    method @NonNull public String getPackageName();
1628    method @NonNull public String getPermissionName();
1629    method public void writeToParcel(@NonNull android.os.Parcel, int);
1630    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.PackagePermissionPolicyKey> CREATOR;
1631  }
1632
1633  public final class PackagePolicyKey extends android.app.admin.PolicyKey {
1634    method public int describeContents();
1635    method @NonNull public String getPackageName();
1636    method public void writeToParcel(@NonNull android.os.Parcel, int);
1637    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.PackagePolicyKey> CREATOR;
1638  }
1639
1640  public abstract class PolicyKey implements android.os.Parcelable {
1641    method @NonNull public String getIdentifier();
1642  }
1643
1644  public final class PolicyState<V> implements android.os.Parcelable {
1645    method public int describeContents();
1646    method @Nullable public V getCurrentResolvedPolicy();
1647    method @NonNull public java.util.LinkedHashMap<android.app.admin.EnforcingAdmin,V> getPoliciesSetByAdmins();
1648    method public void writeToParcel(@NonNull android.os.Parcel, int);
1649    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.PolicyState<?>> CREATOR;
1650  }
1651
1652  public class ProvisioningException extends android.util.AndroidException {
1653    ctor public ProvisioningException(@NonNull Exception, int);
1654    ctor public ProvisioningException(@NonNull Exception, int, @Nullable String);
1655    method public int getProvisioningError();
1656    field public static final int ERROR_ADMIN_PACKAGE_INSTALLATION_FAILED = 3; // 0x3
1657    field public static final int ERROR_PRE_CONDITION_FAILED = 1; // 0x1
1658    field public static final int ERROR_PROFILE_CREATION_FAILED = 2; // 0x2
1659    field public static final int ERROR_REMOVE_NON_REQUIRED_APPS_FAILED = 6; // 0x6
1660    field public static final int ERROR_SETTING_PROFILE_OWNER_FAILED = 4; // 0x4
1661    field public static final int ERROR_SET_DEVICE_OWNER_FAILED = 7; // 0x7
1662    field public static final int ERROR_STARTING_PROFILE_FAILED = 5; // 0x5
1663    field public static final int ERROR_UNKNOWN = 0; // 0x0
1664  }
1665
1666  public final class RoleAuthority extends android.app.admin.Authority {
1667    ctor public RoleAuthority(@NonNull java.util.Set<java.lang.String>);
1668    method @NonNull public java.util.Set<java.lang.String> getRoles();
1669    method public void writeToParcel(@NonNull android.os.Parcel, int);
1670    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.RoleAuthority> CREATOR;
1671  }
1672
1673  public class SecurityLog {
1674    method @RequiresPermission(android.Manifest.permission.WRITE_SECURITY_LOG) public static int writeEvent(int, @NonNull java.lang.Object...);
1675  }
1676
1677  public final class SystemUpdatePolicy implements android.os.Parcelable {
1678    method public android.app.admin.SystemUpdatePolicy.InstallationOption getInstallationOptionAt(long);
1679    field public static final int TYPE_PAUSE = 4; // 0x4
1680  }
1681
1682  public static class SystemUpdatePolicy.InstallationOption {
1683    method public long getEffectiveTime();
1684    method public int getType();
1685  }
1686
1687  public final class UnknownAuthority extends android.app.admin.Authority {
1688    ctor public UnknownAuthority();
1689    method public void writeToParcel(@NonNull android.os.Parcel, int);
1690    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.UnknownAuthority> CREATOR;
1691  }
1692
1693  public final class UserRestrictionPolicyKey extends android.app.admin.PolicyKey {
1694    method public int describeContents();
1695    method @NonNull public String getRestriction();
1696    method public void writeToParcel(@NonNull android.os.Parcel, int);
1697    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.UserRestrictionPolicyKey> CREATOR;
1698  }
1699
1700}
1701
1702package android.app.ambientcontext {
1703
1704  public final class AmbientContextEvent implements android.os.Parcelable {
1705    method public int describeContents();
1706    method public int getConfidenceLevel();
1707    method public int getDensityLevel();
1708    method @NonNull public java.time.Instant getEndTime();
1709    method public int getEventType();
1710    method @NonNull public java.time.Instant getStartTime();
1711    method @NonNull public android.os.PersistableBundle getVendorData();
1712    method public void writeToParcel(@NonNull android.os.Parcel, int);
1713    field @NonNull public static final android.os.Parcelable.Creator<android.app.ambientcontext.AmbientContextEvent> CREATOR;
1714    field public static final int EVENT_BACK_DOUBLE_TAP = 3; // 0x3
1715    field public static final int EVENT_COUGH = 1; // 0x1
1716    field public static final int EVENT_SNORE = 2; // 0x2
1717    field public static final int EVENT_UNKNOWN = 0; // 0x0
1718    field public static final int EVENT_VENDOR_WEARABLE_START = 100000; // 0x186a0
1719    field public static final String KEY_VENDOR_WEARABLE_EVENT_NAME = "wearable_event_name";
1720    field public static final int LEVEL_HIGH = 5; // 0x5
1721    field public static final int LEVEL_LOW = 1; // 0x1
1722    field public static final int LEVEL_MEDIUM = 3; // 0x3
1723    field public static final int LEVEL_MEDIUM_HIGH = 4; // 0x4
1724    field public static final int LEVEL_MEDIUM_LOW = 2; // 0x2
1725    field public static final int LEVEL_UNKNOWN = 0; // 0x0
1726  }
1727
1728  public static final class AmbientContextEvent.Builder {
1729    ctor public AmbientContextEvent.Builder();
1730    method @NonNull public android.app.ambientcontext.AmbientContextEvent build();
1731    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setConfidenceLevel(int);
1732    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setDensityLevel(int);
1733    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setEndTime(@NonNull java.time.Instant);
1734    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setEventType(int);
1735    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setStartTime(@NonNull java.time.Instant);
1736    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setVendorData(@NonNull android.os.PersistableBundle);
1737  }
1738
1739  public final class AmbientContextEventRequest implements android.os.Parcelable {
1740    method public int describeContents();
1741    method @NonNull public java.util.Set<java.lang.Integer> getEventTypes();
1742    method @NonNull public android.os.PersistableBundle getOptions();
1743    method public void writeToParcel(@NonNull android.os.Parcel, int);
1744    field @NonNull public static final android.os.Parcelable.Creator<android.app.ambientcontext.AmbientContextEventRequest> CREATOR;
1745  }
1746
1747  public static final class AmbientContextEventRequest.Builder {
1748    ctor public AmbientContextEventRequest.Builder();
1749    method @NonNull public android.app.ambientcontext.AmbientContextEventRequest.Builder addEventType(int);
1750    method @NonNull public android.app.ambientcontext.AmbientContextEventRequest build();
1751    method @NonNull public android.app.ambientcontext.AmbientContextEventRequest.Builder setOptions(@NonNull android.os.PersistableBundle);
1752  }
1753
1754  public final class AmbientContextManager {
1755    method @NonNull public static java.util.List<android.app.ambientcontext.AmbientContextEvent> getEventsFromIntent(@NonNull android.content.Intent);
1756    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>);
1757    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>);
1758    method @RequiresPermission(android.Manifest.permission.ACCESS_AMBIENT_CONTEXT_EVENT) public void startConsentActivity(@NonNull java.util.Set<java.lang.Integer>);
1759    method @RequiresPermission(android.Manifest.permission.ACCESS_AMBIENT_CONTEXT_EVENT) public void unregisterObserver();
1760    field public static final String EXTRA_AMBIENT_CONTEXT_EVENTS = "android.app.ambientcontext.extra.AMBIENT_CONTEXT_EVENTS";
1761    field public static final int STATUS_ACCESS_DENIED = 5; // 0x5
1762    field public static final int STATUS_MICROPHONE_DISABLED = 4; // 0x4
1763    field public static final int STATUS_NOT_SUPPORTED = 2; // 0x2
1764    field public static final int STATUS_SERVICE_UNAVAILABLE = 3; // 0x3
1765    field public static final int STATUS_SUCCESS = 1; // 0x1
1766    field public static final int STATUS_UNKNOWN = 0; // 0x0
1767  }
1768
1769}
1770
1771package android.app.appsearch {
1772
1773  public class AppSearchManagerFrameworkInitializer {
1774    method public static void initialize();
1775  }
1776
1777}
1778
1779package android.app.assist {
1780
1781  public final class ActivityId implements android.os.Parcelable {
1782    method public int describeContents();
1783    method public void writeToParcel(@NonNull android.os.Parcel, int);
1784    field @NonNull public static final android.os.Parcelable.Creator<android.app.assist.ActivityId> CREATOR;
1785  }
1786
1787  public static class AssistStructure.ViewNode {
1788    ctor public AssistStructure.ViewNode();
1789  }
1790
1791}
1792
1793package android.app.backup {
1794
1795  public class BackupDataInput {
1796    ctor public BackupDataInput(java.io.FileDescriptor);
1797  }
1798
1799  public class BackupDataOutput {
1800    ctor public BackupDataOutput(java.io.FileDescriptor);
1801    ctor public BackupDataOutput(java.io.FileDescriptor, long);
1802  }
1803
1804  public class BackupManager {
1805    method @RequiresPermission(android.Manifest.permission.BACKUP) public void backupNow();
1806    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.app.backup.RestoreSession beginRestoreSession();
1807    method @RequiresPermission(android.Manifest.permission.BACKUP) public void cancelBackups();
1808    method @RequiresPermission(android.Manifest.permission.BACKUP) public void excludeKeysFromRestore(@NonNull String, @NonNull java.util.List<java.lang.String>);
1809    method @RequiresPermission(android.Manifest.permission.BACKUP) public long getAvailableRestoreToken(String);
1810    method @NonNull public android.app.backup.BackupRestoreEventLogger getBackupRestoreEventLogger(@NonNull android.app.backup.BackupAgent);
1811    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.Intent getConfigurationIntent(String);
1812    method @RequiresPermission(android.Manifest.permission.BACKUP) public String getCurrentTransport();
1813    method @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.ComponentName getCurrentTransportComponent();
1814    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.Intent getDataManagementIntent(String);
1815    method @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public CharSequence getDataManagementIntentLabel(@NonNull String);
1816    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public String getDataManagementLabel(@NonNull String);
1817    method @NonNull public android.app.backup.BackupRestoreEventLogger getDelayedRestoreLogger();
1818    method @RequiresPermission(android.Manifest.permission.BACKUP) public String getDestinationString(String);
1819    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isAppEligibleForBackup(String);
1820    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isBackupEnabled();
1821    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isBackupServiceActive(android.os.UserHandle);
1822    method @RequiresPermission(android.Manifest.permission.BACKUP) public String[] listAllTransports();
1823    method public void reportDelayedRestoreResult(@NonNull android.app.backup.BackupRestoreEventLogger);
1824    method @RequiresPermission(android.Manifest.permission.BACKUP) public int requestBackup(String[], android.app.backup.BackupObserver);
1825    method @RequiresPermission(android.Manifest.permission.BACKUP) public int requestBackup(String[], android.app.backup.BackupObserver, android.app.backup.BackupManagerMonitor, int);
1826    method @Deprecated public int requestRestore(android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
1827    method @Deprecated @RequiresPermission(android.Manifest.permission.BACKUP) public String selectBackupTransport(String);
1828    method @RequiresPermission(android.Manifest.permission.BACKUP) public void selectBackupTransport(android.content.ComponentName, android.app.backup.SelectBackupTransportCallback);
1829    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setAncestralSerialNumber(long);
1830    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setAutoRestore(boolean);
1831    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setBackupEnabled(boolean);
1832    method @RequiresPermission(allOf={android.Manifest.permission.BACKUP, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}, conditional=true) public void setFrameworkSchedulingEnabled(boolean);
1833    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);
1834    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);
1835    field public static final int ERROR_AGENT_FAILURE = -1003; // 0xfffffc15
1836    field public static final int ERROR_BACKUP_CANCELLED = -2003; // 0xfffff82d
1837    field public static final int ERROR_BACKUP_NOT_ALLOWED = -2001; // 0xfffff82f
1838    field public static final int ERROR_PACKAGE_NOT_FOUND = -2002; // 0xfffff82e
1839    field public static final int ERROR_TRANSPORT_ABORTED = -1000; // 0xfffffc18
1840    field public static final int ERROR_TRANSPORT_INVALID = -2; // 0xfffffffe
1841    field public static final int ERROR_TRANSPORT_PACKAGE_REJECTED = -1002; // 0xfffffc16
1842    field public static final int ERROR_TRANSPORT_QUOTA_EXCEEDED = -1005; // 0xfffffc13
1843    field public static final int ERROR_TRANSPORT_UNAVAILABLE = -1; // 0xffffffff
1844    field public static final int FLAG_NON_INCREMENTAL_BACKUP = 1; // 0x1
1845    field public static final String PACKAGE_MANAGER_SENTINEL = "@pm@";
1846    field public static final int SUCCESS = 0; // 0x0
1847  }
1848
1849  public class BackupManagerMonitor {
1850    ctor public BackupManagerMonitor();
1851    method public void onEvent(android.os.Bundle);
1852    field public static final String EXTRA_LOG_AGENT_LOGGING_RESULTS = "android.app.backup.extra.LOG_AGENT_LOGGING_RESULTS";
1853    field public static final String EXTRA_LOG_CANCEL_ALL = "android.app.backup.extra.LOG_CANCEL_ALL";
1854    field public static final String EXTRA_LOG_EVENT_CATEGORY = "android.app.backup.extra.LOG_EVENT_CATEGORY";
1855    field public static final String EXTRA_LOG_EVENT_ID = "android.app.backup.extra.LOG_EVENT_ID";
1856    field public static final String EXTRA_LOG_EVENT_PACKAGE_LONG_VERSION = "android.app.backup.extra.LOG_EVENT_PACKAGE_FULL_VERSION";
1857    field public static final String EXTRA_LOG_EVENT_PACKAGE_NAME = "android.app.backup.extra.LOG_EVENT_PACKAGE_NAME";
1858    field @Deprecated public static final String EXTRA_LOG_EVENT_PACKAGE_VERSION = "android.app.backup.extra.LOG_EVENT_PACKAGE_VERSION";
1859    field public static final String EXTRA_LOG_EXCEPTION_FULL_BACKUP = "android.app.backup.extra.LOG_EXCEPTION_FULL_BACKUP";
1860    field public static final String EXTRA_LOG_ILLEGAL_KEY = "android.app.backup.extra.LOG_ILLEGAL_KEY";
1861    field public static final String EXTRA_LOG_MANIFEST_PACKAGE_NAME = "android.app.backup.extra.LOG_MANIFEST_PACKAGE_NAME";
1862    field public static final String EXTRA_LOG_OLD_VERSION = "android.app.backup.extra.LOG_OLD_VERSION";
1863    field public static final String EXTRA_LOG_POLICY_ALLOW_APKS = "android.app.backup.extra.LOG_POLICY_ALLOW_APKS";
1864    field public static final String EXTRA_LOG_PREFLIGHT_ERROR = "android.app.backup.extra.LOG_PREFLIGHT_ERROR";
1865    field public static final String EXTRA_LOG_RESTORE_ANYWAY = "android.app.backup.extra.LOG_RESTORE_ANYWAY";
1866    field public static final String EXTRA_LOG_RESTORE_VERSION = "android.app.backup.extra.LOG_RESTORE_VERSION";
1867    field public static final String EXTRA_LOG_WIDGET_PACKAGE_NAME = "android.app.backup.extra.LOG_WIDGET_PACKAGE_NAME";
1868    field public static final int LOG_EVENT_CATEGORY_AGENT = 2; // 0x2
1869    field public static final int LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY = 3; // 0x3
1870    field public static final int LOG_EVENT_CATEGORY_TRANSPORT = 1; // 0x1
1871    field public static final int LOG_EVENT_ID_AGENT_LOGGING_RESULTS = 52; // 0x34
1872    field public static final int LOG_EVENT_ID_APK_NOT_INSTALLED = 40; // 0x28
1873    field public static final int LOG_EVENT_ID_APP_HAS_NO_AGENT = 28; // 0x1c
1874    field public static final int LOG_EVENT_ID_BACKUP_DISABLED = 13; // 0xd
1875    field public static final int LOG_EVENT_ID_CANNOT_RESTORE_WITHOUT_APK = 41; // 0x29
1876    field public static final int LOG_EVENT_ID_CANT_FIND_AGENT = 30; // 0x1e
1877    field public static final int LOG_EVENT_ID_CORRUPT_MANIFEST = 46; // 0x2e
1878    field public static final int LOG_EVENT_ID_DEVICE_NOT_PROVISIONED = 14; // 0xe
1879    field public static final int LOG_EVENT_ID_ERROR_PREFLIGHT = 16; // 0x10
1880    field public static final int LOG_EVENT_ID_EXCEPTION_FULL_BACKUP = 19; // 0x13
1881    field public static final int LOG_EVENT_ID_EXPECTED_DIFFERENT_PACKAGE = 43; // 0x2b
1882    field public static final int LOG_EVENT_ID_FULL_BACKUP_CANCEL = 4; // 0x4
1883    field public static final int LOG_EVENT_ID_FULL_RESTORE_ALLOW_BACKUP_FALSE = 39; // 0x27
1884    field public static final int LOG_EVENT_ID_FULL_RESTORE_SIGNATURE_MISMATCH = 37; // 0x25
1885    field public static final int LOG_EVENT_ID_FULL_RESTORE_TIMEOUT = 45; // 0x2d
1886    field public static final int LOG_EVENT_ID_ILLEGAL_KEY = 5; // 0x5
1887    field public static final int LOG_EVENT_ID_KEY_VALUE_BACKUP_CANCEL = 21; // 0x15
1888    field public static final int LOG_EVENT_ID_KEY_VALUE_RESTORE_TIMEOUT = 31; // 0x1f
1889    field public static final int LOG_EVENT_ID_LOST_TRANSPORT = 25; // 0x19
1890    field public static final int LOG_EVENT_ID_MISSING_SIGNATURE = 42; // 0x2a
1891    field public static final int LOG_EVENT_ID_NO_DATA_TO_SEND = 7; // 0x7
1892    field public static final int LOG_EVENT_ID_NO_PACKAGES = 49; // 0x31
1893    field public static final int LOG_EVENT_ID_NO_PM_METADATA_RECEIVED = 23; // 0x17
1894    field public static final int LOG_EVENT_ID_NO_RESTORE_METADATA_AVAILABLE = 22; // 0x16
1895    field public static final int LOG_EVENT_ID_PACKAGE_INELIGIBLE = 9; // 0x9
1896    field public static final int LOG_EVENT_ID_PACKAGE_KEY_VALUE_PARTICIPANT = 10; // 0xa
1897    field public static final int LOG_EVENT_ID_PACKAGE_NOT_FOUND = 12; // 0xc
1898    field public static final int LOG_EVENT_ID_PACKAGE_NOT_PRESENT = 26; // 0x1a
1899    field public static final int LOG_EVENT_ID_PACKAGE_STOPPED = 11; // 0xb
1900    field public static final int LOG_EVENT_ID_PACKAGE_TRANSPORT_NOT_PRESENT = 15; // 0xf
1901    field public static final int LOG_EVENT_ID_PM_AGENT_HAS_NO_METADATA = 24; // 0x18
1902    field public static final int LOG_EVENT_ID_QUOTA_HIT_PREFLIGHT = 18; // 0x12
1903    field public static final int LOG_EVENT_ID_RESTORE_ANY_VERSION = 34; // 0x22
1904    field public static final int LOG_EVENT_ID_RESTORE_VERSION_HIGHER = 27; // 0x1b
1905    field public static final int LOG_EVENT_ID_SIGNATURE_MISMATCH = 29; // 0x1d
1906    field public static final int LOG_EVENT_ID_SYSTEM_APP_NO_AGENT = 38; // 0x26
1907    field public static final int LOG_EVENT_ID_TRANSPORT_IS_NULL = 50; // 0x32
1908    field public static final int LOG_EVENT_ID_TRANSPORT_NON_INCREMENTAL_BACKUP_REQUIRED = 51; // 0x33
1909    field public static final int LOG_EVENT_ID_UNKNOWN_VERSION = 44; // 0x2c
1910    field public static final int LOG_EVENT_ID_VERSIONS_MATCH = 35; // 0x23
1911    field public static final int LOG_EVENT_ID_VERSION_OF_BACKUP_OLDER = 36; // 0x24
1912    field public static final int LOG_EVENT_ID_WIDGET_METADATA_MISMATCH = 47; // 0x2f
1913    field public static final int LOG_EVENT_ID_WIDGET_UNKNOWN_VERSION = 48; // 0x30
1914  }
1915
1916  public abstract class BackupObserver {
1917    ctor public BackupObserver();
1918    method public void backupFinished(int);
1919    method public void onResult(String, int);
1920    method public void onUpdate(String, android.app.backup.BackupProgress);
1921  }
1922
1923  public class BackupProgress implements android.os.Parcelable {
1924    ctor public BackupProgress(long, long);
1925    method public int describeContents();
1926    method public void writeToParcel(android.os.Parcel, int);
1927    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.BackupProgress> CREATOR;
1928    field public final long bytesExpected;
1929    field public final long bytesTransferred;
1930  }
1931
1932  public final class BackupRestoreEventLogger {
1933    method public void logBackupMetadata(@NonNull String, @NonNull String);
1934    method public void logItemsBackedUp(@NonNull String, int);
1935    method public void logItemsBackupFailed(@NonNull String, int, @Nullable String);
1936    method public void logItemsRestoreFailed(@NonNull String, int, @Nullable String);
1937    method public void logItemsRestored(@NonNull String, int);
1938    method public void logRestoreMetadata(@NonNull String, @NonNull String);
1939  }
1940
1941  public static final class BackupRestoreEventLogger.DataTypeResult implements android.os.Parcelable {
1942    ctor public BackupRestoreEventLogger.DataTypeResult(@NonNull String);
1943    method public int describeContents();
1944    method @NonNull public String getDataType();
1945    method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getErrors();
1946    method public int getFailCount();
1947    method @Nullable public byte[] getMetadataHash();
1948    method public int getSuccessCount();
1949    method public void writeToParcel(@NonNull android.os.Parcel, int);
1950    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.BackupRestoreEventLogger.DataTypeResult> CREATOR;
1951  }
1952
1953  public class BackupTransport {
1954    ctor public BackupTransport();
1955    method public int abortFullRestore();
1956    method public void cancelFullBackup();
1957    method public int checkFullBackupSize(long);
1958    method public int clearBackupData(android.content.pm.PackageInfo);
1959    method public android.content.Intent configurationIntent();
1960    method public String currentDestinationString();
1961    method public android.content.Intent dataManagementIntent();
1962    method @Nullable public CharSequence dataManagementIntentLabel();
1963    method @Deprecated @Nullable public String dataManagementLabel();
1964    method public int finishBackup();
1965    method public void finishRestore();
1966    method public android.app.backup.RestoreSet[] getAvailableRestoreSets();
1967    method @Nullable public android.app.backup.BackupManagerMonitor getBackupManagerMonitor();
1968    method public long getBackupQuota(String, boolean);
1969    method public android.os.IBinder getBinder();
1970    method public long getCurrentRestoreSet();
1971    method public int getNextFullRestoreDataChunk(android.os.ParcelFileDescriptor);
1972    method public int getRestoreData(android.os.ParcelFileDescriptor);
1973    method public int getTransportFlags();
1974    method public int initializeDevice();
1975    method public boolean isAppEligibleForBackup(android.content.pm.PackageInfo, boolean);
1976    method public String name();
1977    method public android.app.backup.RestoreDescription nextRestorePackage();
1978    method public int performBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor, int);
1979    method public int performBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor);
1980    method public int performFullBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor, int);
1981    method public int performFullBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor);
1982    method public long requestBackupTime();
1983    method public long requestFullBackupTime();
1984    method public int sendBackupData(int);
1985    method public int startRestore(long, android.content.pm.PackageInfo[]);
1986    method public String transportDirName();
1987    field public static final int AGENT_ERROR = -1003; // 0xfffffc15
1988    field public static final int AGENT_UNKNOWN = -1004; // 0xfffffc14
1989    field public static final String EXTRA_TRANSPORT_REGISTRATION = "android.app.backup.extra.TRANSPORT_REGISTRATION";
1990    field public static final int FLAG_DATA_NOT_CHANGED = 8; // 0x8
1991    field public static final int FLAG_INCREMENTAL = 2; // 0x2
1992    field public static final int FLAG_NON_INCREMENTAL = 4; // 0x4
1993    field public static final int FLAG_USER_INITIATED = 1; // 0x1
1994    field public static final int NO_MORE_DATA = -1; // 0xffffffff
1995    field public static final int TRANSPORT_ERROR = -1000; // 0xfffffc18
1996    field public static final int TRANSPORT_NON_INCREMENTAL_BACKUP_REQUIRED = -1006; // 0xfffffc12
1997    field public static final int TRANSPORT_NOT_INITIALIZED = -1001; // 0xfffffc17
1998    field public static final int TRANSPORT_OK = 0; // 0x0
1999    field public static final int TRANSPORT_PACKAGE_REJECTED = -1002; // 0xfffffc16
2000    field public static final int TRANSPORT_QUOTA_EXCEEDED = -1005; // 0xfffffc13
2001  }
2002
2003  public class RestoreDescription implements android.os.Parcelable {
2004    ctor public RestoreDescription(String, int);
2005    method public int describeContents();
2006    method public int getDataType();
2007    method public String getPackageName();
2008    method public void writeToParcel(android.os.Parcel, int);
2009    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.RestoreDescription> CREATOR;
2010    field public static final android.app.backup.RestoreDescription NO_MORE_PACKAGES;
2011    field public static final int TYPE_FULL_STREAM = 2; // 0x2
2012    field public static final int TYPE_KEY_VALUE = 1; // 0x1
2013  }
2014
2015  public abstract class RestoreObserver {
2016    method public void restoreSetsAvailable(android.app.backup.RestoreSet[]);
2017  }
2018
2019  public class RestoreSession {
2020    method public void endRestoreSession();
2021    method public int getAvailableRestoreSets(android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
2022    method public int getAvailableRestoreSets(android.app.backup.RestoreObserver);
2023    method public int restoreAll(long, android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
2024    method public int restoreAll(long, android.app.backup.RestoreObserver);
2025    method public int restorePackage(String, android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
2026    method public int restorePackage(String, android.app.backup.RestoreObserver);
2027    method public int restorePackages(long, @Nullable android.app.backup.RestoreObserver, @NonNull java.util.Set<java.lang.String>, @Nullable android.app.backup.BackupManagerMonitor);
2028    method public int restorePackages(long, @Nullable android.app.backup.RestoreObserver, @NonNull java.util.Set<java.lang.String>);
2029  }
2030
2031  public class RestoreSet implements android.os.Parcelable {
2032    ctor public RestoreSet();
2033    ctor public RestoreSet(@Nullable String, @Nullable String, long);
2034    ctor public RestoreSet(@Nullable String, @Nullable String, long, int);
2035    method public int describeContents();
2036    method public void writeToParcel(android.os.Parcel, int);
2037    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.RestoreSet> CREATOR;
2038    field public final int backupTransportFlags;
2039    field @Nullable public String device;
2040    field @Nullable public String name;
2041    field public long token;
2042  }
2043
2044  public abstract class SelectBackupTransportCallback {
2045    ctor public SelectBackupTransportCallback();
2046    method public void onFailure(int);
2047    method public void onSuccess(String);
2048  }
2049
2050}
2051
2052package android.app.cloudsearch {
2053
2054  public class CloudSearchManager {
2055    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);
2056  }
2057
2058  public static interface CloudSearchManager.CallBack {
2059    method public void onSearchFailed(@NonNull android.app.cloudsearch.SearchRequest, @NonNull android.app.cloudsearch.SearchResponse);
2060    method public void onSearchSucceeded(@NonNull android.app.cloudsearch.SearchRequest, @NonNull android.app.cloudsearch.SearchResponse);
2061  }
2062
2063  public final class SearchRequest implements android.os.Parcelable {
2064    method public int describeContents();
2065    method @NonNull public String getCallerPackageName();
2066    method public float getMaxLatencyMillis();
2067    method @NonNull public String getQuery();
2068    method @NonNull public String getRequestId();
2069    method public int getResultNumber();
2070    method public int getResultOffset();
2071    method @NonNull public android.os.Bundle getSearchConstraints();
2072    method public void writeToParcel(@NonNull android.os.Parcel, int);
2073    field public static final String CONSTRAINT_IS_PRESUBMIT_SUGGESTION = "android.app.cloudsearch.IS_PRESUBMIT_SUGGESTION";
2074    field public static final String CONSTRAINT_SEARCH_PROVIDER_FILTER = "android.app.cloudsearch.SEARCH_PROVIDER_FILTER";
2075    field @NonNull public static final android.os.Parcelable.Creator<android.app.cloudsearch.SearchRequest> CREATOR;
2076  }
2077
2078  public static final class SearchRequest.Builder {
2079    ctor public SearchRequest.Builder(@NonNull String);
2080    method @NonNull public android.app.cloudsearch.SearchRequest build();
2081    method @NonNull public android.app.cloudsearch.SearchRequest.Builder setMaxLatencyMillis(float);
2082    method @NonNull public android.app.cloudsearch.SearchRequest.Builder setQuery(@NonNull String);
2083    method @NonNull public android.app.cloudsearch.SearchRequest.Builder setResultNumber(int);
2084    method @NonNull public android.app.cloudsearch.SearchRequest.Builder setResultOffset(int);
2085    method @NonNull public android.app.cloudsearch.SearchRequest.Builder setSearchConstraints(@Nullable android.os.Bundle);
2086  }
2087
2088  public final class SearchResponse implements android.os.Parcelable {
2089    method public int describeContents();
2090    method @NonNull public java.util.List<android.app.cloudsearch.SearchResult> getSearchResults();
2091    method @NonNull public String getSource();
2092    method public int getStatusCode();
2093    method public void writeToParcel(@NonNull android.os.Parcel, int);
2094    field @NonNull public static final android.os.Parcelable.Creator<android.app.cloudsearch.SearchResponse> CREATOR;
2095    field public static final int SEARCH_STATUS_NO_INTERNET = 2; // 0x2
2096    field public static final int SEARCH_STATUS_OK = 0; // 0x0
2097    field public static final int SEARCH_STATUS_TIME_OUT = 1; // 0x1
2098    field public static final int SEARCH_STATUS_UNKNOWN = -1; // 0xffffffff
2099  }
2100
2101  public static final class SearchResponse.Builder {
2102    ctor public SearchResponse.Builder(int);
2103    method @NonNull public android.app.cloudsearch.SearchResponse build();
2104    method @NonNull public android.app.cloudsearch.SearchResponse.Builder setSearchResults(@NonNull java.util.List<android.app.cloudsearch.SearchResult>);
2105    method @NonNull public android.app.cloudsearch.SearchResponse.Builder setStatusCode(int);
2106  }
2107
2108  public final class SearchResult implements android.os.Parcelable {
2109    method public int describeContents();
2110    method @NonNull public android.os.Bundle getExtraInfos();
2111    method public float getScore();
2112    method @NonNull public String getSnippet();
2113    method @NonNull public String getTitle();
2114    method public void writeToParcel(@NonNull android.os.Parcel, int);
2115    field @NonNull public static final android.os.Parcelable.Creator<android.app.cloudsearch.SearchResult> CREATOR;
2116    field public static final String EXTRAINFO_ACTION_APP_CARD = "android.app.cloudsearch.ACTION_APP_CARD";
2117    field public static final String EXTRAINFO_ACTION_BUTTON_IMAGE_PREREGISTERING = "android.app.cloudsearch.ACTION_BUTTON_IMAGE";
2118    field public static final String EXTRAINFO_ACTION_BUTTON_TEXT_PREREGISTERING = "android.app.cloudsearch.ACTION_BUTTON_TEXT";
2119    field public static final String EXTRAINFO_ACTION_INSTALL_BUTTON = "android.app.cloudsearch.ACTION_INSTALL_BUTTON";
2120    field public static final String EXTRAINFO_APP_BADGES = "android.app.cloudsearch.APP_BADGES";
2121    field public static final String EXTRAINFO_APP_CONTAINS_ADS_DISCLAIMER = "android.app.cloudsearch.APP_CONTAINS_ADS_DISCLAIMER";
2122    field public static final String EXTRAINFO_APP_CONTAINS_IAP_DISCLAIMER = "android.app.cloudsearch.APP_CONTAINS_IAP_DISCLAIMER";
2123    field public static final String EXTRAINFO_APP_DEVELOPER_NAME = "android.app.cloudsearch.APP_DEVELOPER_NAME";
2124    field public static final String EXTRAINFO_APP_DOMAIN_URL = "android.app.cloudsearch.APP_DOMAIN_URL";
2125    field public static final String EXTRAINFO_APP_IARC = "android.app.cloudsearch.APP_IARC";
2126    field public static final String EXTRAINFO_APP_ICON = "android.app.cloudsearch.APP_ICON";
2127    field public static final String EXTRAINFO_APP_INSTALL_COUNT = "android.app.cloudsearch.APP_INSTALL_COUNT";
2128    field public static final String EXTRAINFO_APP_PACKAGE_NAME = "android.app.cloudsearch.APP_PACKAGE_NAME";
2129    field public static final String EXTRAINFO_APP_REVIEW_COUNT = "android.app.cloudsearch.APP_REVIEW_COUNT";
2130    field public static final String EXTRAINFO_APP_SIZE_BYTES = "android.app.cloudsearch.APP_SIZE_BYTES";
2131    field public static final String EXTRAINFO_APP_STAR_RATING = "android.app.cloudsearch.APP_STAR_RATING";
2132    field public static final String EXTRAINFO_LONG_DESCRIPTION = "android.app.cloudsearch.LONG_DESCRIPTION";
2133    field public static final String EXTRAINFO_SCREENSHOTS = "android.app.cloudsearch.SCREENSHOTS";
2134    field public static final String EXTRAINFO_SHORT_DESCRIPTION = "android.app.cloudsearch.SHORT_DESCRIPTION";
2135    field public static final String EXTRAINFO_WEB_ICON = "android.app.cloudsearch.WEB_ICON";
2136    field public static final String EXTRAINFO_WEB_URL = "android.app.cloudsearch.WEB_URL";
2137  }
2138
2139  public static final class SearchResult.Builder {
2140    ctor public SearchResult.Builder(@NonNull String, @NonNull android.os.Bundle);
2141    method @NonNull public android.app.cloudsearch.SearchResult build();
2142    method @NonNull public android.app.cloudsearch.SearchResult.Builder setExtraInfos(@NonNull android.os.Bundle);
2143    method @NonNull public android.app.cloudsearch.SearchResult.Builder setScore(float);
2144    method @NonNull public android.app.cloudsearch.SearchResult.Builder setSnippet(@NonNull String);
2145    method @NonNull public android.app.cloudsearch.SearchResult.Builder setTitle(@NonNull String);
2146  }
2147
2148}
2149
2150package android.app.compat {
2151
2152  public final class CompatChanges {
2153    method public static boolean isChangeEnabled(long);
2154    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);
2155    method @RequiresPermission(allOf={"android.permission.READ_COMPAT_CHANGE_CONFIG", "android.permission.LOG_COMPAT_CHANGE"}) public static boolean isChangeEnabled(long, int);
2156    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>>);
2157    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>);
2158    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>>);
2159    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>);
2160  }
2161
2162  public final class PackageOverride {
2163    method public long getMaxVersionCode();
2164    method public long getMinVersionCode();
2165    method public boolean isEnabled();
2166  }
2167
2168  public static final class PackageOverride.Builder {
2169    ctor public PackageOverride.Builder();
2170    method @NonNull public android.app.compat.PackageOverride build();
2171    method @NonNull public android.app.compat.PackageOverride.Builder setEnabled(boolean);
2172    method @NonNull public android.app.compat.PackageOverride.Builder setMaxVersionCode(long);
2173    method @NonNull public android.app.compat.PackageOverride.Builder setMinVersionCode(long);
2174  }
2175
2176}
2177
2178package android.app.contentsuggestions {
2179
2180  public final class ClassificationsRequest implements android.os.Parcelable {
2181    method public int describeContents();
2182    method @NonNull public android.os.Bundle getExtras();
2183    method @NonNull public java.util.List<android.app.contentsuggestions.ContentSelection> getSelections();
2184    method public void writeToParcel(android.os.Parcel, int);
2185    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ClassificationsRequest> CREATOR;
2186  }
2187
2188  public static final class ClassificationsRequest.Builder {
2189    ctor public ClassificationsRequest.Builder(@NonNull java.util.List<android.app.contentsuggestions.ContentSelection>);
2190    method @NonNull public android.app.contentsuggestions.ClassificationsRequest build();
2191    method @NonNull public android.app.contentsuggestions.ClassificationsRequest.Builder setExtras(@NonNull android.os.Bundle);
2192  }
2193
2194  public final class ContentClassification implements android.os.Parcelable {
2195    ctor public ContentClassification(@NonNull String, @NonNull android.os.Bundle);
2196    method public int describeContents();
2197    method @NonNull public android.os.Bundle getExtras();
2198    method @NonNull public String getId();
2199    method public void writeToParcel(android.os.Parcel, int);
2200    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ContentClassification> CREATOR;
2201  }
2202
2203  public final class ContentSelection implements android.os.Parcelable {
2204    ctor public ContentSelection(@NonNull String, @NonNull android.os.Bundle);
2205    method public int describeContents();
2206    method @NonNull public android.os.Bundle getExtras();
2207    method @NonNull public String getId();
2208    method public void writeToParcel(android.os.Parcel, int);
2209    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ContentSelection> CREATOR;
2210  }
2211
2212  public final class ContentSuggestionsManager {
2213    method public void classifyContentSelections(@NonNull android.app.contentsuggestions.ClassificationsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.ClassificationsCallback);
2214    method public boolean isEnabled();
2215    method public void notifyInteraction(@NonNull String, @NonNull android.os.Bundle);
2216    method public void provideContextImage(@NonNull android.graphics.Bitmap, @NonNull android.os.Bundle);
2217    method public void provideContextImage(int, @NonNull android.os.Bundle);
2218    method public void suggestContentSelections(@NonNull android.app.contentsuggestions.SelectionsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.SelectionsCallback);
2219  }
2220
2221  public static interface ContentSuggestionsManager.ClassificationsCallback {
2222    method public void onContentClassificationsAvailable(int, @NonNull java.util.List<android.app.contentsuggestions.ContentClassification>);
2223  }
2224
2225  public static interface ContentSuggestionsManager.SelectionsCallback {
2226    method public void onContentSelectionsAvailable(int, @NonNull java.util.List<android.app.contentsuggestions.ContentSelection>);
2227  }
2228
2229  public final class SelectionsRequest implements android.os.Parcelable {
2230    method public int describeContents();
2231    method @NonNull public android.os.Bundle getExtras();
2232    method @Nullable public android.graphics.Point getInterestPoint();
2233    method public int getTaskId();
2234    method public void writeToParcel(android.os.Parcel, int);
2235    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.SelectionsRequest> CREATOR;
2236  }
2237
2238  public static final class SelectionsRequest.Builder {
2239    ctor public SelectionsRequest.Builder(int);
2240    method @NonNull public android.app.contentsuggestions.SelectionsRequest build();
2241    method @NonNull public android.app.contentsuggestions.SelectionsRequest.Builder setExtras(@NonNull android.os.Bundle);
2242    method @NonNull public android.app.contentsuggestions.SelectionsRequest.Builder setInterestPoint(@NonNull android.graphics.Point);
2243  }
2244
2245}
2246
2247package android.app.job {
2248
2249  public abstract class JobScheduler {
2250    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public abstract int scheduleAsPackage(@NonNull android.app.job.JobInfo, @NonNull String, int, String);
2251  }
2252
2253  public class JobSchedulerFrameworkInitializer {
2254    method public static void registerServiceWrappers();
2255  }
2256
2257}
2258
2259package android.app.people {
2260
2261  public final class PeopleManager {
2262    method @RequiresPermission(android.Manifest.permission.READ_PEOPLE_DATA) public boolean isConversation(@NonNull String, @NonNull String);
2263  }
2264
2265}
2266
2267package android.app.prediction {
2268
2269  public final class AppPredictionContext implements android.os.Parcelable {
2270    method public int describeContents();
2271    method @Nullable public android.os.Bundle getExtras();
2272    method @NonNull public String getPackageName();
2273    method @IntRange(from=0) public int getPredictedTargetCount();
2274    method @NonNull public String getUiSurface();
2275    method public void writeToParcel(@NonNull android.os.Parcel, int);
2276    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionContext> CREATOR;
2277  }
2278
2279  public static final class AppPredictionContext.Builder {
2280    ctor public AppPredictionContext.Builder(@NonNull android.content.Context);
2281    method @NonNull public android.app.prediction.AppPredictionContext build();
2282    method @NonNull public android.app.prediction.AppPredictionContext.Builder setExtras(@Nullable android.os.Bundle);
2283    method @NonNull public android.app.prediction.AppPredictionContext.Builder setPredictedTargetCount(@IntRange(from=0) int);
2284    method @NonNull public android.app.prediction.AppPredictionContext.Builder setUiSurface(@NonNull String);
2285  }
2286
2287  public final class AppPredictionManager {
2288    method @NonNull public android.app.prediction.AppPredictor createAppPredictionSession(@NonNull android.app.prediction.AppPredictionContext);
2289  }
2290
2291  public final class AppPredictionSessionId implements android.os.Parcelable {
2292    method public int describeContents();
2293    method public void writeToParcel(android.os.Parcel, int);
2294    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionSessionId> CREATOR;
2295  }
2296
2297  public final class AppPredictor {
2298    method public void destroy();
2299    method public void notifyAppTargetEvent(@NonNull android.app.prediction.AppTargetEvent);
2300    method public void notifyLaunchLocationShown(@NonNull String, @NonNull java.util.List<android.app.prediction.AppTargetId>);
2301    method public void registerPredictionUpdates(@NonNull java.util.concurrent.Executor, @NonNull android.app.prediction.AppPredictor.Callback);
2302    method public void requestPredictionUpdate();
2303    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>>);
2304    method public void unregisterPredictionUpdates(@NonNull android.app.prediction.AppPredictor.Callback);
2305  }
2306
2307  public static interface AppPredictor.Callback {
2308    method public void onTargetsAvailable(@NonNull java.util.List<android.app.prediction.AppTarget>);
2309  }
2310
2311  public final class AppTarget implements android.os.Parcelable {
2312    method public int describeContents();
2313    method @Nullable public String getClassName();
2314    method @NonNull public android.app.prediction.AppTargetId getId();
2315    method @NonNull public String getPackageName();
2316    method @IntRange(from=0) public int getRank();
2317    method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
2318    method @NonNull public android.os.UserHandle getUser();
2319    method public void writeToParcel(android.os.Parcel, int);
2320    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTarget> CREATOR;
2321  }
2322
2323  public static final class AppTarget.Builder {
2324    ctor public AppTarget.Builder(@NonNull android.app.prediction.AppTargetId, @NonNull String, @NonNull android.os.UserHandle);
2325    ctor public AppTarget.Builder(@NonNull android.app.prediction.AppTargetId, @NonNull android.content.pm.ShortcutInfo);
2326    method @NonNull public android.app.prediction.AppTarget build();
2327    method @NonNull public android.app.prediction.AppTarget.Builder setClassName(@NonNull String);
2328    method @NonNull public android.app.prediction.AppTarget.Builder setRank(@IntRange(from=0) int);
2329  }
2330
2331  public final class AppTargetEvent implements android.os.Parcelable {
2332    method public int describeContents();
2333    method public int getAction();
2334    method @Nullable public String getLaunchLocation();
2335    method @Nullable public android.app.prediction.AppTarget getTarget();
2336    method public void writeToParcel(android.os.Parcel, int);
2337    field public static final int ACTION_DISMISS = 2; // 0x2
2338    field public static final int ACTION_LAUNCH = 1; // 0x1
2339    field public static final int ACTION_PIN = 3; // 0x3
2340    field public static final int ACTION_UNDISMISS = 5; // 0x5
2341    field public static final int ACTION_UNPIN = 4; // 0x4
2342    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetEvent> CREATOR;
2343  }
2344
2345  public static final class AppTargetEvent.Builder {
2346    ctor public AppTargetEvent.Builder(@Nullable android.app.prediction.AppTarget, int);
2347    method @NonNull public android.app.prediction.AppTargetEvent build();
2348    method @NonNull public android.app.prediction.AppTargetEvent.Builder setLaunchLocation(@Nullable String);
2349  }
2350
2351  public final class AppTargetId implements android.os.Parcelable {
2352    ctor public AppTargetId(@NonNull String);
2353    method public int describeContents();
2354    method public void writeToParcel(android.os.Parcel, int);
2355    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetId> CREATOR;
2356  }
2357
2358}
2359
2360package android.app.role {
2361
2362  public interface OnRoleHoldersChangedListener {
2363    method public void onRoleHoldersChanged(@NonNull String, @NonNull android.os.UserHandle);
2364  }
2365
2366  @Deprecated public abstract class RoleControllerService extends android.app.Service {
2367    ctor @Deprecated public RoleControllerService();
2368    method @Deprecated @WorkerThread public abstract boolean onAddRoleHolder(@NonNull String, @NonNull String, int);
2369    method @Deprecated @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
2370    method @Deprecated @WorkerThread public abstract boolean onClearRoleHolders(@NonNull String, int);
2371    method @Deprecated @WorkerThread public abstract boolean onGrantDefaultRoles();
2372    method @Deprecated public abstract boolean onIsApplicationQualifiedForRole(@NonNull String, @NonNull String);
2373    method @Deprecated public boolean onIsApplicationVisibleForRole(@NonNull String, @NonNull String);
2374    method @Deprecated public abstract boolean onIsRoleVisible(@NonNull String);
2375    method @Deprecated @WorkerThread public abstract boolean onRemoveRoleHolder(@NonNull String, @NonNull String, int);
2376    field @Deprecated public static final String SERVICE_INTERFACE = "android.app.role.RoleControllerService";
2377  }
2378
2379  public final class RoleManager {
2380    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);
2381    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>);
2382    method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean addRoleHolderFromController(@NonNull String, @NonNull String);
2383    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>);
2384    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_DEFAULT_APPLICATIONS) public String getDefaultApplication(@NonNull String);
2385    method @Deprecated @NonNull @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public java.util.List<java.lang.String> getHeldRolesFromController(@NonNull String);
2386    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public java.util.List<java.lang.String> getRoleHolders(@NonNull String);
2387    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public java.util.List<java.lang.String> getRoleHoldersAsUser(@NonNull String, @NonNull android.os.UserHandle);
2388    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>);
2389    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public boolean isBypassingRoleQualification();
2390    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>);
2391    method @RequiresPermission(android.Manifest.permission.OBSERVE_ROLE_HOLDERS) public void removeOnRoleHoldersChangedListenerAsUser(@NonNull android.app.role.OnRoleHoldersChangedListener, @NonNull android.os.UserHandle);
2392    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>);
2393    method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean removeRoleHolderFromController(@NonNull String, @NonNull String);
2394    method @RequiresPermission(android.Manifest.permission.BYPASS_ROLE_QUALIFICATION) public void setBypassingRoleQualification(boolean);
2395    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>);
2396    method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public void setRoleNamesFromController(@NonNull java.util.List<java.lang.String>);
2397    field public static final int MANAGE_HOLDERS_FLAG_DONT_KILL_APP = 1; // 0x1
2398    field public static final String ROLE_DEVICE_POLICY_MANAGEMENT = "android.app.role.DEVICE_POLICY_MANAGEMENT";
2399    field public static final String ROLE_FINANCED_DEVICE_KIOSK = "android.app.role.FINANCED_DEVICE_KIOSK";
2400    field public static final String ROLE_SYSTEM_ACTIVITY_RECOGNIZER = "android.app.role.SYSTEM_ACTIVITY_RECOGNIZER";
2401    field public static final String ROLE_SYSTEM_CALL_STREAMING = "android.app.role.SYSTEM_CALL_STREAMING";
2402    field public static final String ROLE_SYSTEM_SUPERVISION = "android.app.role.SYSTEM_SUPERVISION";
2403    field public static final String ROLE_SYSTEM_WELLBEING = "android.app.role.SYSTEM_WELLBEING";
2404  }
2405
2406}
2407
2408package android.app.search {
2409
2410  public final class Query implements android.os.Parcelable {
2411    ctor public Query(@NonNull String, long, @NonNull android.os.Bundle);
2412    ctor public Query(@NonNull String, long);
2413    method public int describeContents();
2414    method @NonNull public android.os.Bundle getExtras();
2415    method @NonNull public String getInput();
2416    method public long getTimestampMillis();
2417    method public void writeToParcel(@NonNull android.os.Parcel, int);
2418    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.Query> CREATOR;
2419    field public static final String EXTRA_IME_HEIGHT = "android.app.search.extra.IME_HEIGHT";
2420  }
2421
2422  public final class SearchAction implements android.os.Parcelable {
2423    method public int describeContents();
2424    method @Nullable public CharSequence getContentDescription();
2425    method @Nullable public android.os.Bundle getExtras();
2426    method @Nullable public android.graphics.drawable.Icon getIcon();
2427    method @NonNull public String getId();
2428    method @Nullable public android.content.Intent getIntent();
2429    method @Nullable public android.app.PendingIntent getPendingIntent();
2430    method @Nullable public CharSequence getSubtitle();
2431    method @NonNull public CharSequence getTitle();
2432    method @Nullable public android.os.UserHandle getUserHandle();
2433    method public void writeToParcel(@NonNull android.os.Parcel, int);
2434    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchAction> CREATOR;
2435  }
2436
2437  public static final class SearchAction.Builder {
2438    ctor public SearchAction.Builder(@NonNull String, @NonNull String);
2439    method @NonNull public android.app.search.SearchAction build();
2440    method @NonNull public android.app.search.SearchAction.Builder setContentDescription(@Nullable CharSequence);
2441    method @NonNull public android.app.search.SearchAction.Builder setExtras(@Nullable android.os.Bundle);
2442    method @NonNull public android.app.search.SearchAction.Builder setIcon(@Nullable android.graphics.drawable.Icon);
2443    method @NonNull public android.app.search.SearchAction.Builder setIntent(@Nullable android.content.Intent);
2444    method @NonNull public android.app.search.SearchAction.Builder setPendingIntent(@Nullable android.app.PendingIntent);
2445    method @NonNull public android.app.search.SearchAction.Builder setSubtitle(@Nullable CharSequence);
2446    method @NonNull public android.app.search.SearchAction.Builder setUserHandle(@Nullable android.os.UserHandle);
2447  }
2448
2449  public final class SearchContext implements android.os.Parcelable {
2450    ctor public SearchContext(int, int);
2451    ctor public SearchContext(int, int, @NonNull android.os.Bundle);
2452    method public int describeContents();
2453    method @NonNull public android.os.Bundle getExtras();
2454    method @Nullable public String getPackageName();
2455    method @NonNull public int getResultTypes();
2456    method @NonNull public int getTimeoutMillis();
2457    method public void writeToParcel(@NonNull android.os.Parcel, int);
2458    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchContext> CREATOR;
2459  }
2460
2461  public final class SearchSession implements java.lang.AutoCloseable {
2462    method public void close();
2463    method protected void finalize();
2464    method public void notifyEvent(@NonNull android.app.search.Query, @NonNull android.app.search.SearchTargetEvent);
2465    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>>);
2466    method public void registerEmptyQueryResultUpdateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.app.search.SearchSession.Callback);
2467    method public void unregisterEmptyQueryResultUpdateCallback(@NonNull android.app.search.SearchSession.Callback);
2468  }
2469
2470  public static interface SearchSession.Callback {
2471    method public void onTargetsAvailable(@NonNull java.util.List<android.app.search.SearchTarget>);
2472  }
2473
2474  public final class SearchSessionId implements android.os.Parcelable {
2475    method public int describeContents();
2476    method public void writeToParcel(@NonNull android.os.Parcel, int);
2477    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchSessionId> CREATOR;
2478  }
2479
2480  public final class SearchTarget implements android.os.Parcelable {
2481    method public int describeContents();
2482    method @Nullable public android.appwidget.AppWidgetProviderInfo getAppWidgetProviderInfo();
2483    method @NonNull public android.os.Bundle getExtras();
2484    method @NonNull public String getId();
2485    method @NonNull public String getLayoutType();
2486    method @NonNull public String getPackageName();
2487    method @NonNull public String getParentId();
2488    method public int getResultType();
2489    method public float getScore();
2490    method @Nullable public android.app.search.SearchAction getSearchAction();
2491    method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
2492    method @Nullable public android.net.Uri getSliceUri();
2493    method @NonNull public android.os.UserHandle getUserHandle();
2494    method public boolean isHidden();
2495    method public void writeToParcel(@NonNull android.os.Parcel, int);
2496    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchTarget> CREATOR;
2497    field public static final String LAYOUT_TYPE_ICON = "icon";
2498    field public static final String LAYOUT_TYPE_ICON_ROW = "icon_row";
2499    field public static final String LAYOUT_TYPE_SHORT_ICON_ROW = "short_icon_row";
2500    field public static final int RESULT_TYPE_APPLICATION = 1; // 0x1
2501    field public static final int RESULT_TYPE_SHORTCUT = 2; // 0x2
2502    field public static final int RESULT_TYPE_SLICE = 4; // 0x4
2503    field public static final int RESULT_TYPE_WIDGETS = 8; // 0x8
2504  }
2505
2506  public static final class SearchTarget.Builder {
2507    ctor public SearchTarget.Builder(int, @NonNull String, @NonNull String);
2508    method @NonNull public android.app.search.SearchTarget build();
2509    method @NonNull public android.app.search.SearchTarget.Builder setAppWidgetProviderInfo(@NonNull android.appwidget.AppWidgetProviderInfo);
2510    method @NonNull public android.app.search.SearchTarget.Builder setExtras(@NonNull android.os.Bundle);
2511    method @NonNull public android.app.search.SearchTarget.Builder setHidden(boolean);
2512    method @NonNull public android.app.search.SearchTarget.Builder setPackageName(@NonNull String);
2513    method @NonNull public android.app.search.SearchTarget.Builder setParentId(@NonNull String);
2514    method @NonNull public android.app.search.SearchTarget.Builder setScore(@FloatRange(from=0.0f, to=1.0f) float);
2515    method @NonNull public android.app.search.SearchTarget.Builder setSearchAction(@Nullable android.app.search.SearchAction);
2516    method @NonNull public android.app.search.SearchTarget.Builder setShortcutInfo(@NonNull android.content.pm.ShortcutInfo);
2517    method @NonNull public android.app.search.SearchTarget.Builder setSliceUri(@NonNull android.net.Uri);
2518    method @NonNull public android.app.search.SearchTarget.Builder setUserHandle(@NonNull android.os.UserHandle);
2519  }
2520
2521  public final class SearchTargetEvent implements android.os.Parcelable {
2522    method public int describeContents();
2523    method public int getAction();
2524    method public int getFlags();
2525    method @Nullable public String getLaunchLocation();
2526    method @NonNull public String getTargetId();
2527    method @NonNull public java.util.List<java.lang.String> getTargetIds();
2528    method public void writeToParcel(@NonNull android.os.Parcel, int);
2529    field public static final int ACTION_DELETE = 9; // 0x9
2530    field public static final int ACTION_DISMISS = 10; // 0xa
2531    field public static final int ACTION_DRAGNDROP = 7; // 0x7
2532    field public static final int ACTION_LAUNCH_KEYBOARD_FOCUS = 6; // 0x6
2533    field public static final int ACTION_LAUNCH_TOUCH = 5; // 0x5
2534    field public static final int ACTION_LONGPRESS = 4; // 0x4
2535    field public static final int ACTION_SURFACE_INVISIBLE = 8; // 0x8
2536    field public static final int ACTION_SURFACE_VISIBLE = 1; // 0x1
2537    field public static final int ACTION_TAP = 3; // 0x3
2538    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchTargetEvent> CREATOR;
2539    field public static final int FLAG_IME_SHOWN = 1; // 0x1
2540  }
2541
2542  public static final class SearchTargetEvent.Builder {
2543    ctor public SearchTargetEvent.Builder(@NonNull String, int);
2544    ctor public SearchTargetEvent.Builder(@NonNull java.util.List<java.lang.String>, int);
2545    method @NonNull public android.app.search.SearchTargetEvent build();
2546    method @NonNull public android.app.search.SearchTargetEvent.Builder setFlags(int);
2547    method @NonNull public android.app.search.SearchTargetEvent.Builder setLaunchLocation(@Nullable String);
2548  }
2549
2550  public final class SearchUiManager {
2551    method @NonNull public android.app.search.SearchSession createSearchSession(@NonNull android.app.search.SearchContext);
2552  }
2553
2554}
2555
2556package android.app.smartspace {
2557
2558  public final class SmartspaceAction implements android.os.Parcelable {
2559    method public int describeContents();
2560    method @Nullable public CharSequence getContentDescription();
2561    method @Nullable public android.os.Bundle getExtras();
2562    method @Nullable public android.graphics.drawable.Icon getIcon();
2563    method @NonNull public String getId();
2564    method @Nullable public android.content.Intent getIntent();
2565    method @Nullable public android.app.PendingIntent getPendingIntent();
2566    method @Nullable public CharSequence getSubtitle();
2567    method @NonNull public CharSequence getTitle();
2568    method @Nullable public android.os.UserHandle getUserHandle();
2569    method public void writeToParcel(@NonNull android.os.Parcel, int);
2570    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceAction> CREATOR;
2571  }
2572
2573  public static final class SmartspaceAction.Builder {
2574    ctor public SmartspaceAction.Builder(@NonNull String, @NonNull String);
2575    method @NonNull public android.app.smartspace.SmartspaceAction build();
2576    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setContentDescription(@Nullable CharSequence);
2577    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setExtras(@Nullable android.os.Bundle);
2578    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setIcon(@Nullable android.graphics.drawable.Icon);
2579    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setIntent(@Nullable android.content.Intent);
2580    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setPendingIntent(@Nullable android.app.PendingIntent);
2581    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setSubtitle(@Nullable CharSequence);
2582    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setUserHandle(@Nullable android.os.UserHandle);
2583  }
2584
2585  public final class SmartspaceConfig implements android.os.Parcelable {
2586    method public int describeContents();
2587    method @Nullable public android.os.Bundle getExtras();
2588    method @NonNull public String getPackageName();
2589    method @NonNull public int getSmartspaceTargetCount();
2590    method @NonNull public String getUiSurface();
2591    method public void writeToParcel(@NonNull android.os.Parcel, int);
2592    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceConfig> CREATOR;
2593  }
2594
2595  public static final class SmartspaceConfig.Builder {
2596    ctor public SmartspaceConfig.Builder(@NonNull android.content.Context, @NonNull String);
2597    method @NonNull public android.app.smartspace.SmartspaceConfig build();
2598    method @NonNull public android.app.smartspace.SmartspaceConfig.Builder setExtras(@NonNull android.os.Bundle);
2599    method @NonNull public android.app.smartspace.SmartspaceConfig.Builder setSmartspaceTargetCount(@IntRange(from=0, to=50) int);
2600  }
2601
2602  public final class SmartspaceManager {
2603    method @NonNull public android.app.smartspace.SmartspaceSession createSmartspaceSession(@NonNull android.app.smartspace.SmartspaceConfig);
2604  }
2605
2606  public final class SmartspaceSession implements java.lang.AutoCloseable {
2607    method public void addOnTargetsAvailableListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.smartspace.SmartspaceSession.OnTargetsAvailableListener);
2608    method public void close();
2609    method protected void finalize();
2610    method public void notifySmartspaceEvent(@NonNull android.app.smartspace.SmartspaceTargetEvent);
2611    method public void removeOnTargetsAvailableListener(@NonNull android.app.smartspace.SmartspaceSession.OnTargetsAvailableListener);
2612    method public void requestSmartspaceUpdate();
2613  }
2614
2615  public static interface SmartspaceSession.OnTargetsAvailableListener {
2616    method public void onTargetsAvailable(@NonNull java.util.List<android.app.smartspace.SmartspaceTarget>);
2617  }
2618
2619  public final class SmartspaceSessionId implements android.os.Parcelable {
2620    method public int describeContents();
2621    method @Nullable public String getId();
2622    method @NonNull public android.os.UserHandle getUserHandle();
2623    method public void writeToParcel(@NonNull android.os.Parcel, int);
2624    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceSessionId> CREATOR;
2625  }
2626
2627  public final class SmartspaceTarget implements android.os.Parcelable {
2628    method public int describeContents();
2629    method @NonNull public java.util.List<android.app.smartspace.SmartspaceAction> getActionChips();
2630    method @Nullable public String getAssociatedSmartspaceTargetId();
2631    method @Nullable public android.app.smartspace.SmartspaceAction getBaseAction();
2632    method @NonNull public android.content.ComponentName getComponentName();
2633    method public long getCreationTimeMillis();
2634    method public long getExpiryTimeMillis();
2635    method public int getFeatureType();
2636    method @Nullable public android.app.smartspace.SmartspaceAction getHeaderAction();
2637    method @NonNull public java.util.List<android.app.smartspace.SmartspaceAction> getIconGrid();
2638    method public float getScore();
2639    method @Nullable public android.net.Uri getSliceUri();
2640    method @NonNull public String getSmartspaceTargetId();
2641    method @Nullable public String getSourceNotificationKey();
2642    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData getTemplateData();
2643    method @NonNull public android.os.UserHandle getUserHandle();
2644    method @Nullable public android.appwidget.AppWidgetProviderInfo getWidget();
2645    method public boolean isSensitive();
2646    method public boolean shouldShowExpanded();
2647    method public void writeToParcel(@NonNull android.os.Parcel, int);
2648    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceTarget> CREATOR;
2649    field public static final int FEATURE_ALARM = 7; // 0x7
2650    field public static final int FEATURE_BEDTIME_ROUTINE = 16; // 0x10
2651    field public static final int FEATURE_BLAZE_BUILD_PROGRESS = 40; // 0x28
2652    field public static final int FEATURE_CALENDAR = 2; // 0x2
2653    field public static final int FEATURE_COMMUTE_TIME = 3; // 0x3
2654    field public static final int FEATURE_CONSENT = 11; // 0xb
2655    field public static final int FEATURE_CROSS_DEVICE_TIMER = 32; // 0x20
2656    field public static final int FEATURE_DOORBELL = 30; // 0x1e
2657    field public static final int FEATURE_DRIVING_MODE = 26; // 0x1a
2658    field public static final int FEATURE_EARTHQUAKE_ALERT = 38; // 0x26
2659    field public static final int FEATURE_EARTHQUAKE_OCCURRED = 41; // 0x29
2660    field public static final int FEATURE_ETA_MONITORING = 18; // 0x12
2661    field public static final int FEATURE_FITNESS_TRACKING = 17; // 0x11
2662    field public static final int FEATURE_FLASHLIGHT = 28; // 0x1c
2663    field public static final int FEATURE_FLIGHT = 4; // 0x4
2664    field public static final int FEATURE_GAS_STATION_PAYMENT = 24; // 0x18
2665    field public static final int FEATURE_HOLIDAY_ALARM = 34; // 0x22
2666    field public static final int FEATURE_LOYALTY_CARD = 14; // 0xe
2667    field public static final int FEATURE_MEDIA = 15; // 0xf
2668    field public static final int FEATURE_MEDIA_HEADS_UP = 36; // 0x24
2669    field public static final int FEATURE_MEDIA_RESUME = 31; // 0x1f
2670    field public static final int FEATURE_MISSED_CALL = 19; // 0x13
2671    field public static final int FEATURE_ONBOARDING = 8; // 0x8
2672    field public static final int FEATURE_PACKAGE_TRACKING = 20; // 0x14
2673    field public static final int FEATURE_PAIRED_DEVICE_STATE = 25; // 0x19
2674    field public static final int FEATURE_REMINDER = 6; // 0x6
2675    field public static final int FEATURE_SAFETY_CHECK = 35; // 0x23
2676    field public static final int FEATURE_SEVERE_WEATHER_ALERT = 33; // 0x21
2677    field public static final int FEATURE_SHOPPING_LIST = 13; // 0xd
2678    field public static final int FEATURE_SLEEP_SUMMARY = 27; // 0x1b
2679    field public static final int FEATURE_SPORTS = 9; // 0x9
2680    field public static final int FEATURE_STEP_COUNTING = 37; // 0x25
2681    field public static final int FEATURE_STEP_DATE = 39; // 0x27
2682    field public static final int FEATURE_STOCK_PRICE_CHANGE = 12; // 0xc
2683    field public static final int FEATURE_STOPWATCH = 22; // 0x16
2684    field public static final int FEATURE_TIMER = 21; // 0x15
2685    field public static final int FEATURE_TIME_TO_LEAVE = 29; // 0x1d
2686    field public static final int FEATURE_TIPS = 5; // 0x5
2687    field public static final int FEATURE_UNDEFINED = 0; // 0x0
2688    field public static final int FEATURE_UPCOMING_ALARM = 23; // 0x17
2689    field public static final int FEATURE_WEATHER = 1; // 0x1
2690    field public static final int FEATURE_WEATHER_ALERT = 10; // 0xa
2691    field public static final int UI_TEMPLATE_CAROUSEL = 4; // 0x4
2692    field public static final int UI_TEMPLATE_COMBINED_CARDS = 6; // 0x6
2693    field public static final int UI_TEMPLATE_DEFAULT = 1; // 0x1
2694    field public static final int UI_TEMPLATE_HEAD_TO_HEAD = 5; // 0x5
2695    field public static final int UI_TEMPLATE_SUB_CARD = 7; // 0x7
2696    field public static final int UI_TEMPLATE_SUB_IMAGE = 2; // 0x2
2697    field public static final int UI_TEMPLATE_SUB_LIST = 3; // 0x3
2698    field public static final int UI_TEMPLATE_UNDEFINED = 0; // 0x0
2699  }
2700
2701  public static final class SmartspaceTarget.Builder {
2702    ctor public SmartspaceTarget.Builder(@NonNull String, @NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
2703    method @NonNull public android.app.smartspace.SmartspaceTarget build();
2704    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setActionChips(@NonNull java.util.List<android.app.smartspace.SmartspaceAction>);
2705    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setAssociatedSmartspaceTargetId(@NonNull String);
2706    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setBaseAction(@NonNull android.app.smartspace.SmartspaceAction);
2707    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setCreationTimeMillis(long);
2708    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setExpiryTimeMillis(long);
2709    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setFeatureType(int);
2710    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setHeaderAction(@NonNull android.app.smartspace.SmartspaceAction);
2711    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setIconGrid(@NonNull java.util.List<android.app.smartspace.SmartspaceAction>);
2712    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setScore(float);
2713    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSensitive(boolean);
2714    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setShouldShowExpanded(boolean);
2715    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSliceUri(@NonNull android.net.Uri);
2716    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSourceNotificationKey(@NonNull String);
2717    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setTemplateData(@Nullable android.app.smartspace.uitemplatedata.BaseTemplateData);
2718    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setWidget(@NonNull android.appwidget.AppWidgetProviderInfo);
2719  }
2720
2721  public final class SmartspaceTargetEvent implements android.os.Parcelable {
2722    method public int describeContents();
2723    method @NonNull public int getEventType();
2724    method @Nullable public String getSmartspaceActionId();
2725    method @Nullable public android.app.smartspace.SmartspaceTarget getSmartspaceTarget();
2726    method public void writeToParcel(@NonNull android.os.Parcel, int);
2727    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceTargetEvent> CREATOR;
2728    field public static final int EVENT_TARGET_BLOCK = 5; // 0x5
2729    field public static final int EVENT_TARGET_DISMISS = 4; // 0x4
2730    field public static final int EVENT_TARGET_HIDDEN = 3; // 0x3
2731    field public static final int EVENT_TARGET_INTERACTION = 1; // 0x1
2732    field public static final int EVENT_TARGET_SHOWN = 2; // 0x2
2733    field public static final int EVENT_UI_SURFACE_HIDDEN = 7; // 0x7
2734    field public static final int EVENT_UI_SURFACE_SHOWN = 6; // 0x6
2735  }
2736
2737  public static final class SmartspaceTargetEvent.Builder {
2738    ctor public SmartspaceTargetEvent.Builder(int);
2739    method @NonNull public android.app.smartspace.SmartspaceTargetEvent build();
2740    method @NonNull public android.app.smartspace.SmartspaceTargetEvent.Builder setSmartspaceActionId(@NonNull String);
2741    method @NonNull public android.app.smartspace.SmartspaceTargetEvent.Builder setSmartspaceTarget(@NonNull android.app.smartspace.SmartspaceTarget);
2742  }
2743
2744}
2745
2746package android.app.smartspace.uitemplatedata {
2747
2748  public class BaseTemplateData implements android.os.Parcelable {
2749    method public int describeContents();
2750    method public int getLayoutWeight();
2751    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo getPrimaryItem();
2752    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo getSubtitleItem();
2753    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo getSubtitleSupplementalItem();
2754    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo getSupplementalAlarmItem();
2755    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo getSupplementalLineItem();
2756    method public int getTemplateType();
2757    method public void writeToParcel(@NonNull android.os.Parcel, int);
2758    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.BaseTemplateData> CREATOR;
2759  }
2760
2761  public static class BaseTemplateData.Builder {
2762    ctor public BaseTemplateData.Builder(int);
2763    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData build();
2764    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setLayoutWeight(int);
2765    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setPrimaryItem(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo);
2766    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSubtitleItem(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo);
2767    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSubtitleSupplementalItem(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo);
2768    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSupplementalAlarmItem(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo);
2769    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSupplementalLineItem(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo);
2770  }
2771
2772  public static final class BaseTemplateData.SubItemInfo implements android.os.Parcelable {
2773    method public int describeContents();
2774    method @Nullable public android.app.smartspace.uitemplatedata.Icon getIcon();
2775    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemLoggingInfo getLoggingInfo();
2776    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getTapAction();
2777    method @Nullable public android.app.smartspace.uitemplatedata.Text getText();
2778    method public void writeToParcel(@NonNull android.os.Parcel, int);
2779    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo> CREATOR;
2780  }
2781
2782  public static final class BaseTemplateData.SubItemInfo.Builder {
2783    ctor public BaseTemplateData.SubItemInfo.Builder();
2784    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo build();
2785    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo.Builder setIcon(@NonNull android.app.smartspace.uitemplatedata.Icon);
2786    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo.Builder setLoggingInfo(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemLoggingInfo);
2787    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo.Builder setTapAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
2788    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo.Builder setText(@NonNull android.app.smartspace.uitemplatedata.Text);
2789  }
2790
2791  public static final class BaseTemplateData.SubItemLoggingInfo implements android.os.Parcelable {
2792    method public int describeContents();
2793    method public int getFeatureType();
2794    method public int getInstanceId();
2795    method @Nullable public CharSequence getPackageName();
2796    method public void writeToParcel(@NonNull android.os.Parcel, int);
2797    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemLoggingInfo> CREATOR;
2798  }
2799
2800  public static final class BaseTemplateData.SubItemLoggingInfo.Builder {
2801    ctor public BaseTemplateData.SubItemLoggingInfo.Builder(int, int);
2802    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemLoggingInfo build();
2803    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemLoggingInfo.Builder setPackageName(@NonNull CharSequence);
2804  }
2805
2806  public final class CarouselTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
2807    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getCarouselAction();
2808    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem> getCarouselItems();
2809    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.CarouselTemplateData> CREATOR;
2810  }
2811
2812  public static final class CarouselTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
2813    ctor public CarouselTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem>);
2814    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData build();
2815    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.Builder setCarouselAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
2816  }
2817
2818  public static final class CarouselTemplateData.CarouselItem implements android.os.Parcelable {
2819    method public int describeContents();
2820    method @Nullable public android.app.smartspace.uitemplatedata.Icon getImage();
2821    method @Nullable public android.app.smartspace.uitemplatedata.Text getLowerText();
2822    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getTapAction();
2823    method @Nullable public android.app.smartspace.uitemplatedata.Text getUpperText();
2824    method public void writeToParcel(@NonNull android.os.Parcel, int);
2825    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem> CREATOR;
2826  }
2827
2828  public static final class CarouselTemplateData.CarouselItem.Builder {
2829    ctor public CarouselTemplateData.CarouselItem.Builder();
2830    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem build();
2831    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem.Builder setImage(@Nullable android.app.smartspace.uitemplatedata.Icon);
2832    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem.Builder setLowerText(@Nullable android.app.smartspace.uitemplatedata.Text);
2833    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem.Builder setTapAction(@Nullable android.app.smartspace.uitemplatedata.TapAction);
2834    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem.Builder setUpperText(@Nullable android.app.smartspace.uitemplatedata.Text);
2835  }
2836
2837  public final class CombinedCardsTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
2838    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.BaseTemplateData> getCombinedCardDataList();
2839    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.CombinedCardsTemplateData> CREATOR;
2840  }
2841
2842  public static final class CombinedCardsTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
2843    ctor public CombinedCardsTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.BaseTemplateData>);
2844    method @NonNull public android.app.smartspace.uitemplatedata.CombinedCardsTemplateData build();
2845  }
2846
2847  public final class HeadToHeadTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
2848    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getHeadToHeadAction();
2849    method @Nullable public android.app.smartspace.uitemplatedata.Icon getHeadToHeadFirstCompetitorIcon();
2850    method @Nullable public android.app.smartspace.uitemplatedata.Text getHeadToHeadFirstCompetitorText();
2851    method @Nullable public android.app.smartspace.uitemplatedata.Icon getHeadToHeadSecondCompetitorIcon();
2852    method @Nullable public android.app.smartspace.uitemplatedata.Text getHeadToHeadSecondCompetitorText();
2853    method @Nullable public android.app.smartspace.uitemplatedata.Text getHeadToHeadTitle();
2854    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.HeadToHeadTemplateData> CREATOR;
2855  }
2856
2857  public static final class HeadToHeadTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
2858    ctor public HeadToHeadTemplateData.Builder();
2859    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData build();
2860    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadAction(@Nullable android.app.smartspace.uitemplatedata.TapAction);
2861    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadFirstCompetitorIcon(@Nullable android.app.smartspace.uitemplatedata.Icon);
2862    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadFirstCompetitorText(@Nullable android.app.smartspace.uitemplatedata.Text);
2863    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadSecondCompetitorIcon(@Nullable android.app.smartspace.uitemplatedata.Icon);
2864    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadSecondCompetitorText(@Nullable android.app.smartspace.uitemplatedata.Text);
2865    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadTitle(@Nullable android.app.smartspace.uitemplatedata.Text);
2866  }
2867
2868  public final class Icon implements android.os.Parcelable {
2869    method public int describeContents();
2870    method @Nullable public CharSequence getContentDescription();
2871    method @NonNull public android.graphics.drawable.Icon getIcon();
2872    method public boolean shouldTint();
2873    method public void writeToParcel(@NonNull android.os.Parcel, int);
2874    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.Icon> CREATOR;
2875  }
2876
2877  public static final class Icon.Builder {
2878    ctor public Icon.Builder(@NonNull android.graphics.drawable.Icon);
2879    method @NonNull public android.app.smartspace.uitemplatedata.Icon build();
2880    method @NonNull public android.app.smartspace.uitemplatedata.Icon.Builder setContentDescription(@NonNull CharSequence);
2881    method @NonNull public android.app.smartspace.uitemplatedata.Icon.Builder setShouldTint(boolean);
2882  }
2883
2884  public final class SubCardTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
2885    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getSubCardAction();
2886    method @NonNull public android.app.smartspace.uitemplatedata.Icon getSubCardIcon();
2887    method @Nullable public android.app.smartspace.uitemplatedata.Text getSubCardText();
2888    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SubCardTemplateData> CREATOR;
2889  }
2890
2891  public static final class SubCardTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
2892    ctor public SubCardTemplateData.Builder(@NonNull android.app.smartspace.uitemplatedata.Icon);
2893    method @NonNull public android.app.smartspace.uitemplatedata.SubCardTemplateData build();
2894    method @NonNull public android.app.smartspace.uitemplatedata.SubCardTemplateData.Builder setSubCardAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
2895    method @NonNull public android.app.smartspace.uitemplatedata.SubCardTemplateData.Builder setSubCardText(@NonNull android.app.smartspace.uitemplatedata.Text);
2896  }
2897
2898  public final class SubImageTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
2899    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getSubImageAction();
2900    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.Text> getSubImageTexts();
2901    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.Icon> getSubImages();
2902    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SubImageTemplateData> CREATOR;
2903  }
2904
2905  public static final class SubImageTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
2906    ctor public SubImageTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.Text>, @NonNull java.util.List<android.app.smartspace.uitemplatedata.Icon>);
2907    method @NonNull public android.app.smartspace.uitemplatedata.SubImageTemplateData build();
2908    method @NonNull public android.app.smartspace.uitemplatedata.SubImageTemplateData.Builder setSubImageAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
2909  }
2910
2911  public final class SubListTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
2912    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getSubListAction();
2913    method @Nullable public android.app.smartspace.uitemplatedata.Icon getSubListIcon();
2914    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.Text> getSubListTexts();
2915    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SubListTemplateData> CREATOR;
2916  }
2917
2918  public static final class SubListTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
2919    ctor public SubListTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.Text>);
2920    method @NonNull public android.app.smartspace.uitemplatedata.SubListTemplateData build();
2921    method @NonNull public android.app.smartspace.uitemplatedata.SubListTemplateData.Builder setSubListAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
2922    method @NonNull public android.app.smartspace.uitemplatedata.SubListTemplateData.Builder setSubListIcon(@NonNull android.app.smartspace.uitemplatedata.Icon);
2923  }
2924
2925  public final class TapAction implements android.os.Parcelable {
2926    method public int describeContents();
2927    method @Nullable public android.os.Bundle getExtras();
2928    method @Nullable public CharSequence getId();
2929    method @Nullable public android.content.Intent getIntent();
2930    method @Nullable public android.app.PendingIntent getPendingIntent();
2931    method @Nullable public android.os.UserHandle getUserHandle();
2932    method public boolean shouldShowOnLockscreen();
2933    method public void writeToParcel(@NonNull android.os.Parcel, int);
2934    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.TapAction> CREATOR;
2935  }
2936
2937  public static final class TapAction.Builder {
2938    ctor public TapAction.Builder(@NonNull CharSequence);
2939    method @NonNull public android.app.smartspace.uitemplatedata.TapAction build();
2940    method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setExtras(@NonNull android.os.Bundle);
2941    method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setIntent(@NonNull android.content.Intent);
2942    method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setPendingIntent(@NonNull android.app.PendingIntent);
2943    method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setShouldShowOnLockscreen(@NonNull boolean);
2944    method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setUserHandle(@Nullable android.os.UserHandle);
2945  }
2946
2947  public final class Text implements android.os.Parcelable {
2948    method public int describeContents();
2949    method public int getMaxLines();
2950    method @NonNull public CharSequence getText();
2951    method @NonNull public android.text.TextUtils.TruncateAt getTruncateAtType();
2952    method public void writeToParcel(@NonNull android.os.Parcel, int);
2953    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.Text> CREATOR;
2954  }
2955
2956  public static final class Text.Builder {
2957    ctor public Text.Builder(@NonNull CharSequence);
2958    method @NonNull public android.app.smartspace.uitemplatedata.Text build();
2959    method @NonNull public android.app.smartspace.uitemplatedata.Text.Builder setMaxLines(int);
2960    method @NonNull public android.app.smartspace.uitemplatedata.Text.Builder setTruncateAtType(@NonNull android.text.TextUtils.TruncateAt);
2961  }
2962
2963}
2964
2965package android.app.time {
2966
2967  public final class Capabilities {
2968    field public static final int CAPABILITY_NOT_ALLOWED = 20; // 0x14
2969    field public static final int CAPABILITY_NOT_APPLICABLE = 30; // 0x1e
2970    field public static final int CAPABILITY_NOT_SUPPORTED = 10; // 0xa
2971    field public static final int CAPABILITY_POSSESSED = 40; // 0x28
2972  }
2973
2974  public final class ExternalTimeSuggestion implements android.os.Parcelable {
2975    ctor public ExternalTimeSuggestion(long, long);
2976    method public void addDebugInfo(@NonNull java.lang.String...);
2977    method public int describeContents();
2978    method @NonNull public java.util.List<java.lang.String> getDebugInfo();
2979    method public void writeToParcel(@NonNull android.os.Parcel, int);
2980    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.ExternalTimeSuggestion> CREATOR;
2981  }
2982
2983  public final class TimeCapabilities implements android.os.Parcelable {
2984    method public int describeContents();
2985    method public int getConfigureAutoDetectionEnabledCapability();
2986    method public int getSetManualTimeCapability();
2987    method public void writeToParcel(@NonNull android.os.Parcel, int);
2988    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeCapabilities> CREATOR;
2989  }
2990
2991  public final class TimeCapabilitiesAndConfig implements android.os.Parcelable {
2992    method public int describeContents();
2993    method @NonNull public android.app.time.TimeCapabilities getCapabilities();
2994    method @NonNull public android.app.time.TimeConfiguration getConfiguration();
2995    method public void writeToParcel(@NonNull android.os.Parcel, int);
2996    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeCapabilitiesAndConfig> CREATOR;
2997  }
2998
2999  public final class TimeConfiguration implements android.os.Parcelable {
3000    method public int describeContents();
3001    method public boolean isAutoDetectionEnabled();
3002    method public void writeToParcel(@NonNull android.os.Parcel, int);
3003    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeConfiguration> CREATOR;
3004  }
3005
3006  public static final class TimeConfiguration.Builder {
3007    ctor public TimeConfiguration.Builder();
3008    ctor public TimeConfiguration.Builder(@NonNull android.app.time.TimeConfiguration);
3009    method @NonNull public android.app.time.TimeConfiguration build();
3010    method @NonNull public android.app.time.TimeConfiguration.Builder setAutoDetectionEnabled(boolean);
3011  }
3012
3013  public final class TimeManager {
3014    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public void addTimeZoneDetectorListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.time.TimeManager.TimeZoneDetectorListener);
3015    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean confirmTime(@NonNull android.app.time.UnixEpochTime);
3016    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean confirmTimeZone(@NonNull String);
3017    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeCapabilitiesAndConfig getTimeCapabilitiesAndConfig();
3018    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeState getTimeState();
3019    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeZoneCapabilitiesAndConfig getTimeZoneCapabilitiesAndConfig();
3020    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeZoneState getTimeZoneState();
3021    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public void removeTimeZoneDetectorListener(@NonNull android.app.time.TimeManager.TimeZoneDetectorListener);
3022    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean setManualTime(@NonNull android.app.time.UnixEpochTime);
3023    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean setManualTimeZone(@NonNull String);
3024    method @RequiresPermission(android.Manifest.permission.SUGGEST_EXTERNAL_TIME) public void suggestExternalTime(@NonNull android.app.time.ExternalTimeSuggestion);
3025    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean updateTimeConfiguration(@NonNull android.app.time.TimeConfiguration);
3026    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean updateTimeZoneConfiguration(@NonNull android.app.time.TimeZoneConfiguration);
3027  }
3028
3029  @java.lang.FunctionalInterface public static interface TimeManager.TimeZoneDetectorListener {
3030    method public void onChange();
3031  }
3032
3033  public final class TimeState implements android.os.Parcelable {
3034    method public int describeContents();
3035    method @NonNull public android.app.time.UnixEpochTime getUnixEpochTime();
3036    method public boolean getUserShouldConfirmTime();
3037    method public void writeToParcel(@NonNull android.os.Parcel, int);
3038    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeState> CREATOR;
3039  }
3040
3041  public final class TimeZoneCapabilities implements android.os.Parcelable {
3042    method public int describeContents();
3043    method public int getConfigureAutoDetectionEnabledCapability();
3044    method public int getConfigureGeoDetectionEnabledCapability();
3045    method public int getSetManualTimeZoneCapability();
3046    method public void writeToParcel(@NonNull android.os.Parcel, int);
3047    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneCapabilities> CREATOR;
3048  }
3049
3050  public final class TimeZoneCapabilitiesAndConfig implements android.os.Parcelable {
3051    method public int describeContents();
3052    method @NonNull public android.app.time.TimeZoneCapabilities getCapabilities();
3053    method @NonNull public android.app.time.TimeZoneConfiguration getConfiguration();
3054    method public void writeToParcel(@NonNull android.os.Parcel, int);
3055    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneCapabilitiesAndConfig> CREATOR;
3056  }
3057
3058  public final class TimeZoneConfiguration implements android.os.Parcelable {
3059    method public int describeContents();
3060    method public boolean isAutoDetectionEnabled();
3061    method public boolean isGeoDetectionEnabled();
3062    method public void writeToParcel(@NonNull android.os.Parcel, int);
3063    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneConfiguration> CREATOR;
3064  }
3065
3066  public static final class TimeZoneConfiguration.Builder {
3067    ctor public TimeZoneConfiguration.Builder();
3068    ctor public TimeZoneConfiguration.Builder(@NonNull android.app.time.TimeZoneConfiguration);
3069    method @NonNull public android.app.time.TimeZoneConfiguration build();
3070    method @NonNull public android.app.time.TimeZoneConfiguration.Builder setAutoDetectionEnabled(boolean);
3071    method @NonNull public android.app.time.TimeZoneConfiguration.Builder setGeoDetectionEnabled(boolean);
3072  }
3073
3074  public final class TimeZoneState implements android.os.Parcelable {
3075    method public int describeContents();
3076    method @NonNull public String getId();
3077    method public boolean getUserShouldConfirmId();
3078    method public void writeToParcel(@NonNull android.os.Parcel, int);
3079    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneState> CREATOR;
3080  }
3081
3082  public final class UnixEpochTime implements android.os.Parcelable {
3083    ctor public UnixEpochTime(long, long);
3084    method @NonNull public android.app.time.UnixEpochTime at(long);
3085    method public int describeContents();
3086    method public long getElapsedRealtimeMillis();
3087    method public long getUnixEpochTimeMillis();
3088    method public void writeToParcel(@NonNull android.os.Parcel, int);
3089    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.UnixEpochTime> CREATOR;
3090  }
3091
3092}
3093
3094package android.app.usage {
3095
3096  public final class BroadcastResponseStats implements android.os.Parcelable {
3097    ctor public BroadcastResponseStats(@NonNull String, @IntRange(from=1) long);
3098    method public int describeContents();
3099    method @IntRange(from=0) public int getBroadcastsDispatchedCount();
3100    method @IntRange(from=1) public long getId();
3101    method @IntRange(from=0) public int getNotificationsCancelledCount();
3102    method @IntRange(from=0) public int getNotificationsPostedCount();
3103    method @IntRange(from=0) public int getNotificationsUpdatedCount();
3104    method @NonNull public String getPackageName();
3105    method public void writeToParcel(@NonNull android.os.Parcel, int);
3106    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.BroadcastResponseStats> CREATOR;
3107  }
3108
3109  public final class CacheQuotaHint implements android.os.Parcelable {
3110    ctor public CacheQuotaHint(@NonNull android.app.usage.CacheQuotaHint.Builder);
3111    method public int describeContents();
3112    method public long getQuota();
3113    method public int getUid();
3114    method @Nullable public android.app.usage.UsageStats getUsageStats();
3115    method @Nullable public String getVolumeUuid();
3116    method public void writeToParcel(@NonNull android.os.Parcel, int);
3117    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.CacheQuotaHint> CREATOR;
3118    field public static final long QUOTA_NOT_SET = -1L; // 0xffffffffffffffffL
3119  }
3120
3121  public static final class CacheQuotaHint.Builder {
3122    ctor public CacheQuotaHint.Builder();
3123    ctor public CacheQuotaHint.Builder(@NonNull android.app.usage.CacheQuotaHint);
3124    method @NonNull public android.app.usage.CacheQuotaHint build();
3125    method @NonNull public android.app.usage.CacheQuotaHint.Builder setQuota(long);
3126    method @NonNull public android.app.usage.CacheQuotaHint.Builder setUid(int);
3127    method @NonNull public android.app.usage.CacheQuotaHint.Builder setUsageStats(@Nullable android.app.usage.UsageStats);
3128    method @NonNull public android.app.usage.CacheQuotaHint.Builder setVolumeUuid(@Nullable String);
3129  }
3130
3131  public abstract class CacheQuotaService extends android.app.Service {
3132    ctor public CacheQuotaService();
3133    method public android.os.IBinder onBind(android.content.Intent);
3134    method public abstract java.util.List<android.app.usage.CacheQuotaHint> onComputeCacheQuotaHints(java.util.List<android.app.usage.CacheQuotaHint>);
3135    field public static final String SERVICE_INTERFACE = "android.app.usage.CacheQuotaService";
3136  }
3137
3138  public class NetworkStatsManager {
3139    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);
3140    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);
3141  }
3142
3143  public static final class UsageEvents.Event {
3144    method public int getInstanceId();
3145    method @Nullable public String getNotificationChannelId();
3146    method @Nullable public String getTaskRootClassName();
3147    method @Nullable public String getTaskRootPackageName();
3148    method public boolean isInstantApp();
3149    field public static final int NOTIFICATION_INTERRUPTION = 12; // 0xc
3150    field public static final int NOTIFICATION_SEEN = 10; // 0xa
3151    field public static final int SLICE_PINNED = 14; // 0xe
3152    field public static final int SLICE_PINNED_PRIV = 13; // 0xd
3153    field public static final int SYSTEM_INTERACTION = 6; // 0x6
3154  }
3155
3156  public final class UsageStats implements android.os.Parcelable {
3157    method public int getAppLaunchCount();
3158    method public long getLastTimeAnyComponentUsed();
3159  }
3160
3161  public final class UsageStatsManager {
3162    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RESPONSE_STATS) public void clearBroadcastResponseStats(@Nullable String, @IntRange(from=0) long);
3163    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getAppStandbyBucket(String);
3164    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public java.util.Map<java.lang.String,java.lang.Integer> getAppStandbyBuckets();
3165    method @RequiresPermission(allOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long getLastTimeAnyComponentUsed(@NonNull String);
3166    method public int getUsageSource();
3167    method @RequiresPermission(android.Manifest.permission.BIND_CARRIER_SERVICES) public void onCarrierPrivilegedAppsChanged();
3168    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);
3169    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);
3170    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void registerAppUsageObserver(int, @NonNull String[], long, @NonNull java.util.concurrent.TimeUnit, @NonNull android.app.PendingIntent);
3171    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);
3172    method public void reportUsageStart(@NonNull android.app.Activity, @NonNull String);
3173    method public void reportUsageStart(@NonNull android.app.Activity, @NonNull String, long);
3174    method public void reportUsageStop(@NonNull android.app.Activity, @NonNull String);
3175    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_IDLE_STATE) public void setAppStandbyBucket(String, int);
3176    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_IDLE_STATE) public void setAppStandbyBuckets(java.util.Map<java.lang.String,java.lang.Integer>);
3177    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_LAUNCH_TIME_ESTIMATE) public void setEstimatedLaunchTimeMillis(@NonNull String, long);
3178    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_LAUNCH_TIME_ESTIMATE) public void setEstimatedLaunchTimesMillis(@NonNull java.util.Map<java.lang.String,java.lang.Long>);
3179    method @RequiresPermission(allOf={android.Manifest.permission.SUSPEND_APPS, android.Manifest.permission.OBSERVE_APP_USAGE}) public void unregisterAppUsageLimitObserver(int);
3180    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void unregisterAppUsageObserver(int);
3181    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void unregisterUsageSessionObserver(int);
3182    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(String, long, android.os.UserHandle);
3183    field public static final String EXTRA_OBSERVER_ID = "android.app.usage.extra.OBSERVER_ID";
3184    field public static final String EXTRA_TIME_LIMIT = "android.app.usage.extra.TIME_LIMIT";
3185    field public static final String EXTRA_TIME_USED = "android.app.usage.extra.TIME_USED";
3186    field public static final int STANDBY_BUCKET_EXEMPTED = 5; // 0x5
3187    field public static final int STANDBY_BUCKET_NEVER = 50; // 0x32
3188    field public static final int USAGE_SOURCE_CURRENT_ACTIVITY = 2; // 0x2
3189    field public static final int USAGE_SOURCE_TASK_ROOT_ACTIVITY = 1; // 0x1
3190  }
3191
3192}
3193
3194package android.app.wallpapereffectsgeneration {
3195
3196  public final class CameraAttributes implements android.os.Parcelable {
3197    method public int describeContents();
3198    method @NonNull public float[] getAnchorPointInOutputUvSpace();
3199    method @NonNull public float[] getAnchorPointInWorldSpace();
3200    method @FloatRange(from=-90.0F, to=90.0f) public float getCameraOrbitPitchDegrees();
3201    method @FloatRange(from=-180.0F, to=180.0f) public float getCameraOrbitYawDegrees();
3202    method public float getDollyDistanceInWorldSpace();
3203    method @FloatRange(from=0.0f) public float getFrustumFarInWorldSpace();
3204    method @FloatRange(from=0.0f) public float getFrustumNearInWorldSpace();
3205    method @FloatRange(from=0.0f, to=180.0f, fromInclusive=false) public float getVerticalFovDegrees();
3206    method public void writeToParcel(@NonNull android.os.Parcel, int);
3207    field @NonNull public static final android.os.Parcelable.Creator<android.app.wallpapereffectsgeneration.CameraAttributes> CREATOR;
3208  }
3209
3210  public static final class CameraAttributes.Builder {
3211    ctor public CameraAttributes.Builder(@NonNull @Size(3) float[], @NonNull @Size(2) float[]);
3212    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes build();
3213    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setCameraOrbitPitchDegrees(@FloatRange(from=-90.0F, to=90.0f) float);
3214    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setCameraOrbitYawDegrees(@FloatRange(from=-180.0F, to=180.0f) float);
3215    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setDollyDistanceInWorldSpace(float);
3216    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setFrustumFarInWorldSpace(@FloatRange(from=0.0f) float);
3217    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setFrustumNearInWorldSpace(@FloatRange(from=0.0f) float);
3218    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setVerticalFovDegrees(@FloatRange(from=0.0f, to=180.0f, fromInclusive=false) float);
3219  }
3220
3221  public final class CinematicEffectRequest implements android.os.Parcelable {
3222    ctor public CinematicEffectRequest(@NonNull String, @NonNull android.graphics.Bitmap);
3223    method public int describeContents();
3224    method @NonNull public android.graphics.Bitmap getBitmap();
3225    method @NonNull public String getTaskId();
3226    method public void writeToParcel(@NonNull android.os.Parcel, int);
3227    field @NonNull public static final android.os.Parcelable.Creator<android.app.wallpapereffectsgeneration.CinematicEffectRequest> CREATOR;
3228  }
3229
3230  public final class CinematicEffectResponse implements android.os.Parcelable {
3231    method public int describeContents();
3232    method @Nullable public android.app.wallpapereffectsgeneration.CameraAttributes getEndKeyFrame();
3233    method public int getImageContentType();
3234    method @Nullable public android.app.wallpapereffectsgeneration.CameraAttributes getStartKeyFrame();
3235    method public int getStatusCode();
3236    method @NonNull public String getTaskId();
3237    method @NonNull public java.util.List<android.app.wallpapereffectsgeneration.TexturedMesh> getTexturedMeshes();
3238    method public void writeToParcel(@NonNull android.os.Parcel, int);
3239    field public static final int CINEMATIC_EFFECT_STATUS_ANIMATION_FAILURE = 10; // 0xa
3240    field public static final int CINEMATIC_EFFECT_STATUS_CONTENT_TARGET_ERROR = 8; // 0x8
3241    field public static final int CINEMATIC_EFFECT_STATUS_CONTENT_TOO_FLAT = 9; // 0x9
3242    field public static final int CINEMATIC_EFFECT_STATUS_CONTENT_UNSUPPORTED = 7; // 0x7
3243    field public static final int CINEMATIC_EFFECT_STATUS_ERROR = 0; // 0x0
3244    field public static final int CINEMATIC_EFFECT_STATUS_FEATURE_DISABLED = 5; // 0x5
3245    field public static final int CINEMATIC_EFFECT_STATUS_IMAGE_FORMAT_NOT_SUITABLE = 6; // 0x6
3246    field public static final int CINEMATIC_EFFECT_STATUS_NOT_READY = 2; // 0x2
3247    field public static final int CINEMATIC_EFFECT_STATUS_OK = 1; // 0x1
3248    field public static final int CINEMATIC_EFFECT_STATUS_PENDING = 3; // 0x3
3249    field public static final int CINEMATIC_EFFECT_STATUS_TOO_MANY_REQUESTS = 4; // 0x4
3250    field @NonNull public static final android.os.Parcelable.Creator<android.app.wallpapereffectsgeneration.CinematicEffectResponse> CREATOR;
3251    field public static final int IMAGE_CONTENT_TYPE_LANDSCAPE = 2; // 0x2
3252    field public static final int IMAGE_CONTENT_TYPE_OTHER = 3; // 0x3
3253    field public static final int IMAGE_CONTENT_TYPE_PEOPLE_PORTRAIT = 1; // 0x1
3254    field public static final int IMAGE_CONTENT_TYPE_UNKNOWN = 0; // 0x0
3255  }
3256
3257  public static final class CinematicEffectResponse.Builder {
3258    ctor public CinematicEffectResponse.Builder(int, @NonNull String);
3259    method @NonNull public android.app.wallpapereffectsgeneration.CinematicEffectResponse build();
3260    method @NonNull public android.app.wallpapereffectsgeneration.CinematicEffectResponse.Builder setEndKeyFrame(@Nullable android.app.wallpapereffectsgeneration.CameraAttributes);
3261    method @NonNull public android.app.wallpapereffectsgeneration.CinematicEffectResponse.Builder setImageContentType(int);
3262    method @NonNull public android.app.wallpapereffectsgeneration.CinematicEffectResponse.Builder setStartKeyFrame(@Nullable android.app.wallpapereffectsgeneration.CameraAttributes);
3263    method @NonNull public android.app.wallpapereffectsgeneration.CinematicEffectResponse.Builder setTexturedMeshes(@NonNull java.util.List<android.app.wallpapereffectsgeneration.TexturedMesh>);
3264  }
3265
3266  public final class TexturedMesh implements android.os.Parcelable {
3267    method public int describeContents();
3268    method @NonNull public android.graphics.Bitmap getBitmap();
3269    method @NonNull public int[] getIndices();
3270    method @NonNull public int getIndicesLayoutType();
3271    method @NonNull public float[] getVertices();
3272    method @NonNull public int getVerticesLayoutType();
3273    method public void writeToParcel(@NonNull android.os.Parcel, int);
3274    field @NonNull public static final android.os.Parcelable.Creator<android.app.wallpapereffectsgeneration.TexturedMesh> CREATOR;
3275    field public static final int INDICES_LAYOUT_TRIANGLES = 1; // 0x1
3276    field public static final int INDICES_LAYOUT_UNDEFINED = 0; // 0x0
3277    field public static final int VERTICES_LAYOUT_POSITION3_UV2 = 1; // 0x1
3278    field public static final int VERTICES_LAYOUT_UNDEFINED = 0; // 0x0
3279  }
3280
3281  public static final class TexturedMesh.Builder {
3282    ctor public TexturedMesh.Builder(@NonNull android.graphics.Bitmap);
3283    method @NonNull public android.app.wallpapereffectsgeneration.TexturedMesh build();
3284    method @NonNull public android.app.wallpapereffectsgeneration.TexturedMesh.Builder setIndices(@NonNull int[]);
3285    method @NonNull public android.app.wallpapereffectsgeneration.TexturedMesh.Builder setIndicesLayoutType(int);
3286    method @NonNull public android.app.wallpapereffectsgeneration.TexturedMesh.Builder setVertices(@NonNull float[]);
3287    method @NonNull public android.app.wallpapereffectsgeneration.TexturedMesh.Builder setVerticesLayoutType(int);
3288  }
3289
3290  public final class WallpaperEffectsGenerationManager {
3291    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);
3292  }
3293
3294  public static interface WallpaperEffectsGenerationManager.CinematicEffectListener {
3295    method public void onCinematicEffectGenerated(@NonNull android.app.wallpapereffectsgeneration.CinematicEffectResponse);
3296  }
3297
3298}
3299
3300package android.app.wearable {
3301
3302  public class WearableSensingManager {
3303    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>);
3304    method @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>);
3305    field public static final int STATUS_ACCESS_DENIED = 5; // 0x5
3306    field public static final int STATUS_SERVICE_UNAVAILABLE = 3; // 0x3
3307    field public static final int STATUS_SUCCESS = 1; // 0x1
3308    field public static final int STATUS_UNKNOWN = 0; // 0x0
3309    field public static final int STATUS_UNSUPPORTED = 2; // 0x2
3310    field public static final int STATUS_WEARABLE_UNAVAILABLE = 4; // 0x4
3311  }
3312
3313}
3314
3315package android.apphibernation {
3316
3317  public class AppHibernationManager {
3318    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public java.util.List<java.lang.String> getHibernatingPackagesForUser();
3319    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>);
3320    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public java.util.Map<java.lang.String,android.apphibernation.HibernationStats> getHibernationStatsForUser();
3321    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public boolean isHibernatingForUser(@NonNull String);
3322    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public boolean isHibernatingGlobally(@NonNull String);
3323    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public boolean isOatArtifactDeletionEnabled();
3324    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void setHibernatingForUser(@NonNull String, boolean);
3325    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void setHibernatingGlobally(@NonNull String, boolean);
3326  }
3327
3328  public final class HibernationStats implements android.os.Parcelable {
3329    method public int describeContents();
3330    method public long getDiskBytesSaved();
3331    method public void writeToParcel(@NonNull android.os.Parcel, int);
3332    field @NonNull public static final android.os.Parcelable.Creator<android.apphibernation.HibernationStats> CREATOR;
3333  }
3334
3335}
3336
3337package android.bluetooth {
3338
3339  public final class BluetoothA2dp implements android.bluetooth.BluetoothProfile {
3340    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void disableOptionalCodecs(@NonNull android.bluetooth.BluetoothDevice);
3341    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void enableOptionalCodecs(@NonNull android.bluetooth.BluetoothDevice);
3342    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BufferConstraints getBufferConstraints();
3343    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothCodecStatus getCodecStatus(@NonNull android.bluetooth.BluetoothDevice);
3344    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
3345    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getDynamicBufferSupport();
3346    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int isOptionalCodecsEnabled(@NonNull android.bluetooth.BluetoothDevice);
3347    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int isOptionalCodecsSupported(@NonNull android.bluetooth.BluetoothDevice);
3348    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setAvrcpAbsoluteVolume(int);
3349    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setBufferLengthMillis(int, int);
3350    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setCodecConfigPreference(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothCodecConfig);
3351    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3352    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setOptionalCodecsEnabled(@NonNull android.bluetooth.BluetoothDevice, int);
3353    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACTIVE_DEVICE_CHANGED = "android.bluetooth.a2dp.profile.action.ACTIVE_DEVICE_CHANGED";
3354    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CODEC_CONFIG_CHANGED = "android.bluetooth.a2dp.profile.action.CODEC_CONFIG_CHANGED";
3355    field public static final int DYNAMIC_BUFFER_SUPPORT_A2DP_OFFLOAD = 1; // 0x1
3356    field public static final int DYNAMIC_BUFFER_SUPPORT_A2DP_SOFTWARE_ENCODING = 2; // 0x2
3357    field public static final int DYNAMIC_BUFFER_SUPPORT_NONE = 0; // 0x0
3358    field public static final int OPTIONAL_CODECS_NOT_SUPPORTED = 0; // 0x0
3359    field public static final int OPTIONAL_CODECS_PREF_DISABLED = 0; // 0x0
3360    field public static final int OPTIONAL_CODECS_PREF_ENABLED = 1; // 0x1
3361    field public static final int OPTIONAL_CODECS_PREF_UNKNOWN = -1; // 0xffffffff
3362    field public static final int OPTIONAL_CODECS_SUPPORTED = 1; // 0x1
3363    field public static final int OPTIONAL_CODECS_SUPPORT_UNKNOWN = -1; // 0xffffffff
3364  }
3365
3366  public final class BluetoothA2dpSink implements android.bluetooth.BluetoothProfile {
3367    method public void finalize();
3368    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
3369    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isAudioPlaying(@NonNull android.bluetooth.BluetoothDevice);
3370    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3371    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.a2dp-sink.profile.action.CONNECTION_STATE_CHANGED";
3372  }
3373
3374  public final class BluetoothActivityEnergyInfo implements android.os.Parcelable {
3375    method public int getBluetoothStackState();
3376    method public long getControllerEnergyUsed();
3377    method public long getControllerIdleTimeMillis();
3378    method public long getControllerRxTimeMillis();
3379    method public long getControllerTxTimeMillis();
3380    method public long getTimestampMillis();
3381    method @NonNull public java.util.List<android.bluetooth.UidTraffic> getUidTraffic();
3382    method public boolean isValid();
3383    field public static final int BT_STACK_STATE_INVALID = 0; // 0x0
3384    field public static final int BT_STACK_STATE_STATE_ACTIVE = 1; // 0x1
3385    field public static final int BT_STACK_STATE_STATE_IDLE = 3; // 0x3
3386    field public static final int BT_STACK_STATE_STATE_SCANNING = 2; // 0x2
3387    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothActivityEnergyInfo> CREATOR;
3388  }
3389
3390  public final class BluetoothAdapter {
3391    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);
3392    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean clearBluetooth();
3393    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean disable(boolean);
3394    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disableBLE();
3395    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enableBLE();
3396    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enableNoAutoConnect();
3397    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);
3398    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getActiveDevices(int);
3399    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getBluetoothHciSnoopLoggingMode();
3400    method public int getConnectionState();
3401    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public long getDiscoveryEndMillis();
3402    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.le.DistanceMeasurementManager getDistanceMeasurementManager();
3403    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getMostRecentlyConnectedDevices();
3404    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getOffloadedTransportDiscoveryDataScanSupported();
3405    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.os.Bundle getPreferredAudioProfiles(@NonNull android.bluetooth.BluetoothDevice);
3406    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<java.lang.Integer> getSupportedProfiles();
3407    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.os.ParcelUuid> getUuidsList();
3408    method public boolean isBleScanAlwaysAvailable();
3409    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int isDistanceMeasurementSupported();
3410    method public boolean isLeEnabled();
3411    method @NonNull public static String nameForState(int);
3412    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int notifyActiveDeviceChangeApplied(@NonNull android.bluetooth.BluetoothDevice);
3413    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);
3414    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);
3415    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);
3416    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean removeActiveDevice(int);
3417    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);
3418    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);
3419    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothSocket retrieveConnectedRfcommSocket(@NonNull java.util.UUID);
3420    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);
3421    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int setBluetoothHciSnoopLoggingMode(int);
3422    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setDiscoverableTimeout(@NonNull java.time.Duration);
3423    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setPreferredAudioProfiles(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.os.Bundle);
3424    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setScanMode(int);
3425    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);
3426    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int stopRfcommServer(@NonNull java.util.UUID);
3427    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean unregisterBluetoothConnectionCallback(@NonNull android.bluetooth.BluetoothAdapter.BluetoothConnectionCallback);
3428    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int unregisterBluetoothQualityReportReadyCallback(@NonNull android.bluetooth.BluetoothAdapter.BluetoothQualityReportReadyCallback);
3429    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int unregisterPreferredAudioProfilesChangedCallback(@NonNull android.bluetooth.BluetoothAdapter.PreferredAudioProfilesChangedCallback);
3430    field public static final String ACTION_BLE_STATE_CHANGED = "android.bluetooth.adapter.action.BLE_STATE_CHANGED";
3431    field public static final String ACTION_REQUEST_BLE_SCAN_ALWAYS_AVAILABLE = "android.bluetooth.adapter.action.REQUEST_BLE_SCAN_ALWAYS_AVAILABLE";
3432    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_REQUEST_DISABLE = "android.bluetooth.adapter.action.REQUEST_DISABLE";
3433    field public static final int ACTIVE_DEVICE_ALL = 2; // 0x2
3434    field public static final int ACTIVE_DEVICE_AUDIO = 0; // 0x0
3435    field public static final int ACTIVE_DEVICE_PHONE_CALL = 1; // 0x1
3436    field public static final String AUDIO_MODE_DUPLEX = "audio_mode_duplex";
3437    field public static final String AUDIO_MODE_OUTPUT_ONLY = "audio_mode_output_only";
3438    field public static final int BT_SNOOP_LOG_MODE_DISABLED = 0; // 0x0
3439    field public static final int BT_SNOOP_LOG_MODE_FILTERED = 1; // 0x1
3440    field public static final int BT_SNOOP_LOG_MODE_FULL = 2; // 0x2
3441    field public static final String EXTRA_RFCOMM_LISTENER_ID = "android.bluetooth.adapter.extra.RFCOMM_LISTENER_ID";
3442    field public static final int STATE_BLE_ON = 15; // 0xf
3443  }
3444
3445  public abstract static class BluetoothAdapter.BluetoothConnectionCallback {
3446    ctor public BluetoothAdapter.BluetoothConnectionCallback();
3447    method @NonNull public static String disconnectReasonToString(int);
3448    method public void onDeviceConnected(@NonNull android.bluetooth.BluetoothDevice);
3449    method public void onDeviceDisconnected(@NonNull android.bluetooth.BluetoothDevice, int);
3450  }
3451
3452  public static interface BluetoothAdapter.BluetoothQualityReportReadyCallback {
3453    method public void onBluetoothQualityReportReady(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothQualityReport, int);
3454  }
3455
3456  public static interface BluetoothAdapter.OnBluetoothActivityEnergyInfoCallback {
3457    method public void onBluetoothActivityEnergyInfoAvailable(@NonNull android.bluetooth.BluetoothActivityEnergyInfo);
3458    method public void onBluetoothActivityEnergyInfoError(int);
3459  }
3460
3461  public static interface BluetoothAdapter.OnMetadataChangedListener {
3462    method public void onMetadataChanged(@NonNull android.bluetooth.BluetoothDevice, int, @Nullable byte[]);
3463  }
3464
3465  public static interface BluetoothAdapter.OobDataCallback {
3466    method public void onError(int);
3467    method public void onOobData(int, @NonNull android.bluetooth.OobData);
3468  }
3469
3470  public static interface BluetoothAdapter.PreferredAudioProfilesChangedCallback {
3471    method public void onPreferredAudioProfilesChanged(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.os.Bundle, int);
3472  }
3473
3474  public class BluetoothAssignedNumbers.OrganizationId {
3475    field public static final int BLUETOOTH_SIG = 1; // 0x1
3476    field public static final int WIFI_ALLIANCE_NEIGHBOR_AWARENESS_NETWORKING = 2; // 0x2
3477    field public static final int WIFI_ALLIANCE_SERVICE_ADVERTISEMENT = 3; // 0x3
3478  }
3479
3480  public final class BluetoothClass implements android.os.Parcelable {
3481    field public static final int PROFILE_A2DP_SINK = 6; // 0x6
3482    field public static final int PROFILE_NAP = 5; // 0x5
3483    field public static final int PROFILE_OPP = 2; // 0x2
3484    field public static final int PROFILE_PANU = 4; // 0x4
3485  }
3486
3487  public final class BluetoothCsipSetCoordinator implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
3488    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public java.util.List<java.lang.Integer> getAllGroupIds(@Nullable android.os.ParcelUuid);
3489    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getConnectionPolicy(@Nullable android.bluetooth.BluetoothDevice);
3490    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public java.util.Map<java.lang.Integer,android.os.ParcelUuid> getGroupUuidMapByDevice(@Nullable android.bluetooth.BluetoothDevice);
3491    method @Nullable @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public java.util.UUID lockGroup(int, @NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothCsipSetCoordinator.ClientLockCallback);
3492    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setConnectionPolicy(@Nullable android.bluetooth.BluetoothDevice, int);
3493    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean unlockGroup(@NonNull java.util.UUID);
3494    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public static final String ACTION_CSIS_DEVICE_AVAILABLE = "android.bluetooth.action.CSIS_DEVICE_AVAILABLE";
3495    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public static final String ACTION_CSIS_SET_MEMBER_AVAILABLE = "android.bluetooth.action.CSIS_SET_MEMBER_AVAILABLE";
3496    field public static final String EXTRA_CSIS_GROUP_ID = "android.bluetooth.extra.CSIS_GROUP_ID";
3497    field public static final int GROUP_ID_INVALID = -1; // 0xffffffff
3498  }
3499
3500  public static interface BluetoothCsipSetCoordinator.ClientLockCallback {
3501    method public void onGroupLockSet(int, int, boolean);
3502  }
3503
3504  public final class BluetoothDevice implements android.os.Parcelable {
3505    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean canBondWithoutDialog();
3506    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean cancelBondProcess();
3507    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.MODIFY_PHONE_STATE}) public int connect();
3508    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean createBond(int);
3509    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean createBondOutOfBand(int, @Nullable android.bluetooth.OobData, @Nullable android.bluetooth.OobData);
3510    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int disconnect();
3511    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean fetchUuidsWithSdp(int);
3512    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public String getAnonymizedAddress();
3513    method @IntRange(from=0xffffff9c, to=100) @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getBatteryLevel();
3514    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionHandle(int);
3515    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public String getIdentityAddress();
3516    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getMessageAccessPermission();
3517    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public byte[] getMetadata(int);
3518    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public String getPackageNameOfBondingApplication();
3519    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getPhonebookAccessPermission();
3520    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothSinkAudioPolicy getRequestedAudioPolicyAsSink();
3521    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getSimAccessPermission();
3522    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isBondingInitiatedLocally();
3523    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isConnected();
3524    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isEncrypted();
3525    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isInSilenceMode();
3526    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int isRequestAudioPolicyAsSinkSupported();
3527    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public void prepareToEnterProcess(@NonNull android.content.AttributionSource);
3528    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean removeBond();
3529    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int requestAudioPolicyAsSink(@NonNull android.bluetooth.BluetoothSinkAudioPolicy);
3530    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setLowLatencyAudioAllowed(boolean);
3531    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setMessageAccessPermission(int);
3532    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setMetadata(int, @NonNull byte[]);
3533    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setPhonebookAccessPermission(int);
3534    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean setPin(@NonNull String);
3535    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setSilenceMode(boolean);
3536    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setSimAccessPermission(int);
3537    field public static final int ACCESS_ALLOWED = 1; // 0x1
3538    field public static final int ACCESS_REJECTED = 2; // 0x2
3539    field public static final int ACCESS_UNKNOWN = 0; // 0x0
3540    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_BATTERY_LEVEL_CHANGED = "android.bluetooth.device.action.BATTERY_LEVEL_CHANGED";
3541    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_ACCESS_CANCEL = "android.bluetooth.device.action.CONNECTION_ACCESS_CANCEL";
3542    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_ACCESS_REPLY = "android.bluetooth.device.action.CONNECTION_ACCESS_REPLY";
3543    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_ACCESS_REQUEST = "android.bluetooth.device.action.CONNECTION_ACCESS_REQUEST";
3544    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_PAIRING_CANCEL = "android.bluetooth.device.action.PAIRING_CANCEL";
3545    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_SILENCE_MODE_CHANGED = "android.bluetooth.device.action.SILENCE_MODE_CHANGED";
3546    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";
3547    field public static final int BATTERY_LEVEL_BLUETOOTH_OFF = -100; // 0xffffff9c
3548    field public static final int BATTERY_LEVEL_UNKNOWN = -1; // 0xffffffff
3549    field public static final int CONNECTION_ACCESS_NO = 2; // 0x2
3550    field public static final int CONNECTION_ACCESS_YES = 1; // 0x1
3551    field public static final String DEVICE_TYPE_DEFAULT = "Default";
3552    field public static final String DEVICE_TYPE_STYLUS = "Stylus";
3553    field public static final String DEVICE_TYPE_UNTETHERED_HEADSET = "Untethered Headset";
3554    field public static final String DEVICE_TYPE_WATCH = "Watch";
3555    field public static final String EXTRA_ACCESS_REQUEST_TYPE = "android.bluetooth.device.extra.ACCESS_REQUEST_TYPE";
3556    field public static final String EXTRA_ALWAYS_ALLOWED = "android.bluetooth.device.extra.ALWAYS_ALLOWED";
3557    field public static final String EXTRA_BATTERY_LEVEL = "android.bluetooth.device.extra.BATTERY_LEVEL";
3558    field public static final String EXTRA_CONNECTION_ACCESS_RESULT = "android.bluetooth.device.extra.CONNECTION_ACCESS_RESULT";
3559    field public static final String EXTRA_LOW_LATENCY_BUFFER_SIZE = "android.bluetooth.device.extra.LOW_LATENCY_BUFFER_SIZE";
3560    field public static final String EXTRA_PAIRING_INITIATOR = "android.bluetooth.device.extra.PAIRING_INITIATOR";
3561    field public static final int EXTRA_PAIRING_INITIATOR_BACKGROUND = 2; // 0x2
3562    field public static final int EXTRA_PAIRING_INITIATOR_FOREGROUND = 1; // 0x1
3563    field public static final String EXTRA_UNBOND_REASON = "android.bluetooth.device.extra.REASON";
3564    field public static final int METADATA_COMPANION_APP = 4; // 0x4
3565    field public static final int METADATA_DEVICE_TYPE = 17; // 0x11
3566    field public static final int METADATA_ENHANCED_SETTINGS_UI_URI = 16; // 0x10
3567    field public static final int METADATA_HARDWARE_VERSION = 3; // 0x3
3568    field public static final int METADATA_IS_UNTETHERED_HEADSET = 6; // 0x6
3569    field public static final int METADATA_LE_AUDIO = 26; // 0x1a
3570    field public static final int METADATA_MAIN_BATTERY = 18; // 0x12
3571    field public static final int METADATA_MAIN_CHARGING = 19; // 0x13
3572    field public static final int METADATA_MAIN_ICON = 5; // 0x5
3573    field public static final int METADATA_MAIN_LOW_BATTERY_THRESHOLD = 20; // 0x14
3574    field public static final int METADATA_MANUFACTURER_NAME = 0; // 0x0
3575    field public static final int METADATA_MAX_LENGTH = 2048; // 0x800
3576    field public static final int METADATA_MODEL_NAME = 1; // 0x1
3577    field public static final int METADATA_SOFTWARE_VERSION = 2; // 0x2
3578    field public static final int METADATA_UNTETHERED_CASE_BATTERY = 12; // 0xc
3579    field public static final int METADATA_UNTETHERED_CASE_CHARGING = 15; // 0xf
3580    field public static final int METADATA_UNTETHERED_CASE_ICON = 9; // 0x9
3581    field public static final int METADATA_UNTETHERED_CASE_LOW_BATTERY_THRESHOLD = 23; // 0x17
3582    field public static final int METADATA_UNTETHERED_LEFT_BATTERY = 10; // 0xa
3583    field public static final int METADATA_UNTETHERED_LEFT_CHARGING = 13; // 0xd
3584    field public static final int METADATA_UNTETHERED_LEFT_ICON = 7; // 0x7
3585    field public static final int METADATA_UNTETHERED_LEFT_LOW_BATTERY_THRESHOLD = 21; // 0x15
3586    field public static final int METADATA_UNTETHERED_RIGHT_BATTERY = 11; // 0xb
3587    field public static final int METADATA_UNTETHERED_RIGHT_CHARGING = 14; // 0xe
3588    field public static final int METADATA_UNTETHERED_RIGHT_ICON = 8; // 0x8
3589    field public static final int METADATA_UNTETHERED_RIGHT_LOW_BATTERY_THRESHOLD = 22; // 0x16
3590    field public static final int PAIRING_VARIANT_CONSENT = 3; // 0x3
3591    field public static final int PAIRING_VARIANT_DISPLAY_PASSKEY = 4; // 0x4
3592    field public static final int PAIRING_VARIANT_DISPLAY_PIN = 5; // 0x5
3593    field public static final int PAIRING_VARIANT_OOB_CONSENT = 6; // 0x6
3594    field public static final int PAIRING_VARIANT_PASSKEY = 1; // 0x1
3595    field public static final int PAIRING_VARIANT_PIN_16_DIGITS = 7; // 0x7
3596    field public static final int REQUEST_TYPE_MESSAGE_ACCESS = 3; // 0x3
3597    field public static final int REQUEST_TYPE_PHONEBOOK_ACCESS = 2; // 0x2
3598    field public static final int REQUEST_TYPE_PROFILE_CONNECTION = 1; // 0x1
3599    field public static final int REQUEST_TYPE_SIM_ACCESS = 4; // 0x4
3600    field public static final int UNBOND_REASON_AUTH_CANCELED = 3; // 0x3
3601    field public static final int UNBOND_REASON_AUTH_FAILED = 1; // 0x1
3602    field public static final int UNBOND_REASON_AUTH_REJECTED = 2; // 0x2
3603    field public static final int UNBOND_REASON_AUTH_TIMEOUT = 6; // 0x6
3604    field public static final int UNBOND_REASON_DISCOVERY_IN_PROGRESS = 5; // 0x5
3605    field public static final int UNBOND_REASON_REMOTE_AUTH_CANCELED = 8; // 0x8
3606    field public static final int UNBOND_REASON_REMOTE_DEVICE_DOWN = 4; // 0x4
3607    field public static final int UNBOND_REASON_REMOVED = 9; // 0x9
3608    field public static final int UNBOND_REASON_REPEATED_ATTEMPTS = 7; // 0x7
3609  }
3610
3611  public interface BluetoothDevicePicker {
3612    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_DEVICE_SELECTED = "android.bluetooth.devicepicker.action.DEVICE_SELECTED";
3613    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_LAUNCH = "android.bluetooth.devicepicker.action.LAUNCH";
3614    field public static final String EXTRA_FILTER_TYPE = "android.bluetooth.devicepicker.extra.FILTER_TYPE";
3615    field public static final String EXTRA_LAUNCH_CLASS = "android.bluetooth.devicepicker.extra.DEVICE_PICKER_LAUNCH_CLASS";
3616    field public static final String EXTRA_LAUNCH_PACKAGE = "android.bluetooth.devicepicker.extra.LAUNCH_PACKAGE";
3617    field public static final String EXTRA_NEED_AUTH = "android.bluetooth.devicepicker.extra.NEED_AUTH";
3618    field public static final int FILTER_TYPE_ALL = 0; // 0x0
3619    field public static final int FILTER_TYPE_AUDIO = 1; // 0x1
3620    field public static final int FILTER_TYPE_NAP = 4; // 0x4
3621    field public static final int FILTER_TYPE_PANU = 3; // 0x3
3622    field public static final int FILTER_TYPE_TRANSFER = 2; // 0x2
3623  }
3624
3625  public final class BluetoothHapClient implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
3626    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothHapPresetInfo getActivePresetInfo(@NonNull android.bluetooth.BluetoothDevice);
3627    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);
3628    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
3629    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@Nullable android.bluetooth.BluetoothDevice);
3630    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
3631    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
3632    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getHearingAidType(@NonNull android.bluetooth.BluetoothDevice);
3633    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);
3634    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void selectPreset(@NonNull android.bluetooth.BluetoothDevice, int);
3635    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void selectPresetForGroup(int, int);
3636    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3637    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setPresetName(@NonNull android.bluetooth.BluetoothDevice, int, @NonNull String);
3638    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setPresetNameForGroup(int, int, @NonNull String);
3639    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean supportsDynamicPresets(@NonNull android.bluetooth.BluetoothDevice);
3640    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean supportsIndependentPresets(@NonNull android.bluetooth.BluetoothDevice);
3641    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean supportsSynchronizedPresets(@NonNull android.bluetooth.BluetoothDevice);
3642    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean supportsWritablePresets(@NonNull android.bluetooth.BluetoothDevice);
3643    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothHapClient.Callback);
3644    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";
3645    field public static final int TYPE_BANDED = 2; // 0x2
3646    field public static final int TYPE_BINAURAL = 0; // 0x0
3647    field public static final int TYPE_MONAURAL = 1; // 0x1
3648    field public static final int TYPE_RFU = 3; // 0x3
3649  }
3650
3651  public static interface BluetoothHapClient.Callback {
3652    method public void onPresetInfoChanged(@NonNull android.bluetooth.BluetoothDevice, @NonNull java.util.List<android.bluetooth.BluetoothHapPresetInfo>, int);
3653    method public void onPresetSelected(@NonNull android.bluetooth.BluetoothDevice, int, int);
3654    method public void onPresetSelectionFailed(@NonNull android.bluetooth.BluetoothDevice, int);
3655    method public void onPresetSelectionForGroupFailed(int, int);
3656    method public void onSetPresetNameFailed(@NonNull android.bluetooth.BluetoothDevice, int);
3657    method public void onSetPresetNameForGroupFailed(int, int);
3658  }
3659
3660  public final class BluetoothHapPresetInfo implements android.os.Parcelable {
3661    method public int getIndex();
3662    method @NonNull public String getName();
3663    method public boolean isAvailable();
3664    method public boolean isWritable();
3665    method public void writeToParcel(@NonNull android.os.Parcel, int);
3666    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHapPresetInfo> CREATOR;
3667  }
3668
3669  public final class BluetoothHeadset implements android.bluetooth.BluetoothProfile {
3670    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean connect(android.bluetooth.BluetoothDevice);
3671    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int connectAudio();
3672    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disconnect(android.bluetooth.BluetoothDevice);
3673    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int disconnectAudio();
3674    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getAudioRouteAllowed();
3675    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getAudioState(@NonNull android.bluetooth.BluetoothDevice);
3676    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
3677    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isInbandRingingEnabled();
3678    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setAudioRouteAllowed(boolean);
3679    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);
3680    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean startScoUsingVirtualVoiceCall();
3681    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean stopScoUsingVirtualVoiceCall();
3682    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACTIVE_DEVICE_CHANGED = "android.bluetooth.headset.profile.action.ACTIVE_DEVICE_CHANGED";
3683  }
3684
3685  public final class BluetoothHeadsetClient implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
3686    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
3687    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
3688    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
3689    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
3690    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothHeadsetClient.NetworkServiceState getNetworkServiceState(@NonNull android.bluetooth.BluetoothDevice);
3691    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3692    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";
3693    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";
3694    field public static final String EXTRA_NETWORK_SERVICE_STATE = "android.bluetooth.headsetclient.extra.EXTRA_NETWORK_SERVICE_STATE";
3695  }
3696
3697  public static final class BluetoothHeadsetClient.NetworkServiceState implements android.os.Parcelable {
3698    method @NonNull public android.bluetooth.BluetoothDevice getDevice();
3699    method @Nullable public String getNetworkOperatorName();
3700    method @IntRange(from=0, to=5) public int getSignalStrength();
3701    method public boolean isRoaming();
3702    method public boolean isServiceAvailable();
3703    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHeadsetClient.NetworkServiceState> CREATOR;
3704  }
3705
3706  public final class BluetoothHearingAid implements android.bluetooth.BluetoothProfile {
3707    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothHearingAid.AdvertisementServiceData getAdvertisementServiceData(@NonNull android.bluetooth.BluetoothDevice);
3708    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
3709    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getDeviceMode(@NonNull android.bluetooth.BluetoothDevice);
3710    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getDeviceSide(@NonNull android.bluetooth.BluetoothDevice);
3711    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public long getHiSyncId(@NonNull android.bluetooth.BluetoothDevice);
3712    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3713    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setVolume(int);
3714    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACTIVE_DEVICE_CHANGED = "android.bluetooth.hearingaid.profile.action.ACTIVE_DEVICE_CHANGED";
3715    field public static final long HI_SYNC_ID_INVALID = 0L; // 0x0L
3716    field public static final int MODE_BINAURAL = 1; // 0x1
3717    field public static final int MODE_MONAURAL = 0; // 0x0
3718    field public static final int MODE_UNKNOWN = -1; // 0xffffffff
3719    field public static final int SIDE_LEFT = 0; // 0x0
3720    field public static final int SIDE_RIGHT = 1; // 0x1
3721    field public static final int SIDE_UNKNOWN = -1; // 0xffffffff
3722  }
3723
3724  public static final class BluetoothHearingAid.AdvertisementServiceData implements android.os.Parcelable {
3725    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getDeviceMode();
3726    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getDeviceSide();
3727    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getTruncatedHiSyncId();
3728    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isCsipSupported();
3729    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isInPairWith(@Nullable android.bluetooth.BluetoothHearingAid.AdvertisementServiceData);
3730    method public void writeToParcel(@NonNull android.os.Parcel, int);
3731    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHearingAid.AdvertisementServiceData> CREATOR;
3732  }
3733
3734  public final class BluetoothHidDevice implements android.bluetooth.BluetoothProfile {
3735    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3736  }
3737
3738  public final class BluetoothHidHost implements android.bluetooth.BluetoothProfile {
3739    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
3740    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
3741    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
3742    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3743    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.input.profile.action.CONNECTION_STATE_CHANGED";
3744  }
3745
3746  public final class BluetoothLeAudio implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
3747    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getAudioLocation(@NonNull android.bluetooth.BluetoothDevice);
3748    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothLeAudioCodecStatus getCodecStatus(int);
3749    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@Nullable android.bluetooth.BluetoothDevice);
3750    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isInbandRingtoneEnabled(int);
3751    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);
3752    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);
3753    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3754    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setVolume(@IntRange(from=0, to=255) int);
3755    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothLeAudio.Callback);
3756    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";
3757    field public static final int AUDIO_LOCATION_BACK_CENTER = 256; // 0x100
3758    field public static final int AUDIO_LOCATION_BACK_LEFT = 16; // 0x10
3759    field public static final int AUDIO_LOCATION_BACK_RIGHT = 32; // 0x20
3760    field public static final int AUDIO_LOCATION_BOTTOM_FRONT_CENTER = 2097152; // 0x200000
3761    field public static final int AUDIO_LOCATION_BOTTOM_FRONT_LEFT = 4194304; // 0x400000
3762    field public static final int AUDIO_LOCATION_BOTTOM_FRONT_RIGHT = 8388608; // 0x800000
3763    field public static final int AUDIO_LOCATION_FRONT_CENTER = 4; // 0x4
3764    field public static final int AUDIO_LOCATION_FRONT_LEFT = 1; // 0x1
3765    field public static final int AUDIO_LOCATION_FRONT_LEFT_OF_CENTER = 64; // 0x40
3766    field public static final int AUDIO_LOCATION_FRONT_LEFT_WIDE = 16777216; // 0x1000000
3767    field public static final int AUDIO_LOCATION_FRONT_RIGHT = 2; // 0x2
3768    field public static final int AUDIO_LOCATION_FRONT_RIGHT_OF_CENTER = 128; // 0x80
3769    field public static final int AUDIO_LOCATION_FRONT_RIGHT_WIDE = 33554432; // 0x2000000
3770    field public static final int AUDIO_LOCATION_INVALID = 0; // 0x0
3771    field public static final int AUDIO_LOCATION_LEFT_SURROUND = 67108864; // 0x4000000
3772    field public static final int AUDIO_LOCATION_LOW_FREQ_EFFECTS_ONE = 8; // 0x8
3773    field public static final int AUDIO_LOCATION_LOW_FREQ_EFFECTS_TWO = 512; // 0x200
3774    field public static final int AUDIO_LOCATION_RIGHT_SURROUND = 134217728; // 0x8000000
3775    field public static final int AUDIO_LOCATION_SIDE_LEFT = 1024; // 0x400
3776    field public static final int AUDIO_LOCATION_SIDE_RIGHT = 2048; // 0x800
3777    field public static final int AUDIO_LOCATION_TOP_BACK_CENTER = 1048576; // 0x100000
3778    field public static final int AUDIO_LOCATION_TOP_BACK_LEFT = 65536; // 0x10000
3779    field public static final int AUDIO_LOCATION_TOP_BACK_RIGHT = 131072; // 0x20000
3780    field public static final int AUDIO_LOCATION_TOP_CENTER = 32768; // 0x8000
3781    field public static final int AUDIO_LOCATION_TOP_FRONT_CENTER = 16384; // 0x4000
3782    field public static final int AUDIO_LOCATION_TOP_FRONT_LEFT = 4096; // 0x1000
3783    field public static final int AUDIO_LOCATION_TOP_FRONT_RIGHT = 8192; // 0x2000
3784    field public static final int AUDIO_LOCATION_TOP_SIDE_LEFT = 262144; // 0x40000
3785    field public static final int AUDIO_LOCATION_TOP_SIDE_RIGHT = 524288; // 0x80000
3786    field public static final String EXTRA_LE_AUDIO_GROUP_ID = "android.bluetooth.extra.LE_AUDIO_GROUP_ID";
3787  }
3788
3789  public static interface BluetoothLeAudio.Callback {
3790    method public void onCodecConfigChanged(int, @NonNull android.bluetooth.BluetoothLeAudioCodecStatus);
3791    method public void onGroupNodeAdded(@NonNull android.bluetooth.BluetoothDevice, int);
3792    method public void onGroupNodeRemoved(@NonNull android.bluetooth.BluetoothDevice, int);
3793    method public void onGroupStatusChanged(int, int);
3794  }
3795
3796  public final class BluetoothLeAudioCodecConfigMetadata implements android.os.Parcelable {
3797    method @NonNull public static android.bluetooth.BluetoothLeAudioCodecConfigMetadata fromRawBytes(@NonNull byte[]);
3798    method public long getAudioLocation();
3799    method public int getFrameDuration();
3800    method public int getOctetsPerFrame();
3801    method @NonNull public byte[] getRawMetadata();
3802    method public int getSampleRate();
3803    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeAudioCodecConfigMetadata> CREATOR;
3804  }
3805
3806  public static final class BluetoothLeAudioCodecConfigMetadata.Builder {
3807    ctor public BluetoothLeAudioCodecConfigMetadata.Builder();
3808    ctor public BluetoothLeAudioCodecConfigMetadata.Builder(@NonNull android.bluetooth.BluetoothLeAudioCodecConfigMetadata);
3809    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata build();
3810    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata.Builder setAudioLocation(long);
3811    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata.Builder setFrameDuration(int);
3812    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata.Builder setOctetsPerFrame(int);
3813    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata.Builder setSampleRate(int);
3814  }
3815
3816  public final class BluetoothLeAudioContentMetadata implements android.os.Parcelable {
3817    method @NonNull public static android.bluetooth.BluetoothLeAudioContentMetadata fromRawBytes(@NonNull byte[]);
3818    method @Nullable public String getLanguage();
3819    method @Nullable public String getProgramInfo();
3820    method @NonNull public byte[] getRawMetadata();
3821    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeAudioContentMetadata> CREATOR;
3822  }
3823
3824  public static final class BluetoothLeAudioContentMetadata.Builder {
3825    ctor public BluetoothLeAudioContentMetadata.Builder();
3826    ctor public BluetoothLeAudioContentMetadata.Builder(@NonNull android.bluetooth.BluetoothLeAudioContentMetadata);
3827    method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata build();
3828    method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata.Builder setLanguage(@Nullable String);
3829    method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata.Builder setProgramInfo(@Nullable String);
3830  }
3831
3832  public final class BluetoothLeBroadcast implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
3833    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothLeBroadcastMetadata> getAllBroadcastMetadata();
3834    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getMaximumNumberOfBroadcasts();
3835    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getMaximumStreamsPerBroadcast();
3836    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getMaximumSubgroupsPerBroadcast();
3837    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isPlaying(int);
3838    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);
3839    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void startBroadcast(@NonNull android.bluetooth.BluetoothLeAudioContentMetadata, @Nullable byte[]);
3840    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void startBroadcast(@NonNull android.bluetooth.BluetoothLeBroadcastSettings);
3841    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopBroadcast(int);
3842    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothLeBroadcast.Callback);
3843    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void updateBroadcast(int, @NonNull android.bluetooth.BluetoothLeAudioContentMetadata);
3844    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void updateBroadcast(int, @NonNull android.bluetooth.BluetoothLeBroadcastSettings);
3845  }
3846
3847  public static interface BluetoothLeBroadcast.Callback {
3848    method public void onBroadcastMetadataChanged(int, @NonNull android.bluetooth.BluetoothLeBroadcastMetadata);
3849    method public void onBroadcastStartFailed(int);
3850    method public void onBroadcastStarted(int, int);
3851    method public void onBroadcastStopFailed(int);
3852    method public void onBroadcastStopped(int, int);
3853    method public void onBroadcastUpdateFailed(int, int);
3854    method public void onBroadcastUpdated(int, int);
3855    method public void onPlaybackStarted(int, int);
3856    method public void onPlaybackStopped(int, int);
3857  }
3858
3859  public final class BluetoothLeBroadcastAssistant implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
3860    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);
3861    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);
3862    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
3863    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
3864    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
3865    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
3866    method public int getMaximumSourceCapacity(@NonNull android.bluetooth.BluetoothDevice);
3867    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isSearchInProgress();
3868    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);
3869    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);
3870    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void removeSource(@NonNull android.bluetooth.BluetoothDevice, int);
3871    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3872    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void startSearchingForSources(@NonNull java.util.List<android.bluetooth.le.ScanFilter>);
3873    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopSearchingForSources();
3874    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothLeBroadcastAssistant.Callback);
3875    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";
3876  }
3877
3878  public static interface BluetoothLeBroadcastAssistant.Callback {
3879    method public void onReceiveStateChanged(@NonNull android.bluetooth.BluetoothDevice, int, @NonNull android.bluetooth.BluetoothLeBroadcastReceiveState);
3880    method public void onSearchStartFailed(int);
3881    method public void onSearchStarted(int);
3882    method public void onSearchStopFailed(int);
3883    method public void onSearchStopped(int);
3884    method public void onSourceAddFailed(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothLeBroadcastMetadata, int);
3885    method public void onSourceAdded(@NonNull android.bluetooth.BluetoothDevice, int, int);
3886    method public void onSourceFound(@NonNull android.bluetooth.BluetoothLeBroadcastMetadata);
3887    method public void onSourceModified(@NonNull android.bluetooth.BluetoothDevice, int, int);
3888    method public void onSourceModifyFailed(@NonNull android.bluetooth.BluetoothDevice, int, int);
3889    method public void onSourceRemoveFailed(@NonNull android.bluetooth.BluetoothDevice, int, int);
3890    method public void onSourceRemoved(@NonNull android.bluetooth.BluetoothDevice, int, int);
3891  }
3892
3893  public final class BluetoothLeBroadcastChannel implements android.os.Parcelable {
3894    method public int getChannelIndex();
3895    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata getCodecMetadata();
3896    method public boolean isSelected();
3897    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastChannel> CREATOR;
3898  }
3899
3900  public static final class BluetoothLeBroadcastChannel.Builder {
3901    ctor public BluetoothLeBroadcastChannel.Builder();
3902    ctor public BluetoothLeBroadcastChannel.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastChannel);
3903    method @NonNull public android.bluetooth.BluetoothLeBroadcastChannel build();
3904    method @NonNull public android.bluetooth.BluetoothLeBroadcastChannel.Builder setChannelIndex(int);
3905    method @NonNull public android.bluetooth.BluetoothLeBroadcastChannel.Builder setCodecMetadata(@NonNull android.bluetooth.BluetoothLeAudioCodecConfigMetadata);
3906    method @NonNull public android.bluetooth.BluetoothLeBroadcastChannel.Builder setSelected(boolean);
3907  }
3908
3909  public final class BluetoothLeBroadcastMetadata implements android.os.Parcelable {
3910    method public int getAudioConfigQuality();
3911    method @Nullable public byte[] getBroadcastCode();
3912    method public int getBroadcastId();
3913    method @Nullable public String getBroadcastName();
3914    method public int getPaSyncInterval();
3915    method @IntRange(from=0, to=16777215) public int getPresentationDelayMicros();
3916    method @Nullable public android.bluetooth.BluetoothLeAudioContentMetadata getPublicBroadcastMetadata();
3917    method public int getSourceAddressType();
3918    method public int getSourceAdvertisingSid();
3919    method @NonNull public android.bluetooth.BluetoothDevice getSourceDevice();
3920    method @NonNull public java.util.List<android.bluetooth.BluetoothLeBroadcastSubgroup> getSubgroups();
3921    method public boolean isEncrypted();
3922    method public boolean isPublicBroadcast();
3923    field public static final int AUDIO_CONFIG_QUALITY_HIGH = 2; // 0x2
3924    field public static final int AUDIO_CONFIG_QUALITY_NONE = 0; // 0x0
3925    field public static final int AUDIO_CONFIG_QUALITY_STANDARD = 1; // 0x1
3926    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastMetadata> CREATOR;
3927    field public static final int PA_SYNC_INTERVAL_UNKNOWN = 65535; // 0xffff
3928  }
3929
3930  public static final class BluetoothLeBroadcastMetadata.Builder {
3931    ctor public BluetoothLeBroadcastMetadata.Builder();
3932    ctor public BluetoothLeBroadcastMetadata.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastMetadata);
3933    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder addSubgroup(@NonNull android.bluetooth.BluetoothLeBroadcastSubgroup);
3934    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata build();
3935    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder clearSubgroup();
3936    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setAudioConfigQuality(int);
3937    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setBroadcastCode(@Nullable byte[]);
3938    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setBroadcastId(int);
3939    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setBroadcastName(@Nullable String);
3940    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setEncrypted(boolean);
3941    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setPaSyncInterval(int);
3942    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setPresentationDelayMicros(@IntRange(from=0, to=16777215) int);
3943    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setPublicBroadcast(boolean);
3944    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setPublicBroadcastMetadata(@Nullable android.bluetooth.BluetoothLeAudioContentMetadata);
3945    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setSourceAdvertisingSid(int);
3946    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setSourceDevice(@NonNull android.bluetooth.BluetoothDevice, int);
3947  }
3948
3949  public final class BluetoothLeBroadcastReceiveState implements android.os.Parcelable {
3950    method @Nullable public byte[] getBadCode();
3951    method public int getBigEncryptionState();
3952    method @NonNull public java.util.List<java.lang.Long> getBisSyncState();
3953    method public int getBroadcastId();
3954    method public int getNumSubgroups();
3955    method public int getPaSyncState();
3956    method public int getSourceAddressType();
3957    method public int getSourceAdvertisingSid();
3958    method @NonNull public android.bluetooth.BluetoothDevice getSourceDevice();
3959    method @IntRange(from=0, to=255) public int getSourceId();
3960    method @NonNull public java.util.List<android.bluetooth.BluetoothLeAudioContentMetadata> getSubgroupMetadata();
3961    field public static final int BIG_ENCRYPTION_STATE_BAD_CODE = 3; // 0x3
3962    field public static final int BIG_ENCRYPTION_STATE_CODE_REQUIRED = 1; // 0x1
3963    field public static final int BIG_ENCRYPTION_STATE_DECRYPTING = 2; // 0x2
3964    field public static final int BIG_ENCRYPTION_STATE_NOT_ENCRYPTED = 0; // 0x0
3965    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastReceiveState> CREATOR;
3966    field public static final int PA_SYNC_STATE_FAILED_TO_SYNCHRONIZE = 3; // 0x3
3967    field public static final int PA_SYNC_STATE_IDLE = 0; // 0x0
3968    field public static final int PA_SYNC_STATE_NO_PAST = 4; // 0x4
3969    field public static final int PA_SYNC_STATE_SYNCHRONIZED = 2; // 0x2
3970    field public static final int PA_SYNC_STATE_SYNCINFO_REQUEST = 1; // 0x1
3971  }
3972
3973  public final class BluetoothLeBroadcastSettings implements android.os.Parcelable {
3974    method @Nullable public byte[] getBroadcastCode();
3975    method @Nullable public String getBroadcastName();
3976    method @Nullable public android.bluetooth.BluetoothLeAudioContentMetadata getPublicBroadcastMetadata();
3977    method @NonNull public java.util.List<android.bluetooth.BluetoothLeBroadcastSubgroupSettings> getSubgroupSettings();
3978    method public boolean isPublicBroadcast();
3979    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastSettings> CREATOR;
3980  }
3981
3982  public static final class BluetoothLeBroadcastSettings.Builder {
3983    ctor public BluetoothLeBroadcastSettings.Builder();
3984    ctor public BluetoothLeBroadcastSettings.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastSettings);
3985    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder addSubgroupSettings(@NonNull android.bluetooth.BluetoothLeBroadcastSubgroupSettings);
3986    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings build();
3987    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder clearSubgroupSettings();
3988    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder setBroadcastCode(@Nullable byte[]);
3989    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder setBroadcastName(@Nullable String);
3990    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder setPublicBroadcast(boolean);
3991    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder setPublicBroadcastMetadata(@Nullable android.bluetooth.BluetoothLeAudioContentMetadata);
3992  }
3993
3994  public final class BluetoothLeBroadcastSubgroup implements android.os.Parcelable {
3995    method @NonNull public java.util.List<android.bluetooth.BluetoothLeBroadcastChannel> getChannels();
3996    method public long getCodecId();
3997    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata getCodecSpecificConfig();
3998    method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata getContentMetadata();
3999    method public boolean hasChannelPreference();
4000    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastSubgroup> CREATOR;
4001  }
4002
4003  public static final class BluetoothLeBroadcastSubgroup.Builder {
4004    ctor public BluetoothLeBroadcastSubgroup.Builder();
4005    ctor public BluetoothLeBroadcastSubgroup.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastSubgroup);
4006    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder addChannel(@NonNull android.bluetooth.BluetoothLeBroadcastChannel);
4007    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup build();
4008    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder clearChannel();
4009    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder setCodecId(long);
4010    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder setCodecSpecificConfig(@NonNull android.bluetooth.BluetoothLeAudioCodecConfigMetadata);
4011    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder setContentMetadata(@NonNull android.bluetooth.BluetoothLeAudioContentMetadata);
4012  }
4013
4014  public final class BluetoothLeBroadcastSubgroupSettings implements android.os.Parcelable {
4015    method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata getContentMetadata();
4016    method public int getPreferredQuality();
4017    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastSubgroupSettings> CREATOR;
4018    field public static final int QUALITY_HIGH = 1; // 0x1
4019    field public static final int QUALITY_STANDARD = 0; // 0x0
4020  }
4021
4022  public static final class BluetoothLeBroadcastSubgroupSettings.Builder {
4023    ctor public BluetoothLeBroadcastSubgroupSettings.Builder();
4024    ctor public BluetoothLeBroadcastSubgroupSettings.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastSubgroupSettings);
4025    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroupSettings build();
4026    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroupSettings.Builder setContentMetadata(@NonNull android.bluetooth.BluetoothLeAudioContentMetadata);
4027    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroupSettings.Builder setPreferredQuality(int);
4028  }
4029
4030  public final class BluetoothMap implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4031    method public void close();
4032    method protected void finalize();
4033    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4034    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4035    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4036    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.map.profile.action.CONNECTION_STATE_CHANGED";
4037  }
4038
4039  public final class BluetoothMapClient implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4040    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4041    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4042    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4043    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
4044    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);
4045    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4046    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";
4047  }
4048
4049  public final class BluetoothPan implements android.bluetooth.BluetoothProfile {
4050    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4051    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4052    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isTetheringOn();
4053    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.TETHER_PRIVILEGED}) public void setBluetoothTethering(boolean);
4054    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4055    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED";
4056    field public static final String ACTION_TETHERING_STATE_CHANGED = "android.bluetooth.action.TETHERING_STATE_CHANGED";
4057    field public static final String EXTRA_LOCAL_ROLE = "android.bluetooth.pan.extra.LOCAL_ROLE";
4058    field public static final String EXTRA_TETHERING_STATE = "android.bluetooth.extra.TETHERING_STATE";
4059    field public static final int LOCAL_NAP_ROLE = 1; // 0x1
4060    field public static final int LOCAL_PANU_ROLE = 2; // 0x2
4061    field public static final int PAN_ROLE_NONE = 0; // 0x0
4062    field public static final int REMOTE_NAP_ROLE = 1; // 0x1
4063    field public static final int REMOTE_PANU_ROLE = 2; // 0x2
4064    field public static final int TETHERING_STATE_OFF = 1; // 0x1
4065    field public static final int TETHERING_STATE_ON = 2; // 0x2
4066  }
4067
4068  public class BluetoothPbap implements android.bluetooth.BluetoothProfile {
4069    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4070    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4071    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.pbap.profile.action.CONNECTION_STATE_CHANGED";
4072  }
4073
4074  public final class BluetoothPbapClient implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4075    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4076    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4077    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4078    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
4079    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4080    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";
4081  }
4082
4083  public interface BluetoothProfile {
4084    method @NonNull public static String getConnectionStateName(int);
4085    method @NonNull public static String getProfileName(int);
4086    field public static final int A2DP_SINK = 11; // 0xb
4087    field public static final int AVRCP_CONTROLLER = 12; // 0xc
4088    field public static final int CONNECTION_POLICY_ALLOWED = 100; // 0x64
4089    field public static final int CONNECTION_POLICY_FORBIDDEN = 0; // 0x0
4090    field public static final int CONNECTION_POLICY_UNKNOWN = -1; // 0xffffffff
4091    field public static final int HEADSET_CLIENT = 16; // 0x10
4092    field public static final int HID_HOST = 4; // 0x4
4093    field public static final int LE_AUDIO_BROADCAST = 26; // 0x1a
4094    field public static final int LE_AUDIO_BROADCAST_ASSISTANT = 29; // 0x1d
4095    field public static final int MAP = 9; // 0x9
4096    field public static final int MAP_CLIENT = 18; // 0x12
4097    field public static final int OPP = 20; // 0x14
4098    field public static final int PAN = 5; // 0x5
4099    field public static final int PBAP = 6; // 0x6
4100    field public static final int PBAP_CLIENT = 17; // 0x11
4101    field @Deprecated public static final int PRIORITY_OFF = 0; // 0x0
4102    field @Deprecated public static final int PRIORITY_ON = 100; // 0x64
4103    field public static final int VOLUME_CONTROL = 23; // 0x17
4104  }
4105
4106  public final class BluetoothQualityReport implements android.os.Parcelable {
4107    method @Nullable public android.bluetooth.BluetoothClass getBluetoothClass();
4108    method @Nullable public android.bluetooth.BluetoothQualityReport.BqrCommon getBqrCommon();
4109    method @Nullable public android.os.Parcelable getBqrEvent();
4110    method public int getLmpSubVersion();
4111    method public int getLmpVersion();
4112    method public int getManufacturerId();
4113    method public int getQualityReportId();
4114    method @Nullable public String getRemoteAddress();
4115    method @Nullable public String getRemoteName();
4116    method @NonNull public static String qualityReportIdToString(int);
4117    method public void writeToParcel(@NonNull android.os.Parcel, int);
4118    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport> CREATOR;
4119    field public static final int QUALITY_REPORT_ID_A2DP_CHOPPY = 3; // 0x3
4120    field public static final int QUALITY_REPORT_ID_APPROACH_LSTO = 2; // 0x2
4121    field public static final int QUALITY_REPORT_ID_CONN_FAIL = 8; // 0x8
4122    field public static final int QUALITY_REPORT_ID_MONITOR = 1; // 0x1
4123    field public static final int QUALITY_REPORT_ID_SCO_CHOPPY = 4; // 0x4
4124  }
4125
4126  public static final class BluetoothQualityReport.BqrCommon implements android.os.Parcelable {
4127    method @NonNull public static String connectionRoleToString(int);
4128    method public int getAfhSelectUnidealChannelCount();
4129    method public int getCalFailedItemCount();
4130    method public int getConnectionHandle();
4131    method public int getConnectionRole();
4132    method public long getFlowOffCount();
4133    method public long getLastFlowOnTimestamp();
4134    method public long getLastTxAckTimestamp();
4135    method public int getLsto();
4136    method public long getNakCount();
4137    method public long getNoRxCount();
4138    method public long getOverflowCount();
4139    method public int getPacketType();
4140    method public long getPiconetClock();
4141    method public long getRetransmissionCount();
4142    method public int getRssi();
4143    method public int getSnr();
4144    method public int getTxPowerLevel();
4145    method public long getUnderflowCount();
4146    method public int getUnusedAfhChannelCount();
4147    method @Nullable public static String packetTypeToString(int);
4148    method public void writeToParcel(@NonNull android.os.Parcel, int);
4149    field public static final int CONNECTION_ROLE_CENTRAL = 0; // 0x0
4150    field public static final int CONNECTION_ROLE_PERIPHERAL = 1; // 0x1
4151    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrCommon> CREATOR;
4152  }
4153
4154  public static final class BluetoothQualityReport.BqrConnectFail implements android.os.Parcelable {
4155    method @NonNull public static String connectFailIdToString(int);
4156    method public int getFailReason();
4157    method public void writeToParcel(@NonNull android.os.Parcel, int);
4158    field public static final int CONNECT_FAIL_ID_ACL_ALREADY_EXIST = 11; // 0xb
4159    field public static final int CONNECT_FAIL_ID_CONNECTION_TIMEOUT = 8; // 0x8
4160    field public static final int CONNECT_FAIL_ID_CONTROLLER_BUSY = 58; // 0x3a
4161    field public static final int CONNECT_FAIL_ID_NO_ERROR = 0; // 0x0
4162    field public static final int CONNECT_FAIL_ID_PAGE_TIMEOUT = 4; // 0x4
4163    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrConnectFail> CREATOR;
4164  }
4165
4166  public static final class BluetoothQualityReport.BqrVsA2dpChoppy implements android.os.Parcelable {
4167    method public int getAclTxQueueLength();
4168    method public long getArrivalTime();
4169    method public int getGlitchCount();
4170    method public int getLinkQuality();
4171    method public int getRxCxmDenials();
4172    method public long getScheduleTime();
4173    method public int getTxCxmDenials();
4174    method @Nullable public static String linkQualityToString(int);
4175    method public void writeToParcel(@NonNull android.os.Parcel, int);
4176    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrVsA2dpChoppy> CREATOR;
4177  }
4178
4179  public static final class BluetoothQualityReport.BqrVsLsto implements android.os.Parcelable {
4180    method @Nullable public static String connStateToString(int);
4181    method public long getBasebandStats();
4182    method public int getConnState();
4183    method public int getCxmDenials();
4184    method public long getLastTxAckTimestamp();
4185    method public long getNativeClock();
4186    method public int getRfLoss();
4187    method public long getSlotsUsed();
4188    method public int getTxSkipped();
4189    method public void writeToParcel(@NonNull android.os.Parcel, int);
4190    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrVsLsto> CREATOR;
4191  }
4192
4193  public static final class BluetoothQualityReport.BqrVsScoChoppy implements android.os.Parcelable {
4194    method @Nullable public static String airFormatToString(int);
4195    method public int getAirFormat();
4196    method public int getGlitchCount();
4197    method public int getGoodRxFrameCount();
4198    method public int getInstanceCount();
4199    method public int getIntervalEsco();
4200    method public int getLateDispatch();
4201    method public int getLpaIntrMiss();
4202    method public int getMicIntrMiss();
4203    method public int getMissedInstanceCount();
4204    method public int getPlcDiscardCount();
4205    method public int getPlcFillCount();
4206    method public int getRxCxmDenials();
4207    method public int getRxRetransmitSlotCount();
4208    method public int getSprIntrMiss();
4209    method public int getTxAbortCount();
4210    method public int getTxCxmDenials();
4211    method public int getTxRetransmitSlotCount();
4212    method public int getWindowEsco();
4213    method public void writeToParcel(@NonNull android.os.Parcel, int);
4214    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrVsScoChoppy> CREATOR;
4215  }
4216
4217  public static final class BluetoothQualityReport.Builder {
4218    ctor public BluetoothQualityReport.Builder(@NonNull byte[]);
4219    method @NonNull public android.bluetooth.BluetoothQualityReport build();
4220    method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setBluetoothClass(@Nullable android.bluetooth.BluetoothClass);
4221    method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setLmpSubVersion(int);
4222    method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setLmpVersion(int);
4223    method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setManufacturerId(int);
4224    method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setRemoteAddress(@Nullable String);
4225    method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setRemoteName(@Nullable String);
4226  }
4227
4228  public final class BluetoothSap implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4229    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4230    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4231    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.sap.profile.action.CONNECTION_STATE_CHANGED";
4232  }
4233
4234  public final class BluetoothSinkAudioPolicy implements android.os.Parcelable {
4235    method public int getActiveDevicePolicyAfterConnection();
4236    method public int getCallEstablishPolicy();
4237    method public int getInBandRingtonePolicy();
4238    method public void writeToParcel(@NonNull android.os.Parcel, int);
4239    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothSinkAudioPolicy> CREATOR;
4240    field public static final int POLICY_ALLOWED = 1; // 0x1
4241    field public static final int POLICY_NOT_ALLOWED = 2; // 0x2
4242    field public static final int POLICY_UNCONFIGURED = 0; // 0x0
4243  }
4244
4245  public static final class BluetoothSinkAudioPolicy.Builder {
4246    ctor public BluetoothSinkAudioPolicy.Builder();
4247    ctor public BluetoothSinkAudioPolicy.Builder(@NonNull android.bluetooth.BluetoothSinkAudioPolicy);
4248    method @NonNull public android.bluetooth.BluetoothSinkAudioPolicy build();
4249    method @NonNull public android.bluetooth.BluetoothSinkAudioPolicy.Builder setActiveDevicePolicyAfterConnection(int);
4250    method @NonNull public android.bluetooth.BluetoothSinkAudioPolicy.Builder setCallEstablishPolicy(int);
4251    method @NonNull public android.bluetooth.BluetoothSinkAudioPolicy.Builder setInBandRingtonePolicy(int);
4252  }
4253
4254  public final class BluetoothStatusCodes {
4255    field public static final int ALLOWED = 400; // 0x190
4256    field public static final int ERROR_ALREADY_IN_TARGET_STATE = 26; // 0x1a
4257    field public static final int ERROR_ANOTHER_ACTIVE_OOB_REQUEST = 1000; // 0x3e8
4258    field public static final int ERROR_ANOTHER_ACTIVE_REQUEST = 29; // 0x1d
4259    field public static final int ERROR_AUDIO_DEVICE_ALREADY_CONNECTED = 1116; // 0x45c
4260    field public static final int ERROR_AUDIO_DEVICE_ALREADY_DISCONNECTED = 1117; // 0x45d
4261    field public static final int ERROR_AUDIO_ROUTE_BLOCKED = 1118; // 0x45e
4262    field public static final int ERROR_BAD_PARAMETERS = 21; // 0x15
4263    field public static final int ERROR_CALLBACK_NOT_REGISTERED = 28; // 0x1c
4264    field public static final int ERROR_CALL_ACTIVE = 1119; // 0x45f
4265    field public static final int ERROR_CSIP_GROUP_LOCKED_BY_OTHER = 1208; // 0x4b8
4266    field public static final int ERROR_CSIP_INVALID_GROUP_ID = 1207; // 0x4b7
4267    field public static final int ERROR_CSIP_LOCKED_GROUP_MEMBER_LOST = 1209; // 0x4b9
4268    field public static final int ERROR_DISTANCE_MEASUREMENT_INTERNAL = 1301; // 0x515
4269    field public static final int ERROR_HAP_INVALID_PRESET_INDEX = 1211; // 0x4bb
4270    field public static final int ERROR_HAP_PRESET_NAME_TOO_LONG = 1210; // 0x4ba
4271    field public static final int ERROR_HARDWARE_GENERIC = 20; // 0x14
4272    field public static final int ERROR_LE_BROADCAST_ASSISTANT_DUPLICATE_ADDITION = 1203; // 0x4b3
4273    field public static final int ERROR_LE_BROADCAST_ASSISTANT_INVALID_SOURCE_ID = 1202; // 0x4b2
4274    field public static final int ERROR_LE_BROADCAST_INVALID_BROADCAST_ID = 1200; // 0x4b0
4275    field public static final int ERROR_LE_BROADCAST_INVALID_CODE = 1201; // 0x4b1
4276    field public static final int ERROR_LE_CONTENT_METADATA_INVALID_LANGUAGE = 1205; // 0x4b5
4277    field public static final int ERROR_LE_CONTENT_METADATA_INVALID_OTHER = 1206; // 0x4b6
4278    field public static final int ERROR_LE_CONTENT_METADATA_INVALID_PROGRAM_INFO = 1204; // 0x4b4
4279    field public static final int ERROR_LOCAL_NOT_ENOUGH_RESOURCES = 22; // 0x16
4280    field public static final int ERROR_NOT_ACTIVE_DEVICE = 12; // 0xc
4281    field public static final int ERROR_NOT_DUAL_MODE_AUDIO_DEVICE = 3000; // 0xbb8
4282    field public static final int ERROR_NO_ACTIVE_DEVICES = 13; // 0xd
4283    field public static final int ERROR_NO_LE_CONNECTION = 1300; // 0x514
4284    field public static final int ERROR_PROFILE_NOT_CONNECTED = 14; // 0xe
4285    field public static final int ERROR_REMOTE_LINK_ERROR = 25; // 0x19
4286    field public static final int ERROR_REMOTE_NOT_ENOUGH_RESOURCES = 23; // 0x17
4287    field public static final int ERROR_REMOTE_OPERATION_NOT_SUPPORTED = 27; // 0x1b
4288    field public static final int ERROR_REMOTE_OPERATION_REJECTED = 24; // 0x18
4289    field public static final int ERROR_TIMEOUT = 15; // 0xf
4290    field public static final int NOT_ALLOWED = 401; // 0x191
4291    field public static final int REASON_LOCAL_APP_REQUEST = 16; // 0x10
4292    field public static final int REASON_LOCAL_STACK_REQUEST = 17; // 0x11
4293    field public static final int REASON_REMOTE_REQUEST = 18; // 0x12
4294    field public static final int REASON_SYSTEM_POLICY = 19; // 0x13
4295    field public static final int RFCOMM_LISTENER_FAILED_TO_CLOSE_SERVER_SOCKET = 2004; // 0x7d4
4296    field public static final int RFCOMM_LISTENER_FAILED_TO_CREATE_SERVER_SOCKET = 2003; // 0x7d3
4297    field public static final int RFCOMM_LISTENER_NO_SOCKET_AVAILABLE = 2005; // 0x7d5
4298    field public static final int RFCOMM_LISTENER_OPERATION_FAILED_DIFFERENT_APP = 2002; // 0x7d2
4299    field public static final int RFCOMM_LISTENER_OPERATION_FAILED_NO_MATCHING_SERVICE_RECORD = 2001; // 0x7d1
4300    field public static final int RFCOMM_LISTENER_START_FAILED_UUID_IN_USE = 2000; // 0x7d0
4301  }
4302
4303  public final class BluetoothUuid {
4304    method public static boolean containsAnyUuid(@Nullable android.os.ParcelUuid[], @Nullable android.os.ParcelUuid[]);
4305    method @NonNull public static android.os.ParcelUuid parseUuidFrom(@Nullable byte[]);
4306    field @NonNull public static final android.os.ParcelUuid A2DP_SINK;
4307    field @NonNull public static final android.os.ParcelUuid A2DP_SOURCE;
4308    field @NonNull public static final android.os.ParcelUuid ADV_AUDIO_DIST;
4309    field @NonNull public static final android.os.ParcelUuid AVRCP;
4310    field @NonNull public static final android.os.ParcelUuid AVRCP_CONTROLLER;
4311    field @NonNull public static final android.os.ParcelUuid AVRCP_TARGET;
4312    field @NonNull public static final android.os.ParcelUuid BASE_UUID;
4313    field @NonNull public static final android.os.ParcelUuid BASS;
4314    field @NonNull public static final android.os.ParcelUuid BNEP;
4315    field @NonNull public static final android.os.ParcelUuid CAP;
4316    field @NonNull public static final android.os.ParcelUuid COORDINATED_SET;
4317    field @NonNull public static final android.os.ParcelUuid DIP;
4318    field @NonNull public static final android.os.ParcelUuid GENERIC_MEDIA_CONTROL;
4319    field @NonNull public static final android.os.ParcelUuid HAS;
4320    field @NonNull public static final android.os.ParcelUuid HEARING_AID;
4321    field @NonNull public static final android.os.ParcelUuid HFP;
4322    field @NonNull public static final android.os.ParcelUuid HFP_AG;
4323    field @NonNull public static final android.os.ParcelUuid HID;
4324    field @NonNull public static final android.os.ParcelUuid HOGP;
4325    field @NonNull public static final android.os.ParcelUuid HSP;
4326    field @NonNull public static final android.os.ParcelUuid HSP_AG;
4327    field @NonNull public static final android.os.ParcelUuid LE_AUDIO;
4328    field @NonNull public static final android.os.ParcelUuid MAP;
4329    field @NonNull public static final android.os.ParcelUuid MAS;
4330    field @NonNull public static final android.os.ParcelUuid MEDIA_CONTROL;
4331    field @NonNull public static final android.os.ParcelUuid MNS;
4332    field @NonNull public static final android.os.ParcelUuid NAP;
4333    field @NonNull public static final android.os.ParcelUuid OBEX_OBJECT_PUSH;
4334    field @NonNull public static final android.os.ParcelUuid PANU;
4335    field @NonNull public static final android.os.ParcelUuid PBAP_PCE;
4336    field @NonNull public static final android.os.ParcelUuid PBAP_PSE;
4337    field @NonNull public static final android.os.ParcelUuid SAP;
4338    field public static final int UUID_BYTES_128_BIT = 16; // 0x10
4339    field public static final int UUID_BYTES_16_BIT = 2; // 0x2
4340    field public static final int UUID_BYTES_32_BIT = 4; // 0x4
4341    field @NonNull public static final android.os.ParcelUuid VOLUME_CONTROL;
4342  }
4343
4344  public final class BluetoothVolumeControl implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4345    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public void close();
4346    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) protected void finalize();
4347    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4348    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4349    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isVolumeOffsetAvailable(@NonNull android.bluetooth.BluetoothDevice);
4350    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);
4351    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4352    method @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);
4353    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothVolumeControl.Callback);
4354    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.volume-control.profile.action.CONNECTION_STATE_CHANGED";
4355  }
4356
4357  public static interface BluetoothVolumeControl.Callback {
4358    method public void onVolumeOffsetChanged(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=0xffffff01, to=255) int);
4359  }
4360
4361  public final class BufferConstraint implements android.os.Parcelable {
4362    ctor public BufferConstraint(int, int, int);
4363    method public int describeContents();
4364    method public int getDefaultMillis();
4365    method public int getMaxMillis();
4366    method public int getMinMillis();
4367    method public void writeToParcel(@NonNull android.os.Parcel, int);
4368    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BufferConstraint> CREATOR;
4369  }
4370
4371  public final class BufferConstraints implements android.os.Parcelable {
4372    ctor public BufferConstraints(@NonNull java.util.List<android.bluetooth.BufferConstraint>);
4373    method public int describeContents();
4374    method @Nullable public android.bluetooth.BufferConstraint forCodec(int);
4375    method public void writeToParcel(@NonNull android.os.Parcel, int);
4376    field public static final int BUFFER_CODEC_MAX_NUM = 32; // 0x20
4377    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BufferConstraints> CREATOR;
4378  }
4379
4380  public final class OobData implements android.os.Parcelable {
4381    method @NonNull public byte[] getClassOfDevice();
4382    method @NonNull public byte[] getClassicLength();
4383    method @NonNull public byte[] getConfirmationHash();
4384    method @NonNull public byte[] getDeviceAddressWithType();
4385    method @Nullable public byte[] getDeviceName();
4386    method @Nullable public byte[] getLeAppearance();
4387    method @NonNull public int getLeDeviceRole();
4388    method @NonNull public int getLeFlags();
4389    method @Nullable public byte[] getLeTemporaryKey();
4390    method @NonNull public byte[] getRandomizerHash();
4391    field public static final int CLASS_OF_DEVICE_OCTETS = 3; // 0x3
4392    field public static final int CONFIRMATION_OCTETS = 16; // 0x10
4393    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.OobData> CREATOR;
4394    field public static final int DEVICE_ADDRESS_OCTETS = 7; // 0x7
4395    field public static final int LE_APPEARANCE_OCTETS = 2; // 0x2
4396    field public static final int LE_DEVICE_FLAG_OCTETS = 1; // 0x1
4397    field public static final int LE_DEVICE_ROLE_BOTH_PREFER_CENTRAL = 3; // 0x3
4398    field public static final int LE_DEVICE_ROLE_BOTH_PREFER_PERIPHERAL = 2; // 0x2
4399    field public static final int LE_DEVICE_ROLE_CENTRAL_ONLY = 1; // 0x1
4400    field public static final int LE_DEVICE_ROLE_OCTETS = 1; // 0x1
4401    field public static final int LE_DEVICE_ROLE_PERIPHERAL_ONLY = 0; // 0x0
4402    field public static final int LE_FLAG_BREDR_NOT_SUPPORTED = 2; // 0x2
4403    field public static final int LE_FLAG_GENERAL_DISCOVERY_MODE = 1; // 0x1
4404    field public static final int LE_FLAG_LIMITED_DISCOVERY_MODE = 0; // 0x0
4405    field public static final int LE_FLAG_SIMULTANEOUS_CONTROLLER = 3; // 0x3
4406    field public static final int LE_FLAG_SIMULTANEOUS_HOST = 4; // 0x4
4407    field public static final int LE_TK_OCTETS = 16; // 0x10
4408    field public static final int OOB_LENGTH_OCTETS = 2; // 0x2
4409    field public static final int RANDOMIZER_OCTETS = 16; // 0x10
4410  }
4411
4412  public static final class OobData.ClassicBuilder {
4413    ctor public OobData.ClassicBuilder(@NonNull byte[], @NonNull byte[], @NonNull byte[]);
4414    method @NonNull public android.bluetooth.OobData build();
4415    method @NonNull public android.bluetooth.OobData.ClassicBuilder setClassOfDevice(@NonNull byte[]);
4416    method @NonNull public android.bluetooth.OobData.ClassicBuilder setDeviceName(@NonNull byte[]);
4417    method @NonNull public android.bluetooth.OobData.ClassicBuilder setRandomizerHash(@NonNull byte[]);
4418  }
4419
4420  public static final class OobData.LeBuilder {
4421    ctor public OobData.LeBuilder(@NonNull byte[], @NonNull byte[], int);
4422    method @NonNull public android.bluetooth.OobData build();
4423    method @NonNull public android.bluetooth.OobData.LeBuilder setDeviceName(@NonNull byte[]);
4424    method @NonNull public android.bluetooth.OobData.LeBuilder setLeFlags(int);
4425    method @NonNull public android.bluetooth.OobData.LeBuilder setLeTemporaryKey(@NonNull byte[]);
4426    method @NonNull public android.bluetooth.OobData.LeBuilder setRandomizerHash(@NonNull byte[]);
4427  }
4428
4429  public final class UidTraffic implements java.lang.Cloneable android.os.Parcelable {
4430    method public long getRxBytes();
4431    method public long getTxBytes();
4432    method public int getUid();
4433    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.UidTraffic> CREATOR;
4434  }
4435
4436}
4437
4438package android.bluetooth.le {
4439
4440  public final class AdvertiseSettings implements android.os.Parcelable {
4441    method public int getOwnAddressType();
4442  }
4443
4444  public static final class AdvertiseSettings.Builder {
4445    method @NonNull public android.bluetooth.le.AdvertiseSettings.Builder setOwnAddressType(int);
4446  }
4447
4448  public final class AdvertisingSet {
4449    method public int getAdvertiserId();
4450  }
4451
4452  public final class AdvertisingSetParameters implements android.os.Parcelable {
4453    method public int getOwnAddressType();
4454    field public static final int ADDRESS_TYPE_DEFAULT = -1; // 0xffffffff
4455    field public static final int ADDRESS_TYPE_PUBLIC = 0; // 0x0
4456    field public static final int ADDRESS_TYPE_RANDOM = 1; // 0x1
4457    field public static final int ADDRESS_TYPE_RANDOM_NON_RESOLVABLE = 2; // 0x2
4458  }
4459
4460  public static final class AdvertisingSetParameters.Builder {
4461    method @NonNull public android.bluetooth.le.AdvertisingSetParameters.Builder setOwnAddressType(int);
4462  }
4463
4464  public final class BluetoothLeAdvertiser {
4465    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_CONNECT}) public void startAdvertisingSet(@NonNull android.bluetooth.le.AdvertisingSetParameters, @Nullable android.bluetooth.le.AdvertiseData, @Nullable android.bluetooth.le.AdvertiseData, @Nullable android.bluetooth.le.PeriodicAdvertisingParameters, @Nullable android.bluetooth.le.AdvertiseData, int, int, @Nullable android.bluetooth.BluetoothGattServer, @Nullable android.bluetooth.le.AdvertisingSetCallback, @NonNull android.os.Handler);
4466  }
4467
4468  public final class BluetoothLeScanner {
4469    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.UPDATE_DEVICE_STATS}) public void startScanFromSource(android.os.WorkSource, android.bluetooth.le.ScanCallback);
4470    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);
4471    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void startTruncatedScan(java.util.List<android.bluetooth.le.TruncatedFilter>, android.bluetooth.le.ScanSettings, android.bluetooth.le.ScanCallback);
4472  }
4473
4474  public final class DistanceMeasurementManager {
4475    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.le.DistanceMeasurementMethod> getSupportedMethods();
4476    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);
4477  }
4478
4479  public final class DistanceMeasurementMethod implements android.os.Parcelable {
4480    method public double getId();
4481    method public boolean isAltitudeAngleSupported();
4482    method public boolean isAzimuthAngleSupported();
4483    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.DistanceMeasurementMethod> CREATOR;
4484    field public static final int DISTANCE_MEASUREMENT_METHOD_AUTO = 0; // 0x0
4485    field public static final int DISTANCE_MEASUREMENT_METHOD_RSSI = 1; // 0x1
4486  }
4487
4488  public static final class DistanceMeasurementMethod.Builder {
4489    ctor public DistanceMeasurementMethod.Builder(int);
4490    method @NonNull public android.bluetooth.le.DistanceMeasurementMethod build();
4491    method @NonNull public android.bluetooth.le.DistanceMeasurementMethod.Builder setAltitudeAngleSupported(boolean);
4492    method @NonNull public android.bluetooth.le.DistanceMeasurementMethod.Builder setAzimuthAngleSupported(boolean);
4493  }
4494
4495  public final class DistanceMeasurementParams implements android.os.Parcelable {
4496    method public static int getDefaultDurationSeconds();
4497    method @NonNull public android.bluetooth.BluetoothDevice getDevice();
4498    method @IntRange(from=0) public int getDurationSeconds();
4499    method public int getFrequency();
4500    method public static int getMaxDurationSeconds();
4501    method public int getMethodId();
4502    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.DistanceMeasurementParams> CREATOR;
4503    field public static final int REPORT_FREQUENCY_HIGH = 2; // 0x2
4504    field public static final int REPORT_FREQUENCY_LOW = 0; // 0x0
4505    field public static final int REPORT_FREQUENCY_MEDIUM = 1; // 0x1
4506  }
4507
4508  public static final class DistanceMeasurementParams.Builder {
4509    ctor public DistanceMeasurementParams.Builder(@NonNull android.bluetooth.BluetoothDevice);
4510    method @NonNull public android.bluetooth.le.DistanceMeasurementParams build();
4511    method @NonNull public android.bluetooth.le.DistanceMeasurementParams.Builder setDurationSeconds(@IntRange(from=0) int);
4512    method @NonNull public android.bluetooth.le.DistanceMeasurementParams.Builder setFrequency(int);
4513    method @NonNull public android.bluetooth.le.DistanceMeasurementParams.Builder setMethodId(int);
4514  }
4515
4516  public final class DistanceMeasurementResult implements android.os.Parcelable {
4517    method @FloatRange(from=-90.0, to=90.0) public double getAltitudeAngle();
4518    method @FloatRange(from=0.0, to=360.0) public double getAzimuthAngle();
4519    method public double getErrorAltitudeAngle();
4520    method public double getErrorAzimuthAngle();
4521    method @FloatRange(from=0.0) public double getErrorMeters();
4522    method public double getResultMeters();
4523    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.DistanceMeasurementResult> CREATOR;
4524  }
4525
4526  public static final class DistanceMeasurementResult.Builder {
4527    ctor public DistanceMeasurementResult.Builder(@FloatRange(from=0.0) double, @FloatRange(from=0.0) double);
4528    method @NonNull public android.bluetooth.le.DistanceMeasurementResult build();
4529    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setAltitudeAngle(@FloatRange(from=-90.0, to=90.0) double);
4530    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setAzimuthAngle(@FloatRange(from=0.0, to=360.0) double);
4531    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setErrorAltitudeAngle(@FloatRange(from=0.0, to=180.0) double);
4532    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setErrorAzimuthAngle(@FloatRange(from=0.0, to=360.0) double);
4533  }
4534
4535  public final class DistanceMeasurementSession {
4536    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int stopSession();
4537  }
4538
4539  public static interface DistanceMeasurementSession.Callback {
4540    method public void onResult(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.le.DistanceMeasurementResult);
4541    method public void onStartFail(@NonNull int);
4542    method public void onStarted(@NonNull android.bluetooth.le.DistanceMeasurementSession);
4543    method public void onStopped(@NonNull android.bluetooth.le.DistanceMeasurementSession, @NonNull int);
4544  }
4545
4546  @Deprecated public final class ResultStorageDescriptor implements android.os.Parcelable {
4547    ctor @Deprecated public ResultStorageDescriptor(int, int, int);
4548    method @Deprecated public int describeContents();
4549    method @Deprecated public int getLength();
4550    method @Deprecated public int getOffset();
4551    method @Deprecated public int getType();
4552    method @Deprecated public void writeToParcel(android.os.Parcel, int);
4553    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ResultStorageDescriptor> CREATOR;
4554  }
4555
4556  public final class ScanFilter implements android.os.Parcelable {
4557    method public int getAddressType();
4558    method @Nullable public byte[] getIrk();
4559    method @Nullable public android.bluetooth.le.TransportBlockFilter getTransportBlockFilter();
4560  }
4561
4562  public static final class ScanFilter.Builder {
4563    method @NonNull public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(@NonNull String, int);
4564    method @NonNull public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(@NonNull String, int, @NonNull byte[]);
4565    method @NonNull public android.bluetooth.le.ScanFilter.Builder setTransportBlockFilter(@NonNull android.bluetooth.le.TransportBlockFilter);
4566    field public static final int LEN_IRK_OCTETS = 16; // 0x10
4567  }
4568
4569  public final class ScanRecord {
4570    method @Nullable public android.bluetooth.le.TransportDiscoveryData getTransportDiscoveryData();
4571  }
4572
4573  public final class ScanSettings implements android.os.Parcelable {
4574    field public static final int SCAN_MODE_AMBIENT_DISCOVERY = 3; // 0x3
4575    field public static final int SCAN_RESULT_TYPE_ABBREVIATED = 1; // 0x1
4576    field public static final int SCAN_RESULT_TYPE_FULL = 0; // 0x0
4577  }
4578
4579  public static final class ScanSettings.Builder {
4580    method public android.bluetooth.le.ScanSettings.Builder setScanResultType(int);
4581  }
4582
4583  public final class TransportBlockFilter implements android.os.Parcelable {
4584    method public int getOrgId();
4585    method public int getTdsFlags();
4586    method public int getTdsFlagsMask();
4587    method @Nullable public byte[] getTransportData();
4588    method @Nullable public byte[] getTransportDataMask();
4589    method @Nullable public byte[] getWifiNanHash();
4590    method public void writeToParcel(@NonNull android.os.Parcel, int);
4591    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.TransportBlockFilter> CREATOR;
4592    field public static final int WIFI_NAN_HASH_LENGTH_BYTES = 8; // 0x8
4593  }
4594
4595  public static final class TransportBlockFilter.Builder {
4596    ctor public TransportBlockFilter.Builder(int);
4597    method @NonNull public android.bluetooth.le.TransportBlockFilter build();
4598    method @NonNull public android.bluetooth.le.TransportBlockFilter.Builder setTdsFlags(int, int);
4599    method @NonNull public android.bluetooth.le.TransportBlockFilter.Builder setTransportData(@NonNull byte[], @NonNull byte[]);
4600    method @NonNull public android.bluetooth.le.TransportBlockFilter.Builder setWifiNanHash(@NonNull byte[]);
4601  }
4602
4603  @Deprecated public final class TruncatedFilter {
4604    ctor @Deprecated public TruncatedFilter(android.bluetooth.le.ScanFilter, java.util.List<android.bluetooth.le.ResultStorageDescriptor>);
4605    method @Deprecated public android.bluetooth.le.ScanFilter getFilter();
4606    method @Deprecated public java.util.List<android.bluetooth.le.ResultStorageDescriptor> getStorageDescriptors();
4607  }
4608
4609}
4610
4611package android.companion {
4612
4613  public final class AssociationInfo implements android.os.Parcelable {
4614    method @NonNull public String getPackageName();
4615    method public boolean isSelfManaged();
4616  }
4617
4618  public final class CompanionDeviceManager {
4619    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public void addOnAssociationsChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.companion.CompanionDeviceManager.OnAssociationsChangedListener);
4620    method @RequiresPermission(android.Manifest.permission.ASSOCIATE_COMPANION_DEVICES) public void associate(@NonNull String, @NonNull android.net.MacAddress, @NonNull byte[]);
4621    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public boolean canPairWithoutPrompt(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
4622    method @NonNull @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public java.util.List<android.companion.AssociationInfo> getAllAssociations();
4623    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public boolean isDeviceAssociatedForWifiConnection(@NonNull String, @NonNull android.net.MacAddress, @NonNull android.os.UserHandle);
4624    method @RequiresPermission(android.Manifest.permission.REQUEST_COMPANION_SELF_MANAGED) public void notifyDeviceAppeared(int);
4625    method @RequiresPermission(android.Manifest.permission.REQUEST_COMPANION_SELF_MANAGED) public void notifyDeviceDisappeared(int);
4626    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public void removeOnAssociationsChangedListener(@NonNull android.companion.CompanionDeviceManager.OnAssociationsChangedListener);
4627  }
4628
4629  public static interface CompanionDeviceManager.OnAssociationsChangedListener {
4630    method public void onAssociationsChanged(@NonNull java.util.List<android.companion.AssociationInfo>);
4631  }
4632
4633}
4634
4635package android.companion.virtual {
4636
4637  public final class VirtualDeviceManager {
4638    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.companion.virtual.VirtualDeviceManager.VirtualDevice createVirtualDevice(int, @NonNull android.companion.virtual.VirtualDeviceParams);
4639    field public static final int LAUNCH_FAILURE_NO_ACTIVITY = 2; // 0x2
4640    field public static final int LAUNCH_FAILURE_PENDING_INTENT_CANCELED = 1; // 0x1
4641    field public static final int LAUNCH_SUCCESS = 0; // 0x0
4642  }
4643
4644  public static interface VirtualDeviceManager.ActivityListener {
4645    method public void onDisplayEmpty(int);
4646    method @Deprecated public void onTopActivityChanged(int, @NonNull android.content.ComponentName);
4647    method public default void onTopActivityChanged(int, @NonNull android.content.ComponentName, int);
4648  }
4649
4650  public static interface VirtualDeviceManager.IntentInterceptorCallback {
4651    method public void onIntentIntercepted(@NonNull android.content.Intent);
4652  }
4653
4654  public static interface VirtualDeviceManager.SoundEffectListener {
4655    method public void onPlaySoundEffect(int);
4656  }
4657
4658  public static class VirtualDeviceManager.VirtualDevice implements java.lang.AutoCloseable {
4659    method public void addActivityListener(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.VirtualDeviceManager.ActivityListener);
4660    method public void addSoundEffectListener(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.VirtualDeviceManager.SoundEffectListener);
4661    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close();
4662    method @NonNull public android.content.Context createContext();
4663    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.companion.virtual.audio.VirtualAudioDevice createVirtualAudioDevice(@NonNull android.hardware.display.VirtualDisplay, @Nullable java.util.concurrent.Executor, @Nullable android.companion.virtual.audio.VirtualAudioDevice.AudioConfigurationChangeCallback);
4664    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);
4665    method @Nullable public android.hardware.display.VirtualDisplay createVirtualDisplay(@NonNull android.hardware.display.VirtualDisplayConfig, @Nullable java.util.concurrent.Executor, @Nullable android.hardware.display.VirtualDisplay.Callback);
4666    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.hardware.input.VirtualDpad createVirtualDpad(@NonNull android.hardware.input.VirtualDpadConfig);
4667    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.hardware.input.VirtualKeyboard createVirtualKeyboard(@NonNull android.hardware.input.VirtualKeyboardConfig);
4668    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.hardware.input.VirtualKeyboard createVirtualKeyboard(@NonNull android.hardware.display.VirtualDisplay, @NonNull String, int, int);
4669    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.hardware.input.VirtualMouse createVirtualMouse(@NonNull android.hardware.input.VirtualMouseConfig);
4670    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.hardware.input.VirtualMouse createVirtualMouse(@NonNull android.hardware.display.VirtualDisplay, @NonNull String, int, int);
4671    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.hardware.input.VirtualNavigationTouchpad createVirtualNavigationTouchpad(@NonNull android.hardware.input.VirtualNavigationTouchpadConfig);
4672    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.hardware.input.VirtualTouchscreen createVirtualTouchscreen(@NonNull android.hardware.input.VirtualTouchscreenConfig);
4673    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.hardware.input.VirtualTouchscreen createVirtualTouchscreen(@NonNull android.hardware.display.VirtualDisplay, @NonNull String, int, int);
4674    method public int getDeviceId();
4675    method @NonNull public java.util.List<android.companion.virtual.sensor.VirtualSensor> getVirtualSensorList();
4676    method public void launchPendingIntent(int, @NonNull android.app.PendingIntent, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.IntConsumer);
4677    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void registerIntentInterceptor(@NonNull android.content.IntentFilter, @NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.VirtualDeviceManager.IntentInterceptorCallback);
4678    method public void removeActivityListener(@NonNull android.companion.virtual.VirtualDeviceManager.ActivityListener);
4679    method public void removeSoundEffectListener(@NonNull android.companion.virtual.VirtualDeviceManager.SoundEffectListener);
4680    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void setShowPointerIcon(boolean);
4681    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void unregisterIntentInterceptor(@NonNull android.companion.virtual.VirtualDeviceManager.IntentInterceptorCallback);
4682  }
4683
4684  public final class VirtualDeviceParams implements android.os.Parcelable {
4685    method public int describeContents();
4686    method @NonNull public java.util.Set<android.content.ComponentName> getAllowedActivities();
4687    method @NonNull public java.util.Set<android.content.ComponentName> getAllowedCrossTaskNavigations();
4688    method public int getAudioPlaybackSessionId();
4689    method public int getAudioRecordingSessionId();
4690    method @NonNull public java.util.Set<android.content.ComponentName> getBlockedActivities();
4691    method @NonNull public java.util.Set<android.content.ComponentName> getBlockedCrossTaskNavigations();
4692    method public int getDefaultActivityPolicy();
4693    method public int getDefaultNavigationPolicy();
4694    method public int getDevicePolicy(int);
4695    method public int getLockState();
4696    method @Nullable public String getName();
4697    method @NonNull public java.util.Set<android.os.UserHandle> getUsersWithMatchingAccounts();
4698    method @NonNull public java.util.List<android.companion.virtual.sensor.VirtualSensorConfig> getVirtualSensorConfigs();
4699    method public void writeToParcel(@NonNull android.os.Parcel, int);
4700    field public static final int ACTIVITY_POLICY_DEFAULT_ALLOWED = 0; // 0x0
4701    field public static final int ACTIVITY_POLICY_DEFAULT_BLOCKED = 1; // 0x1
4702    field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.VirtualDeviceParams> CREATOR;
4703    field public static final int DEVICE_POLICY_CUSTOM = 1; // 0x1
4704    field public static final int DEVICE_POLICY_DEFAULT = 0; // 0x0
4705    field public static final int LOCK_STATE_ALWAYS_UNLOCKED = 1; // 0x1
4706    field public static final int LOCK_STATE_DEFAULT = 0; // 0x0
4707    field public static final int NAVIGATION_POLICY_DEFAULT_ALLOWED = 0; // 0x0
4708    field public static final int NAVIGATION_POLICY_DEFAULT_BLOCKED = 1; // 0x1
4709    field public static final int POLICY_TYPE_AUDIO = 1; // 0x1
4710    field public static final int POLICY_TYPE_RECENTS = 2; // 0x2
4711    field public static final int POLICY_TYPE_SENSORS = 0; // 0x0
4712  }
4713
4714  public static final class VirtualDeviceParams.Builder {
4715    ctor public VirtualDeviceParams.Builder();
4716    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder addVirtualSensorConfig(@NonNull android.companion.virtual.sensor.VirtualSensorConfig);
4717    method @NonNull public android.companion.virtual.VirtualDeviceParams build();
4718    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setAllowedActivities(@NonNull java.util.Set<android.content.ComponentName>);
4719    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setAllowedCrossTaskNavigations(@NonNull java.util.Set<android.content.ComponentName>);
4720    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setAudioPlaybackSessionId(int);
4721    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setAudioRecordingSessionId(int);
4722    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setBlockedActivities(@NonNull java.util.Set<android.content.ComponentName>);
4723    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setBlockedCrossTaskNavigations(@NonNull java.util.Set<android.content.ComponentName>);
4724    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setDevicePolicy(int, int);
4725    method @NonNull @RequiresPermission(value=android.Manifest.permission.ADD_ALWAYS_UNLOCKED_DISPLAY, conditional=true) public android.companion.virtual.VirtualDeviceParams.Builder setLockState(int);
4726    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setName(@NonNull String);
4727    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setUsersWithMatchingAccounts(@NonNull java.util.Set<android.os.UserHandle>);
4728    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setVirtualSensorCallback(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.sensor.VirtualSensorCallback);
4729    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setVirtualSensorDirectChannelCallback(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.sensor.VirtualSensorDirectChannelCallback);
4730  }
4731
4732}
4733
4734package android.companion.virtual.audio {
4735
4736  public final class AudioCapture {
4737    method @NonNull public android.media.AudioFormat getFormat();
4738    method public int getRecordingState();
4739    method public int read(@NonNull byte[], int, int);
4740    method public int read(@NonNull byte[], int, int, int);
4741    method public int read(@NonNull java.nio.ByteBuffer, int);
4742    method public int read(@NonNull java.nio.ByteBuffer, int, int);
4743    method public int read(@NonNull float[], int, int, int);
4744    method public int read(@NonNull short[], int, int);
4745    method public int read(@NonNull short[], int, int, int);
4746    method public void startRecording();
4747    method public void stop();
4748  }
4749
4750  public final class AudioInjection {
4751    method @NonNull public android.media.AudioFormat getFormat();
4752    method public int getPlayState();
4753    method public void play();
4754    method public void stop();
4755    method public int write(@NonNull byte[], int, int);
4756    method public int write(@NonNull byte[], int, int, int);
4757    method public int write(@NonNull java.nio.ByteBuffer, int, int);
4758    method public int write(@NonNull java.nio.ByteBuffer, int, int, long);
4759    method public int write(@NonNull float[], int, int, int);
4760    method public int write(@NonNull short[], int, int);
4761    method public int write(@NonNull short[], int, int, int);
4762  }
4763
4764  public final class VirtualAudioDevice implements java.io.Closeable {
4765    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void close();
4766    method @Nullable public android.companion.virtual.audio.AudioCapture getAudioCapture();
4767    method @Nullable public android.companion.virtual.audio.AudioInjection getAudioInjection();
4768    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.companion.virtual.audio.AudioCapture startAudioCapture(@NonNull android.media.AudioFormat);
4769    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.companion.virtual.audio.AudioInjection startAudioInjection(@NonNull android.media.AudioFormat);
4770  }
4771
4772  public static interface VirtualAudioDevice.AudioConfigurationChangeCallback {
4773    method public void onPlaybackConfigChanged(@NonNull java.util.List<android.media.AudioPlaybackConfiguration>);
4774    method public void onRecordingConfigChanged(@NonNull java.util.List<android.media.AudioRecordingConfiguration>);
4775  }
4776
4777}
4778
4779package android.companion.virtual.sensor {
4780
4781  public final class VirtualSensor implements android.os.Parcelable {
4782    method public int describeContents();
4783    method public int getDeviceId();
4784    method @NonNull public String getName();
4785    method public int getType();
4786    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void sendEvent(@NonNull android.companion.virtual.sensor.VirtualSensorEvent);
4787    method public void writeToParcel(@NonNull android.os.Parcel, int);
4788    field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.sensor.VirtualSensor> CREATOR;
4789  }
4790
4791  public interface VirtualSensorCallback {
4792    method public void onConfigurationChanged(@NonNull android.companion.virtual.sensor.VirtualSensor, boolean, @NonNull java.time.Duration, @NonNull java.time.Duration);
4793  }
4794
4795  public final class VirtualSensorConfig implements android.os.Parcelable {
4796    method public int describeContents();
4797    method public int getDirectChannelTypesSupported();
4798    method public int getHighestDirectReportRateLevel();
4799    method public int getMaxDelay();
4800    method public float getMaximumRange();
4801    method public int getMinDelay();
4802    method @NonNull public String getName();
4803    method public float getPower();
4804    method public float getResolution();
4805    method public int getType();
4806    method @Nullable public String getVendor();
4807    method public void writeToParcel(@NonNull android.os.Parcel, int);
4808    field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.sensor.VirtualSensorConfig> CREATOR;
4809  }
4810
4811  public static final class VirtualSensorConfig.Builder {
4812    ctor public VirtualSensorConfig.Builder(@IntRange(from=1) int, @NonNull String);
4813    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig build();
4814    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setDirectChannelTypesSupported(int);
4815    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setHighestDirectReportRateLevel(int);
4816    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setMaxDelay(int);
4817    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setMaximumRange(float);
4818    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setMinDelay(int);
4819    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setPower(float);
4820    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setResolution(float);
4821    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setVendor(@Nullable String);
4822  }
4823
4824  public interface VirtualSensorDirectChannelCallback {
4825    method public void onDirectChannelConfigured(@IntRange(from=1) int, @NonNull android.companion.virtual.sensor.VirtualSensor, int, @IntRange(from=1) int);
4826    method public void onDirectChannelCreated(@IntRange(from=1) int, @NonNull android.os.SharedMemory);
4827    method public void onDirectChannelDestroyed(@IntRange(from=1) int);
4828  }
4829
4830  public final class VirtualSensorDirectChannelWriter implements java.lang.AutoCloseable {
4831    ctor public VirtualSensorDirectChannelWriter();
4832    method public void addChannel(@IntRange(from=1) int, @NonNull android.os.SharedMemory) throws android.system.ErrnoException;
4833    method public void close();
4834    method public boolean configureChannel(@IntRange(from=1) int, @NonNull android.companion.virtual.sensor.VirtualSensor, int, @IntRange(from=1) int);
4835    method public void removeChannel(@IntRange(from=1) int);
4836    method public boolean writeSensorEvent(@NonNull android.companion.virtual.sensor.VirtualSensor, @NonNull android.companion.virtual.sensor.VirtualSensorEvent);
4837  }
4838
4839  public final class VirtualSensorEvent implements android.os.Parcelable {
4840    method public int describeContents();
4841    method public long getTimestampNanos();
4842    method @NonNull public float[] getValues();
4843    method public void writeToParcel(@NonNull android.os.Parcel, int);
4844    field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.sensor.VirtualSensorEvent> CREATOR;
4845  }
4846
4847  public static final class VirtualSensorEvent.Builder {
4848    ctor public VirtualSensorEvent.Builder(@NonNull float[]);
4849    method @NonNull public android.companion.virtual.sensor.VirtualSensorEvent build();
4850    method @NonNull public android.companion.virtual.sensor.VirtualSensorEvent.Builder setTimestampNanos(long);
4851  }
4852
4853}
4854
4855package android.content {
4856
4857  public class ApexEnvironment {
4858    method @NonNull public static android.content.ApexEnvironment getApexEnvironment(@NonNull String);
4859    method @NonNull public java.io.File getCredentialProtectedDataDirForUser(@NonNull android.os.UserHandle);
4860    method @NonNull public java.io.File getDeviceProtectedDataDir();
4861    method @NonNull public java.io.File getDeviceProtectedDataDirForUser(@NonNull android.os.UserHandle);
4862  }
4863
4864  public final class AttributionSource implements android.os.Parcelable {
4865    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public java.util.Set<java.lang.String> getRenouncedPermissions();
4866  }
4867
4868  public static final class AttributionSource.Builder {
4869    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public android.content.AttributionSource.Builder setRenouncedPermissions(@Nullable java.util.Set<java.lang.String>);
4870  }
4871
4872  public abstract class BroadcastReceiver {
4873    method @NonNull public final android.os.UserHandle getSendingUser();
4874  }
4875
4876  public class ClipboardManager extends android.text.ClipboardManager {
4877    method @RequiresPermission(android.Manifest.permission.MANAGE_CLIPBOARD_ACCESS_NOTIFICATION) public boolean areClipboardAccessNotificationsEnabled();
4878    method @RequiresPermission(android.Manifest.permission.MANAGE_CLIPBOARD_ACCESS_NOTIFICATION) public void setClipboardAccessNotificationsEnabled(boolean);
4879    method @RequiresPermission(android.Manifest.permission.SET_CLIP_SOURCE) public void setPrimaryClipAsPackage(@NonNull android.content.ClipData, @NonNull String);
4880  }
4881
4882  public abstract class ContentProvider implements android.content.ComponentCallbacks2 {
4883    method public int checkUriPermission(@NonNull android.net.Uri, int, int);
4884  }
4885
4886  public class ContentProviderClient implements java.lang.AutoCloseable {
4887    method @RequiresPermission(android.Manifest.permission.REMOVE_TASKS) public void setDetectNotResponding(long);
4888  }
4889
4890  public abstract class ContentResolver {
4891    method public int checkUriPermission(@NonNull android.net.Uri, int, int);
4892    method @NonNull public static android.net.Uri decodeFromFile(@NonNull java.io.File);
4893    method @NonNull public static java.io.File encodeToFile(@NonNull android.net.Uri);
4894    method @Nullable @RequiresPermission("android.permission.CACHE_CONTENT") public android.os.Bundle getCache(@NonNull android.net.Uri);
4895    method @RequiresPermission("android.permission.CACHE_CONTENT") public void putCache(@NonNull android.net.Uri, @Nullable android.os.Bundle);
4896  }
4897
4898  public abstract class Context {
4899    method @NonNull public android.content.Context createContextAsUser(@NonNull android.os.UserHandle, int);
4900    method public abstract android.content.Context createCredentialProtectedStorageContext();
4901    method @NonNull public android.content.Context createPackageContextAsUser(@NonNull String, int, @NonNull android.os.UserHandle) throws android.content.pm.PackageManager.NameNotFoundException;
4902    method @Nullable public abstract java.io.File getPreloadsFileCache();
4903    method public abstract boolean isCredentialProtectedStorage();
4904    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);
4905    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);
4906    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);
4907    method public void sendBroadcastMultiplePermissions(@NonNull android.content.Intent, @NonNull String[], @Nullable android.app.BroadcastOptions);
4908    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public void startActivityAsUser(@NonNull @RequiresPermission android.content.Intent, @NonNull android.os.UserHandle);
4909    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public void startActivityAsUser(@NonNull @RequiresPermission android.content.Intent, @Nullable android.os.Bundle, @NonNull android.os.UserHandle);
4910    field public static final String AMBIENT_CONTEXT_SERVICE = "ambient_context";
4911    field public static final String APP_HIBERNATION_SERVICE = "app_hibernation";
4912    field public static final String APP_INTEGRITY_SERVICE = "app_integrity";
4913    field public static final String APP_PREDICTION_SERVICE = "app_prediction";
4914    field public static final String AUDIO_DEVICE_VOLUME_SERVICE = "audio_device_volume";
4915    field public static final String BACKUP_SERVICE = "backup";
4916    field public static final String BATTERY_STATS_SERVICE = "batterystats";
4917    field public static final int BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS = 1048576; // 0x100000
4918    field @Deprecated public static final int BIND_ALLOW_FOREGROUND_SERVICE_STARTS_FROM_BACKGROUND = 262144; // 0x40000
4919    field public static final String CLOUDSEARCH_SERVICE = "cloudsearch";
4920    field public static final String CONTENT_SUGGESTIONS_SERVICE = "content_suggestions";
4921    field public static final String CONTEXTHUB_SERVICE = "contexthub";
4922    field public static final String ETHERNET_SERVICE = "ethernet";
4923    field public static final String EUICC_CARD_SERVICE = "euicc_card";
4924    field public static final String FONT_SERVICE = "font";
4925    field public static final String HDMI_CONTROL_SERVICE = "hdmi_control";
4926    field public static final String MEDIA_TRANSCODING_SERVICE = "media_transcoding";
4927    field public static final String MUSIC_RECOGNITION_SERVICE = "music_recognition";
4928    field public static final String NEARBY_SERVICE = "nearby";
4929    field public static final String NETD_SERVICE = "netd";
4930    field @Deprecated public static final String NETWORK_SCORE_SERVICE = "network_score";
4931    field public static final String OEM_LOCK_SERVICE = "oem_lock";
4932    field public static final String PERMISSION_CONTROLLER_SERVICE = "permission_controller";
4933    field public static final String PERMISSION_SERVICE = "permission";
4934    field public static final String PERSISTENT_DATA_BLOCK_SERVICE = "persistent_data_block";
4935    field public static final String REBOOT_READINESS_SERVICE = "reboot_readiness";
4936    field public static final String ROLLBACK_SERVICE = "rollback";
4937    field public static final String SAFETY_CENTER_SERVICE = "safety_center";
4938    field public static final String SEARCH_UI_SERVICE = "search_ui";
4939    field public static final String SECURE_ELEMENT_SERVICE = "secure_element";
4940    field public static final String SHARED_CONNECTIVITY_SERVICE = "shared_connectivity";
4941    field public static final String SMARTSPACE_SERVICE = "smartspace";
4942    field public static final String STATS_MANAGER = "stats";
4943    field public static final String SYSTEM_CONFIG_SERVICE = "system_config";
4944    field public static final String SYSTEM_UPDATE_SERVICE = "system_update";
4945    field public static final String TETHERING_SERVICE = "tethering";
4946    field public static final String TIME_MANAGER_SERVICE = "time_manager";
4947    field public static final String TRANSLATION_MANAGER_SERVICE = "translation";
4948    field public static final String UI_TRANSLATION_SERVICE = "ui_translation";
4949    field public static final String UWB_SERVICE = "uwb";
4950    field public static final String VIRTUALIZATION_SERVICE = "virtualization";
4951    field public static final String VR_SERVICE = "vrmanager";
4952    field public static final String WALLPAPER_EFFECTS_GENERATION_SERVICE = "wallpaper_effects_generation";
4953    field public static final String WEARABLE_SENSING_SERVICE = "wearable_sensing";
4954    field public static final String WIFI_NL80211_SERVICE = "wifinl80211";
4955    field @Deprecated public static final String WIFI_RTT_SERVICE = "rttmanager";
4956    field public static final String WIFI_SCANNING_SERVICE = "wifiscanner";
4957  }
4958
4959  public final class ContextParams {
4960    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public java.util.Set<java.lang.String> getRenouncedPermissions();
4961  }
4962
4963  public static final class ContextParams.Builder {
4964    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public android.content.ContextParams.Builder setRenouncedPermissions(@Nullable java.util.Set<java.lang.String>);
4965  }
4966
4967  public class ContextWrapper extends android.content.Context {
4968    method public android.content.Context createCredentialProtectedStorageContext();
4969    method @Nullable public java.io.File getPreloadsFileCache();
4970    method public boolean isCredentialProtectedStorage();
4971    method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, @Nullable String, @Nullable android.os.Bundle);
4972  }
4973
4974  public class Intent implements java.lang.Cloneable android.os.Parcelable {
4975    field public static final String ACTION_ACTIVITY_RECOGNIZER = "android.intent.action.ACTIVITY_RECOGNIZER";
4976    field public static final String ACTION_BATTERY_LEVEL_CHANGED = "android.intent.action.BATTERY_LEVEL_CHANGED";
4977    field public static final String ACTION_CALL_EMERGENCY = "android.intent.action.CALL_EMERGENCY";
4978    field public static final String ACTION_CALL_PRIVILEGED = "android.intent.action.CALL_PRIVILEGED";
4979    field public static final String ACTION_DEVICE_CUSTOMIZATION_READY = "android.intent.action.DEVICE_CUSTOMIZATION_READY";
4980    field public static final String ACTION_DIAL_EMERGENCY = "android.intent.action.DIAL_EMERGENCY";
4981    field public static final String ACTION_DOMAINS_NEED_VERIFICATION = "android.intent.action.DOMAINS_NEED_VERIFICATION";
4982    field public static final String ACTION_FACTORY_RESET = "android.intent.action.FACTORY_RESET";
4983    field public static final String ACTION_GLOBAL_BUTTON = "android.intent.action.GLOBAL_BUTTON";
4984    field public static final String ACTION_INCIDENT_REPORT_READY = "android.intent.action.INCIDENT_REPORT_READY";
4985    field public static final String ACTION_INSTALL_INSTANT_APP_PACKAGE = "android.intent.action.INSTALL_INSTANT_APP_PACKAGE";
4986    field public static final String ACTION_INSTANT_APP_RESOLVER_SETTINGS = "android.intent.action.INSTANT_APP_RESOLVER_SETTINGS";
4987    field @Deprecated public static final String ACTION_INTENT_FILTER_NEEDS_VERIFICATION = "android.intent.action.INTENT_FILTER_NEEDS_VERIFICATION";
4988    field public static final String ACTION_LOAD_DATA = "android.intent.action.LOAD_DATA";
4989    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_MANAGE_APP_PERMISSION = "android.intent.action.MANAGE_APP_PERMISSION";
4990    field public static final String ACTION_MANAGE_APP_PERMISSIONS = "android.intent.action.MANAGE_APP_PERMISSIONS";
4991    field @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public static final String ACTION_MANAGE_DEFAULT_APP = "android.intent.action.MANAGE_DEFAULT_APP";
4992    field public static final String ACTION_MANAGE_PERMISSIONS = "android.intent.action.MANAGE_PERMISSIONS";
4993    field public static final String ACTION_MANAGE_PERMISSION_APPS = "android.intent.action.MANAGE_PERMISSION_APPS";
4994    field @RequiresPermission(android.Manifest.permission.START_VIEW_PERMISSION_USAGE) public static final String ACTION_MANAGE_PERMISSION_USAGE = "android.intent.action.MANAGE_PERMISSION_USAGE";
4995    field @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public static final String ACTION_MANAGE_SPECIAL_APP_ACCESSES = "android.intent.action.MANAGE_SPECIAL_APP_ACCESSES";
4996    field public static final String ACTION_MASTER_CLEAR_NOTIFICATION = "android.intent.action.MASTER_CLEAR_NOTIFICATION";
4997    field public static final String ACTION_PACKAGE_NEEDS_INTEGRITY_VERIFICATION = "android.intent.action.PACKAGE_NEEDS_INTEGRITY_VERIFICATION";
4998    field public static final String ACTION_PACKAGE_UNSUSPENDED_MANUALLY = "android.intent.action.PACKAGE_UNSUSPENDED_MANUALLY";
4999    field public static final String ACTION_PENDING_INCIDENT_REPORTS_CHANGED = "android.intent.action.PENDING_INCIDENT_REPORTS_CHANGED";
5000    field public static final String ACTION_PRE_BOOT_COMPLETED = "android.intent.action.PRE_BOOT_COMPLETED";
5001    field public static final String ACTION_QUERY_PACKAGE_RESTART = "android.intent.action.QUERY_PACKAGE_RESTART";
5002    field public static final String ACTION_RESOLVE_INSTANT_APP_PACKAGE = "android.intent.action.RESOLVE_INSTANT_APP_PACKAGE";
5003    field @RequiresPermission(android.Manifest.permission.REVIEW_ACCESSIBILITY_SERVICES) public static final String ACTION_REVIEW_ACCESSIBILITY_SERVICES = "android.intent.action.REVIEW_ACCESSIBILITY_SERVICES";
5004    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";
5005    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_ONGOING_PERMISSION_USAGE = "android.intent.action.REVIEW_ONGOING_PERMISSION_USAGE";
5006    field public static final String ACTION_REVIEW_PERMISSIONS = "android.intent.action.REVIEW_PERMISSIONS";
5007    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_PERMISSION_HISTORY = "android.intent.action.REVIEW_PERMISSION_HISTORY";
5008    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_PERMISSION_USAGE = "android.intent.action.REVIEW_PERMISSION_USAGE";
5009    field public static final String ACTION_ROLLBACK_COMMITTED = "android.intent.action.ROLLBACK_COMMITTED";
5010    field public static final String ACTION_SHOW_SUSPENDED_APP_DETAILS = "android.intent.action.SHOW_SUSPENDED_APP_DETAILS";
5011    field @Deprecated public static final String ACTION_SIM_STATE_CHANGED = "android.intent.action.SIM_STATE_CHANGED";
5012    field public static final String ACTION_SPLIT_CONFIGURATION_CHANGED = "android.intent.action.SPLIT_CONFIGURATION_CHANGED";
5013    field public static final String ACTION_UPGRADE_SETUP = "android.intent.action.UPGRADE_SETUP";
5014    field public static final String ACTION_USER_ADDED = "android.intent.action.USER_ADDED";
5015    field public static final String ACTION_USER_REMOVED = "android.intent.action.USER_REMOVED";
5016    field public static final String ACTION_USER_SWITCHED = "android.intent.action.USER_SWITCHED";
5017    field @RequiresPermission(android.Manifest.permission.START_VIEW_APP_FEATURES) public static final String ACTION_VIEW_APP_FEATURES = "android.intent.action.VIEW_APP_FEATURES";
5018    field @RequiresPermission(android.Manifest.permission.MANAGE_SENSOR_PRIVACY) public static final String ACTION_VIEW_SAFETY_CENTER_QS = "android.intent.action.VIEW_SAFETY_CENTER_QS";
5019    field public static final String ACTION_VOICE_ASSIST = "android.intent.action.VOICE_ASSIST";
5020    field public static final String CATEGORY_LEANBACK_SETTINGS = "android.intent.category.LEANBACK_SETTINGS";
5021    field public static final String EXTRA_CALLING_PACKAGE = "android.intent.extra.CALLING_PACKAGE";
5022    field public static final String EXTRA_FORCE_FACTORY_RESET = "android.intent.extra.FORCE_FACTORY_RESET";
5023    field public static final String EXTRA_INSTALL_RESULT = "android.intent.extra.INSTALL_RESULT";
5024    field public static final String EXTRA_INSTANT_APP_ACTION = "android.intent.extra.INSTANT_APP_ACTION";
5025    field public static final String EXTRA_INSTANT_APP_BUNDLES = "android.intent.extra.INSTANT_APP_BUNDLES";
5026    field public static final String EXTRA_INSTANT_APP_EXTRAS = "android.intent.extra.INSTANT_APP_EXTRAS";
5027    field public static final String EXTRA_INSTANT_APP_FAILURE = "android.intent.extra.INSTANT_APP_FAILURE";
5028    field public static final String EXTRA_INSTANT_APP_HOSTNAME = "android.intent.extra.INSTANT_APP_HOSTNAME";
5029    field public static final String EXTRA_INSTANT_APP_SUCCESS = "android.intent.extra.INSTANT_APP_SUCCESS";
5030    field public static final String EXTRA_INSTANT_APP_TOKEN = "android.intent.extra.INSTANT_APP_TOKEN";
5031    field public static final String EXTRA_LONG_VERSION_CODE = "android.intent.extra.LONG_VERSION_CODE";
5032    field public static final String EXTRA_ORIGINATING_UID = "android.intent.extra.ORIGINATING_UID";
5033    field public static final String EXTRA_PERMISSION_NAME = "android.intent.extra.PERMISSION_NAME";
5034    field public static final String EXTRA_REASON = "android.intent.extra.REASON";
5035    field public static final String EXTRA_REMOTE_CALLBACK = "android.intent.extra.REMOTE_CALLBACK";
5036    field public static final String EXTRA_RESULT_NEEDED = "android.intent.extra.RESULT_NEEDED";
5037    field public static final String EXTRA_ROLE_NAME = "android.intent.extra.ROLE_NAME";
5038    field public static final String EXTRA_SHOWING_ATTRIBUTION = "android.intent.extra.SHOWING_ATTRIBUTION";
5039    field public static final String EXTRA_UNINSTALL_ALL_USERS = "android.intent.extra.UNINSTALL_ALL_USERS";
5040    field public static final String EXTRA_UNKNOWN_INSTANT_APP = "android.intent.extra.UNKNOWN_INSTANT_APP";
5041    field public static final String EXTRA_USER_HANDLE = "android.intent.extra.user_handle";
5042    field public static final String EXTRA_VERIFICATION_BUNDLE = "android.intent.extra.VERIFICATION_BUNDLE";
5043    field public static final int FLAG_RECEIVER_INCLUDE_BACKGROUND = 16777216; // 0x1000000
5044    field public static final int FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT = 67108864; // 0x4000000
5045    field public static final String METADATA_SETUP_VERSION = "android.SETUP_VERSION";
5046  }
5047
5048  public class IntentFilter implements android.os.Parcelable {
5049    method public final int getOrder();
5050    method public final void setOrder(int);
5051  }
5052
5053}
5054
5055package android.content.integrity {
5056
5057  public class AppIntegrityManager {
5058    method @NonNull public String getCurrentRuleSetProvider();
5059    method @NonNull public String getCurrentRuleSetVersion();
5060    method public void updateRuleSet(@NonNull android.content.integrity.RuleSet, @NonNull android.content.IntentSender);
5061    field public static final String EXTRA_STATUS = "android.content.integrity.extra.STATUS";
5062    field public static final int STATUS_FAILURE = 1; // 0x1
5063    field public static final int STATUS_SUCCESS = 0; // 0x0
5064  }
5065
5066  public abstract class IntegrityFormula {
5067    method @NonNull public static android.content.integrity.IntegrityFormula all(@NonNull android.content.integrity.IntegrityFormula...);
5068    method @NonNull public static android.content.integrity.IntegrityFormula any(@NonNull android.content.integrity.IntegrityFormula...);
5069    method @NonNull public static android.content.integrity.IntegrityFormula not(@NonNull android.content.integrity.IntegrityFormula);
5070  }
5071
5072  public static final class IntegrityFormula.Application {
5073    method @NonNull public static android.content.integrity.IntegrityFormula certificateLineageContains(@NonNull String);
5074    method @NonNull public static android.content.integrity.IntegrityFormula certificatesContain(@NonNull String);
5075    method @NonNull public static android.content.integrity.IntegrityFormula isPreInstalled();
5076    method @NonNull public static android.content.integrity.IntegrityFormula packageNameEquals(@NonNull String);
5077    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeEquals(@NonNull long);
5078    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeGreaterThan(@NonNull long);
5079    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeGreaterThanOrEqualTo(@NonNull long);
5080  }
5081
5082  public static final class IntegrityFormula.Installer {
5083    method @NonNull public static android.content.integrity.IntegrityFormula certificatesContain(@NonNull String);
5084    method @NonNull public static android.content.integrity.IntegrityFormula notAllowedByManifest();
5085    method @NonNull public static android.content.integrity.IntegrityFormula packageNameEquals(@NonNull String);
5086  }
5087
5088  public static final class IntegrityFormula.SourceStamp {
5089    method @NonNull public static android.content.integrity.IntegrityFormula notTrusted();
5090    method @NonNull public static android.content.integrity.IntegrityFormula stampCertificateHashEquals(@NonNull String);
5091  }
5092
5093  public final class Rule implements android.os.Parcelable {
5094    ctor public Rule(@NonNull android.content.integrity.IntegrityFormula, int);
5095    method public int describeContents();
5096    method public int getEffect();
5097    method @NonNull public android.content.integrity.IntegrityFormula getFormula();
5098    method public void writeToParcel(@NonNull android.os.Parcel, int);
5099    field @NonNull public static final android.os.Parcelable.Creator<android.content.integrity.Rule> CREATOR;
5100    field public static final int DENY = 0; // 0x0
5101    field public static final int FORCE_ALLOW = 1; // 0x1
5102  }
5103
5104  public class RuleSet {
5105    method @NonNull public java.util.List<android.content.integrity.Rule> getRules();
5106    method @NonNull public String getVersion();
5107  }
5108
5109  public static class RuleSet.Builder {
5110    ctor public RuleSet.Builder();
5111    method @NonNull public android.content.integrity.RuleSet.Builder addRules(@NonNull java.util.List<android.content.integrity.Rule>);
5112    method @NonNull public android.content.integrity.RuleSet build();
5113    method @NonNull public android.content.integrity.RuleSet.Builder setVersion(@NonNull String);
5114  }
5115
5116}
5117
5118package android.content.om {
5119
5120  public final class OverlayInfo implements android.os.Parcelable {
5121    method @Nullable public String getCategory();
5122    method @NonNull public String getPackageName();
5123    method public int getUserId();
5124    method public boolean isEnabled();
5125  }
5126
5127  public class OverlayManager {
5128    method @Nullable public android.content.om.OverlayInfo getOverlayInfo(@NonNull String, @NonNull android.os.UserHandle);
5129    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);
5130    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;
5131    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;
5132  }
5133
5134}
5135
5136package android.content.pm {
5137
5138  public class ApplicationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
5139    method @RequiresPermission(android.Manifest.permission.DELETE_PACKAGES) public boolean hasFragileUserData();
5140    method public boolean isEncryptionAware();
5141    method public boolean isInstantApp();
5142    method public boolean isOem();
5143    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public boolean isPrivilegedApp();
5144    method public boolean isProduct();
5145    method public boolean isVendor();
5146    field public String credentialProtectedDataDir;
5147    field public int targetSandboxVersion;
5148  }
5149
5150  public class CrossProfileApps {
5151    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);
5152    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);
5153  }
5154
5155  public class DataLoaderParams {
5156    method @NonNull public static final android.content.pm.DataLoaderParams forIncremental(@NonNull android.content.ComponentName, @NonNull String);
5157    method @NonNull public static final android.content.pm.DataLoaderParams forStreaming(@NonNull android.content.ComponentName, @NonNull String);
5158    method @NonNull public final String getArguments();
5159    method @NonNull public final android.content.ComponentName getComponentName();
5160    method @NonNull public final int getType();
5161  }
5162
5163  public final class InstallationFile {
5164    method public long getLengthBytes();
5165    method public int getLocation();
5166    method @Nullable public byte[] getMetadata();
5167    method @NonNull public String getName();
5168    method @Nullable public byte[] getSignature();
5169  }
5170
5171  public final class InstantAppInfo implements android.os.Parcelable {
5172    ctor public InstantAppInfo(android.content.pm.ApplicationInfo, String[], String[]);
5173    ctor public InstantAppInfo(String, CharSequence, String[], String[]);
5174    method public int describeContents();
5175    method @Nullable public android.content.pm.ApplicationInfo getApplicationInfo();
5176    method @Nullable public String[] getGrantedPermissions();
5177    method @NonNull public String getPackageName();
5178    method @Nullable public String[] getRequestedPermissions();
5179    method @NonNull public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.pm.PackageManager);
5180    method @NonNull public CharSequence loadLabel(@NonNull android.content.pm.PackageManager);
5181    method public void writeToParcel(android.os.Parcel, int);
5182    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppInfo> CREATOR;
5183  }
5184
5185  public final class InstantAppIntentFilter implements android.os.Parcelable {
5186    ctor public InstantAppIntentFilter(@Nullable String, @NonNull java.util.List<android.content.IntentFilter>);
5187    method public int describeContents();
5188    method public java.util.List<android.content.IntentFilter> getFilters();
5189    method public String getSplitName();
5190    method public void writeToParcel(android.os.Parcel, int);
5191    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppIntentFilter> CREATOR;
5192  }
5193
5194  public final class InstantAppRequestInfo implements android.os.Parcelable {
5195    ctor public InstantAppRequestInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, boolean, @NonNull String);
5196    method public int describeContents();
5197    method @Nullable public int[] getHostDigestPrefix();
5198    method @NonNull public android.content.Intent getIntent();
5199    method @NonNull public String getToken();
5200    method @NonNull public android.os.UserHandle getUserHandle();
5201    method public boolean isRequesterInstantApp();
5202    method public void writeToParcel(@NonNull android.os.Parcel, int);
5203    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppRequestInfo> CREATOR;
5204  }
5205
5206  public final class InstantAppResolveInfo implements android.os.Parcelable {
5207    ctor public InstantAppResolveInfo(@NonNull android.content.pm.InstantAppResolveInfo.InstantAppDigest, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>, int);
5208    ctor public InstantAppResolveInfo(@NonNull android.content.pm.InstantAppResolveInfo.InstantAppDigest, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>, long, @Nullable android.os.Bundle);
5209    ctor public InstantAppResolveInfo(@NonNull String, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>);
5210    ctor public InstantAppResolveInfo(@Nullable android.os.Bundle);
5211    method public int describeContents();
5212    method public byte[] getDigestBytes();
5213    method public int getDigestPrefix();
5214    method @Nullable public android.os.Bundle getExtras();
5215    method public java.util.List<android.content.pm.InstantAppIntentFilter> getIntentFilters();
5216    method public long getLongVersionCode();
5217    method public String getPackageName();
5218    method @Deprecated public int getVersionCode();
5219    method public boolean shouldLetInstallerDecide();
5220    method public void writeToParcel(android.os.Parcel, int);
5221    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppResolveInfo> CREATOR;
5222  }
5223
5224  public static final class InstantAppResolveInfo.InstantAppDigest implements android.os.Parcelable {
5225    ctor public InstantAppResolveInfo.InstantAppDigest(@NonNull String);
5226    method public int describeContents();
5227    method public byte[][] getDigestBytes();
5228    method public int[] getDigestPrefix();
5229    method public void writeToParcel(android.os.Parcel, int);
5230    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppResolveInfo.InstantAppDigest> CREATOR;
5231    field public static final android.content.pm.InstantAppResolveInfo.InstantAppDigest UNDEFINED;
5232  }
5233
5234  public final class IntentFilterVerificationInfo implements android.os.Parcelable {
5235    method public int describeContents();
5236    method public java.util.Set<java.lang.String> getDomains();
5237    method public String getPackageName();
5238    method public int getStatus();
5239    method public void writeToParcel(android.os.Parcel, int);
5240    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.IntentFilterVerificationInfo> CREATOR;
5241  }
5242
5243  public class LauncherApps {
5244    method @Nullable public android.content.pm.LauncherApps.AppUsageLimit getAppUsageLimit(@NonNull String, @NonNull android.os.UserHandle);
5245  }
5246
5247  public static final class LauncherApps.AppUsageLimit implements android.os.Parcelable {
5248    method public int describeContents();
5249    method public long getTotalUsageLimit();
5250    method public long getUsageRemaining();
5251    method public void writeToParcel(android.os.Parcel, int);
5252    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.LauncherApps.AppUsageLimit> CREATOR;
5253  }
5254
5255  public static class LauncherApps.ShortcutQuery {
5256    field public static final int FLAG_GET_PERSISTED_DATA = 4096; // 0x1000
5257    field @RequiresPermission(android.Manifest.permission.ACCESS_SHORTCUTS) public static final int FLAG_GET_PERSONS_DATA = 2048; // 0x800
5258  }
5259
5260  public class PackageInstaller {
5261    method @NonNull public android.content.pm.PackageInstaller.InstallInfo readInstallInfo(@NonNull java.io.File, int) throws android.content.pm.PackageInstaller.PackageParsingException;
5262    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setPermissionsResult(int, boolean);
5263    field public static final String ACTION_CONFIRM_INSTALL = "android.content.pm.action.CONFIRM_INSTALL";
5264    field public static final String ACTION_CONFIRM_PRE_APPROVAL = "android.content.pm.action.CONFIRM_PRE_APPROVAL";
5265    field public static final int DATA_LOADER_TYPE_INCREMENTAL = 2; // 0x2
5266    field public static final int DATA_LOADER_TYPE_NONE = 0; // 0x0
5267    field public static final int DATA_LOADER_TYPE_STREAMING = 1; // 0x1
5268    field public static final String EXTRA_CALLBACK = "android.content.pm.extra.CALLBACK";
5269    field public static final String EXTRA_DATA_LOADER_TYPE = "android.content.pm.extra.DATA_LOADER_TYPE";
5270    field public static final String EXTRA_LEGACY_STATUS = "android.content.pm.extra.LEGACY_STATUS";
5271    field public static final String EXTRA_RESOLVED_BASE_PATH = "android.content.pm.extra.RESOLVED_BASE_PATH";
5272    field public static final int LOCATION_DATA_APP = 0; // 0x0
5273    field public static final int LOCATION_MEDIA_DATA = 2; // 0x2
5274    field public static final int LOCATION_MEDIA_OBB = 1; // 0x1
5275    field public static final int REASON_CONFIRM_PACKAGE_CHANGE = 0; // 0x0
5276    field public static final int REASON_OWNERSHIP_CHANGED = 1; // 0x1
5277    field public static final int REASON_REMIND_OWNERSHIP = 2; // 0x2
5278  }
5279
5280  public static class PackageInstaller.InstallInfo {
5281    method public long calculateInstalledSize(@NonNull android.content.pm.PackageInstaller.SessionParams) throws java.io.IOException;
5282    method public int getInstallLocation();
5283    method @NonNull public String getPackageName();
5284  }
5285
5286  public static class PackageInstaller.PackageParsingException extends java.lang.Exception {
5287    method public int getErrorCode();
5288  }
5289
5290  public static class PackageInstaller.Session implements java.io.Closeable {
5291    method @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public void addFile(int, @NonNull String, long, @NonNull byte[], @Nullable byte[]);
5292    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void commitTransferred(@NonNull android.content.IntentSender);
5293    method @Nullable @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public android.content.pm.DataLoaderParams getDataLoaderParams();
5294    method @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public void removeFile(int, @NonNull String);
5295  }
5296
5297  public static class PackageInstaller.SessionInfo implements android.os.Parcelable {
5298    method public boolean getAllocateAggressive();
5299    method @Deprecated public boolean getAllowDowngrade();
5300    method public int getAutoRevokePermissionsMode();
5301    method public boolean getEnableRollback();
5302    method @Nullable public String[] getGrantedRuntimePermissions();
5303    method public boolean getInstallAsFullApp(boolean);
5304    method public boolean getInstallAsInstantApp(boolean);
5305    method public boolean getInstallAsVirtualPreload();
5306    method public int getPendingUserActionReason();
5307    method public boolean getRequestDowngrade();
5308    method public int getRollbackDataPolicy();
5309    method @NonNull public java.util.Set<java.lang.String> getWhitelistedRestrictedPermissions();
5310  }
5311
5312  public static class PackageInstaller.SessionParams implements android.os.Parcelable {
5313    method @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public void setAllocateAggressive(boolean);
5314    method @Deprecated public void setAllowDowngrade(boolean);
5315    method @RequiresPermission(allOf={android.Manifest.permission.INSTALL_PACKAGES, "com.android.permission.USE_INSTALLER_V2"}) public void setDataLoaderParams(@NonNull android.content.pm.DataLoaderParams);
5316    method public void setEnableRollback(boolean);
5317    method public void setEnableRollback(boolean, int);
5318    method @Deprecated @RequiresPermission(android.Manifest.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS) public void setGrantedRuntimePermissions(String[]);
5319    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setInstallAsApex();
5320    method public void setInstallAsInstantApp(boolean);
5321    method public void setInstallAsVirtualPreload();
5322    method public void setRequestDowngrade(boolean);
5323    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setStaged();
5324  }
5325
5326  public class PackageItemInfo {
5327    method public static void forceSafeLabels();
5328    method @Deprecated @NonNull public CharSequence loadSafeLabel(@NonNull android.content.pm.PackageManager);
5329    method @NonNull public CharSequence loadSafeLabel(@NonNull android.content.pm.PackageManager, @FloatRange(from=0) float, int);
5330  }
5331
5332  public abstract class PackageManager {
5333    method @RequiresPermission("android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS") public abstract void addOnPermissionsChangeListener(@NonNull android.content.pm.PackageManager.OnPermissionsChangedListener);
5334    method public abstract boolean arePermissionsIndividuallyControlled();
5335    method @NonNull public boolean canUserUninstall(@NonNull String, @NonNull android.os.UserHandle);
5336    method @NonNull public abstract java.util.List<android.content.IntentFilter> getAllIntentFilters(@NonNull String);
5337    method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_METADATA) public android.os.PersistableBundle getAppMetadata(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
5338    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;
5339    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;
5340    method @NonNull public android.content.pm.dex.ArtManager getArtManager();
5341    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_SHARED_LIBRARIES) public java.util.List<android.content.pm.SharedLibraryInfo> getDeclaredSharedLibraries(@NonNull String, int);
5342    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);
5343    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract String getDefaultBrowserPackageNameAsUser(int);
5344    method @Nullable @RequiresPermission(android.Manifest.permission.SET_HARMFUL_APP_WARNINGS) public CharSequence getHarmfulAppWarning(@NonNull String);
5345    method @Nullable public String getIncidentReportApproverPackageName();
5346    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract java.util.List<android.content.pm.PackageInfo> getInstalledPackagesAsUser(int, int);
5347    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);
5348    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public abstract android.graphics.drawable.Drawable getInstantAppIcon(String);
5349    method @Nullable public abstract android.content.ComponentName getInstantAppInstallerComponent();
5350    method @Nullable public abstract android.content.ComponentName getInstantAppResolverSettingsComponent();
5351    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public abstract java.util.List<android.content.pm.InstantAppInfo> getInstantApps();
5352    method @Deprecated @NonNull public abstract java.util.List<android.content.pm.IntentFilterVerificationInfo> getIntentFilterVerifications(@NonNull String);
5353    method @Deprecated @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract int getIntentVerificationStatusAsUser(@NonNull String, int);
5354    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;
5355    method @android.content.pm.PackageManager.PermissionFlags @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, android.Manifest.permission.GET_RUNTIME_PERMISSIONS}) public abstract int getPermissionFlags(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
5356    method @NonNull @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] getUnsuspendablePackages(@NonNull String[]);
5357    method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public abstract void grantRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
5358    method @Deprecated public abstract int installExistingPackage(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
5359    method @Deprecated public abstract int installExistingPackage(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException;
5360    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);
5361    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);
5362    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);
5363    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);
5364    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);
5365    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);
5366    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);
5367    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);
5368    method public abstract void registerDexModule(@NonNull String, @Nullable android.content.pm.PackageManager.DexModuleRegisterCallback);
5369    method @RequiresPermission("android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS") public abstract void removeOnPermissionsChangeListener(@NonNull android.content.pm.PackageManager.OnPermissionsChangedListener);
5370    method public void replacePreferredActivity(@NonNull android.content.IntentFilter, int, @NonNull java.util.List<android.content.ComponentName>, @NonNull android.content.ComponentName);
5371    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public abstract void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
5372    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle, @NonNull String);
5373    method public void sendDeviceCustomizationReadyBroadcast();
5374    method @RequiresPermission(allOf={android.Manifest.permission.SET_PREFERRED_APPLICATIONS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public abstract boolean setDefaultBrowserPackageNameAsUser(@Nullable String, int);
5375    method @NonNull @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] setDistractingPackageRestrictions(@NonNull String[], int);
5376    method @RequiresPermission(android.Manifest.permission.SET_HARMFUL_APP_WARNINGS) public void setHarmfulAppWarning(@NonNull String, @Nullable CharSequence);
5377    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);
5378    method @Nullable @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] setPackagesSuspended(@Nullable String[], boolean, @Nullable android.os.PersistableBundle, @Nullable android.os.PersistableBundle, @Nullable android.content.pm.SuspendDialogInfo);
5379    method @RequiresPermission(value=android.Manifest.permission.CHANGE_COMPONENT_ENABLED_STATE, conditional=true) public void setSyntheticAppDetailsActivityEnabled(@NonNull String, boolean);
5380    method public void setSystemAppState(@NonNull String, int);
5381    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public abstract void setUpdateAvailable(@NonNull String, boolean);
5382    method @NonNull public boolean shouldShowNewAppInstalledNotification();
5383    method @Deprecated @RequiresPermission(android.Manifest.permission.SET_PREFERRED_APPLICATIONS) public abstract boolean updateIntentVerificationStatusAsUser(@NonNull String, int, int);
5384    method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS}) public abstract void updatePermissionFlags(@NonNull String, @NonNull String, @android.content.pm.PackageManager.PermissionFlags int, @android.content.pm.PackageManager.PermissionFlags int, @NonNull android.os.UserHandle);
5385    method @Deprecated @RequiresPermission(android.Manifest.permission.INTENT_FILTER_VERIFICATION_AGENT) public abstract void verifyIntentFilter(int, int, @NonNull java.util.List<java.lang.String>);
5386    field public static final String ACTION_REQUEST_PERMISSIONS = "android.content.pm.action.REQUEST_PERMISSIONS";
5387    field public static final String ACTION_REQUEST_PERMISSIONS_FOR_OTHER = "android.content.pm.action.REQUEST_PERMISSIONS_FOR_OTHER";
5388    field public static final int DELETE_ALL_USERS = 2; // 0x2
5389    field public static final int DELETE_FAILED_ABORTED = -5; // 0xfffffffb
5390    field public static final int DELETE_FAILED_DEVICE_POLICY_MANAGER = -2; // 0xfffffffe
5391    field public static final int DELETE_FAILED_INTERNAL_ERROR = -1; // 0xffffffff
5392    field public static final int DELETE_FAILED_OWNER_BLOCKED = -4; // 0xfffffffc
5393    field public static final int DELETE_KEEP_DATA = 1; // 0x1
5394    field public static final int DELETE_SUCCEEDED = 1; // 0x1
5395    field public static final String EXTRA_REQUEST_PERMISSIONS_LEGACY_ACCESS_PERMISSION_NAMES = "android.content.pm.extra.REQUEST_PERMISSIONS_LEGACY_ACCESS_PERMISSION_NAMES";
5396    field public static final String EXTRA_REQUEST_PERMISSIONS_NAMES = "android.content.pm.extra.REQUEST_PERMISSIONS_NAMES";
5397    field public static final String EXTRA_REQUEST_PERMISSIONS_RESULTS = "android.content.pm.extra.REQUEST_PERMISSIONS_RESULTS";
5398    field public static final String FEATURE_BROADCAST_RADIO = "android.hardware.broadcastradio";
5399    field public static final String FEATURE_CONTEXT_HUB = "android.hardware.context_hub";
5400    field public static final String FEATURE_EROFS = "android.software.erofs";
5401    field public static final String FEATURE_EROFS_LEGACY = "android.software.erofs_legacy";
5402    field public static final String FEATURE_GAME_SERVICE = "android.software.game_service";
5403    field public static final String FEATURE_INCREMENTAL_DELIVERY = "android.software.incremental_delivery";
5404    field public static final String FEATURE_REBOOT_ESCROW = "android.hardware.reboot_escrow";
5405    field public static final String FEATURE_TELEPHONY_CARRIERLOCK = "android.hardware.telephony.carrierlock";
5406    field public static final String FEATURE_TELEPHONY_IMS_SINGLE_REGISTRATION = "android.hardware.telephony.ims.singlereg";
5407    field public static final String FEATURE_VIRTUALIZATION_FRAMEWORK = "android.software.virtualization_framework";
5408    field public static final int FLAGS_PERMISSION_RESERVED_PERMISSION_CONTROLLER = -268435456; // 0xf0000000
5409    field public static final int FLAG_PERMISSION_APPLY_RESTRICTION = 16384; // 0x4000
5410    field public static final int FLAG_PERMISSION_AUTO_REVOKED = 131072; // 0x20000
5411    field public static final int FLAG_PERMISSION_GRANTED_BY_DEFAULT = 32; // 0x20
5412    field public static final int FLAG_PERMISSION_GRANTED_BY_ROLE = 32768; // 0x8000
5413    field public static final int FLAG_PERMISSION_ONE_TIME = 65536; // 0x10000
5414    field public static final int FLAG_PERMISSION_POLICY_FIXED = 4; // 0x4
5415    field public static final int FLAG_PERMISSION_RESTRICTION_INSTALLER_EXEMPT = 2048; // 0x800
5416    field public static final int FLAG_PERMISSION_RESTRICTION_SYSTEM_EXEMPT = 4096; // 0x1000
5417    field public static final int FLAG_PERMISSION_RESTRICTION_UPGRADE_EXEMPT = 8192; // 0x2000
5418    field public static final int FLAG_PERMISSION_REVIEW_REQUIRED = 64; // 0x40
5419    field public static final int FLAG_PERMISSION_REVOKED_COMPAT = 8; // 0x8
5420    field @Deprecated public static final int FLAG_PERMISSION_REVOKE_ON_UPGRADE = 8; // 0x8
5421    field public static final int FLAG_PERMISSION_REVOKE_WHEN_REQUESTED = 128; // 0x80
5422    field public static final int FLAG_PERMISSION_SELECTED_LOCATION_ACCURACY = 524288; // 0x80000
5423    field public static final int FLAG_PERMISSION_SYSTEM_FIXED = 16; // 0x10
5424    field public static final int FLAG_PERMISSION_USER_FIXED = 2; // 0x2
5425    field public static final int FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED = 512; // 0x200
5426    field public static final int FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED = 256; // 0x100
5427    field public static final int FLAG_PERMISSION_USER_SET = 1; // 0x1
5428    field public static final int INSTALL_FAILED_ALREADY_EXISTS = -1; // 0xffffffff
5429    field public static final int INSTALL_FAILED_CONFLICTING_PROVIDER = -13; // 0xfffffff3
5430    field public static final int INSTALL_FAILED_CONTAINER_ERROR = -18; // 0xffffffee
5431    field public static final int INSTALL_FAILED_CPU_ABI_INCOMPATIBLE = -16; // 0xfffffff0
5432    field public static final int INSTALL_FAILED_DEXOPT = -11; // 0xfffffff5
5433    field public static final int INSTALL_FAILED_DUPLICATE_PACKAGE = -5; // 0xfffffffb
5434    field public static final int INSTALL_FAILED_INSUFFICIENT_STORAGE = -4; // 0xfffffffc
5435    field public static final int INSTALL_FAILED_INTERNAL_ERROR = -110; // 0xffffff92
5436    field public static final int INSTALL_FAILED_INVALID_APK = -2; // 0xfffffffe
5437    field public static final int INSTALL_FAILED_INVALID_INSTALL_LOCATION = -19; // 0xffffffed
5438    field public static final int INSTALL_FAILED_INVALID_URI = -3; // 0xfffffffd
5439    field public static final int INSTALL_FAILED_MEDIA_UNAVAILABLE = -20; // 0xffffffec
5440    field public static final int INSTALL_FAILED_MISSING_FEATURE = -17; // 0xffffffef
5441    field public static final int INSTALL_FAILED_MISSING_SHARED_LIBRARY = -9; // 0xfffffff7
5442    field public static final int INSTALL_FAILED_NEWER_SDK = -14; // 0xfffffff2
5443    field public static final int INSTALL_FAILED_NO_SHARED_USER = -6; // 0xfffffffa
5444    field public static final int INSTALL_FAILED_OLDER_SDK = -12; // 0xfffffff4
5445    field public static final int INSTALL_FAILED_PACKAGE_CHANGED = -23; // 0xffffffe9
5446    field public static final int INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE = -26; // 0xffffffe6
5447    field public static final int INSTALL_FAILED_REPLACE_COULDNT_DELETE = -10; // 0xfffffff6
5448    field public static final int INSTALL_FAILED_SANDBOX_VERSION_DOWNGRADE = -27; // 0xffffffe5
5449    field public static final int INSTALL_FAILED_SHARED_USER_INCOMPATIBLE = -8; // 0xfffffff8
5450    field public static final int INSTALL_FAILED_TEST_ONLY = -15; // 0xfffffff1
5451    field public static final int INSTALL_FAILED_UPDATE_INCOMPATIBLE = -7; // 0xfffffff9
5452    field public static final int INSTALL_FAILED_VERIFICATION_FAILURE = -22; // 0xffffffea
5453    field public static final int INSTALL_FAILED_VERIFICATION_TIMEOUT = -21; // 0xffffffeb
5454    field public static final int INSTALL_PARSE_FAILED_BAD_MANIFEST = -101; // 0xffffff9b
5455    field public static final int INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME = -106; // 0xffffff96
5456    field public static final int INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID = -107; // 0xffffff95
5457    field public static final int INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING = -105; // 0xffffff97
5458    field public static final int INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES = -104; // 0xffffff98
5459    field public static final int INSTALL_PARSE_FAILED_MANIFEST_EMPTY = -109; // 0xffffff93
5460    field public static final int INSTALL_PARSE_FAILED_MANIFEST_MALFORMED = -108; // 0xffffff94
5461    field public static final int INSTALL_PARSE_FAILED_NOT_APK = -100; // 0xffffff9c
5462    field public static final int INSTALL_PARSE_FAILED_NO_CERTIFICATES = -103; // 0xffffff99
5463    field public static final int INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION = -102; // 0xffffff9a
5464    field public static final int INSTALL_SUCCEEDED = 1; // 0x1
5465    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS = 2; // 0x2
5466    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS_ASK = 4; // 0x4
5467    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ASK = 1; // 0x1
5468    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER = 3; // 0x3
5469    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_UNDEFINED = 0; // 0x0
5470    field @Deprecated public static final int INTENT_FILTER_VERIFICATION_FAILURE = -1; // 0xffffffff
5471    field @Deprecated public static final int INTENT_FILTER_VERIFICATION_SUCCESS = 1; // 0x1
5472    field @Deprecated public static final int MASK_PERMISSION_FLAGS = 255; // 0xff
5473    field public static final int MATCH_ANY_USER = 4194304; // 0x400000
5474    field public static final int MATCH_CLONE_PROFILE = 536870912; // 0x20000000
5475    field public static final int MATCH_FACTORY_ONLY = 2097152; // 0x200000
5476    field public static final int MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS = 536870912; // 0x20000000
5477    field public static final int MATCH_INSTANT = 8388608; // 0x800000
5478    field public static final int MODULE_APEX_NAME = 1; // 0x1
5479    field public static final int RESTRICTION_HIDE_FROM_SUGGESTIONS = 1; // 0x1
5480    field public static final int RESTRICTION_HIDE_NOTIFICATIONS = 2; // 0x2
5481    field public static final int RESTRICTION_NONE = 0; // 0x0
5482    field public static final int ROLLBACK_DATA_POLICY_RESTORE = 0; // 0x0
5483    field public static final int ROLLBACK_DATA_POLICY_RETAIN = 2; // 0x2
5484    field public static final int ROLLBACK_DATA_POLICY_WIPE = 1; // 0x1
5485    field public static final int SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_HIDDEN = 0; // 0x0
5486    field public static final int SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_VISIBLE = 1; // 0x1
5487    field public static final int SYSTEM_APP_STATE_INSTALLED = 2; // 0x2
5488    field public static final int SYSTEM_APP_STATE_UNINSTALLED = 3; // 0x3
5489  }
5490
5491  public abstract static class PackageManager.DexModuleRegisterCallback {
5492    ctor public PackageManager.DexModuleRegisterCallback();
5493    method public abstract void onDexModuleRegistered(String, boolean, String);
5494  }
5495
5496  public static interface PackageManager.OnPermissionsChangedListener {
5497    method public void onPermissionsChanged(int);
5498  }
5499
5500  @IntDef(prefix={"FLAG_PERMISSION_"}, value={android.content.pm.PackageManager.FLAG_PERMISSION_USER_SET, android.content.pm.PackageManager.FLAG_PERMISSION_USER_FIXED, android.content.pm.PackageManager.FLAG_PERMISSION_POLICY_FIXED, android.content.pm.PackageManager.FLAG_PERMISSION_REVOKE_ON_UPGRADE, android.content.pm.PackageManager.FLAG_PERMISSION_SYSTEM_FIXED, android.content.pm.PackageManager.FLAG_PERMISSION_GRANTED_BY_DEFAULT, android.content.pm.PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED, android.content.pm.PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED, android.content.pm.PackageManager.FLAG_PERMISSION_RESTRICTION_UPGRADE_EXEMPT, android.content.pm.PackageManager.FLAG_PERMISSION_RESTRICTION_SYSTEM_EXEMPT, android.content.pm.PackageManager.FLAG_PERMISSION_RESTRICTION_INSTALLER_EXEMPT, android.content.pm.PackageManager.FLAG_PERMISSION_APPLY_RESTRICTION, android.content.pm.PackageManager.FLAG_PERMISSION_GRANTED_BY_ROLE, android.content.pm.PackageManager.FLAG_PERMISSION_REVOKED_COMPAT, android.content.pm.PackageManager.FLAG_PERMISSION_ONE_TIME, android.content.pm.PackageManager.FLAG_PERMISSION_AUTO_REVOKED}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface PackageManager.PermissionFlags {
5501  }
5502
5503  public static final class PackageManager.UninstallCompleteCallback implements android.os.Parcelable {
5504    method public int describeContents();
5505    method public void onUninstallComplete(@NonNull String, int, @Nullable String);
5506    method public void writeToParcel(@NonNull android.os.Parcel, int);
5507    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.PackageManager.UninstallCompleteCallback> CREATOR;
5508  }
5509
5510  public class PermissionGroupInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
5511    field @StringRes public final int backgroundRequestDetailResourceId;
5512    field @StringRes public final int backgroundRequestResourceId;
5513    field @StringRes public final int requestDetailResourceId;
5514    field @StringRes public int requestRes;
5515  }
5516
5517  public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
5518    field public static final int FLAG_REMOVED = 2; // 0x2
5519    field public static final int PROTECTION_FLAG_APP_PREDICTOR = 2097152; // 0x200000
5520    field public static final int PROTECTION_FLAG_COMPANION = 8388608; // 0x800000
5521    field public static final int PROTECTION_FLAG_CONFIGURATOR = 524288; // 0x80000
5522    field @Deprecated public static final int PROTECTION_FLAG_DOCUMENTER = 262144; // 0x40000
5523    field public static final int PROTECTION_FLAG_INCIDENT_REPORT_APPROVER = 1048576; // 0x100000
5524    field public static final int PROTECTION_FLAG_KNOWN_SIGNER = 134217728; // 0x8000000
5525    field public static final int PROTECTION_FLAG_MODULE = 4194304; // 0x400000
5526    field public static final int PROTECTION_FLAG_OEM = 16384; // 0x4000
5527    field public static final int PROTECTION_FLAG_RECENTS = 33554432; // 0x2000000
5528    field public static final int PROTECTION_FLAG_RETAIL_DEMO = 16777216; // 0x1000000
5529    field public static final int PROTECTION_FLAG_ROLE = 67108864; // 0x4000000
5530    field public static final int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER = 65536; // 0x10000
5531    field public static final int PROTECTION_FLAG_VENDOR_PRIVILEGED = 32768; // 0x8000
5532    field @Deprecated public static final int PROTECTION_FLAG_WELLBEING = 131072; // 0x20000
5533    field @Nullable public final String backgroundPermission;
5534    field @NonNull public java.util.Set<java.lang.String> knownCerts;
5535    field @StringRes public int requestRes;
5536  }
5537
5538  public class ResolveInfo implements android.os.Parcelable {
5539    field public boolean handleAllWebDataURI;
5540  }
5541
5542  public final class ShortcutInfo implements android.os.Parcelable {
5543    method @Nullable public android.app.Person[] getPersons();
5544  }
5545
5546  public class ShortcutManager {
5547    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_PREDICTIONS) @WorkerThread public java.util.List<android.content.pm.ShortcutManager.ShareShortcutInfo> getShareTargets(@NonNull android.content.IntentFilter);
5548    method public boolean hasShareTargets(@NonNull String);
5549  }
5550
5551  public static final class ShortcutManager.ShareShortcutInfo implements android.os.Parcelable {
5552    method public int describeContents();
5553    method @NonNull public android.content.pm.ShortcutInfo getShortcutInfo();
5554    method @NonNull public android.content.ComponentName getTargetComponent();
5555    method public void writeToParcel(@NonNull android.os.Parcel, int);
5556    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ShortcutManager.ShareShortcutInfo> CREATOR;
5557  }
5558
5559  public final class SuspendDialogInfo implements android.os.Parcelable {
5560    method public int describeContents();
5561    method public void writeToParcel(android.os.Parcel, int);
5562    field public static final int BUTTON_ACTION_MORE_DETAILS = 0; // 0x0
5563    field public static final int BUTTON_ACTION_UNSUSPEND = 1; // 0x1
5564    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.SuspendDialogInfo> CREATOR;
5565  }
5566
5567  public static final class SuspendDialogInfo.Builder {
5568    ctor public SuspendDialogInfo.Builder();
5569    method @NonNull public android.content.pm.SuspendDialogInfo build();
5570    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setIcon(@DrawableRes int);
5571    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setMessage(@NonNull String);
5572    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setMessage(@StringRes int);
5573    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonAction(int);
5574    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonText(@StringRes int);
5575    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonText(@NonNull String);
5576    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setTitle(@StringRes int);
5577    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setTitle(@NonNull String);
5578  }
5579
5580  public final class UserProperties implements android.os.Parcelable {
5581    method public int describeContents();
5582    method public boolean isCredentialShareableWithParent();
5583    method public boolean isMediaSharedWithParent();
5584    method public void writeToParcel(@NonNull android.os.Parcel, int);
5585    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.UserProperties> CREATOR;
5586  }
5587
5588}
5589
5590package android.content.pm.dex {
5591
5592  public class ArtManager {
5593    method @RequiresPermission(allOf={android.Manifest.permission.READ_RUNTIME_PROFILES, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean isRuntimeProfilingEnabled(int);
5594    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);
5595    field public static final int PROFILE_APPS = 0; // 0x0
5596    field public static final int PROFILE_BOOT_IMAGE = 1; // 0x1
5597    field public static final int SNAPSHOT_FAILED_CODE_PATH_NOT_FOUND = 1; // 0x1
5598    field public static final int SNAPSHOT_FAILED_INTERNAL_ERROR = 2; // 0x2
5599    field public static final int SNAPSHOT_FAILED_PACKAGE_NOT_FOUND = 0; // 0x0
5600  }
5601
5602  public abstract static class ArtManager.SnapshotRuntimeProfileCallback {
5603    ctor public ArtManager.SnapshotRuntimeProfileCallback();
5604    method public abstract void onError(int);
5605    method public abstract void onSuccess(android.os.ParcelFileDescriptor);
5606  }
5607
5608}
5609
5610package android.content.pm.permission {
5611
5612  @Deprecated public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
5613    ctor @Deprecated public RuntimePermissionPresentationInfo(CharSequence, boolean, boolean);
5614    method @Deprecated public int describeContents();
5615    method @Deprecated @NonNull public CharSequence getLabel();
5616    method @Deprecated public boolean isGranted();
5617    method @Deprecated public boolean isStandard();
5618    method @Deprecated public void writeToParcel(android.os.Parcel, int);
5619    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.content.pm.permission.RuntimePermissionPresentationInfo> CREATOR;
5620  }
5621
5622}
5623
5624package android.content.pm.verify.domain {
5625
5626  public final class DomainOwner implements android.os.Parcelable {
5627    ctor public DomainOwner(@NonNull String, boolean);
5628    method public int describeContents();
5629    method @NonNull public String getPackageName();
5630    method public boolean isOverrideable();
5631    method public void writeToParcel(@NonNull android.os.Parcel, int);
5632    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainOwner> CREATOR;
5633  }
5634
5635  public final class DomainVerificationInfo implements android.os.Parcelable {
5636    method public int describeContents();
5637    method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getHostToStateMap();
5638    method @NonNull public java.util.UUID getIdentifier();
5639    method @NonNull public String getPackageName();
5640    method public void writeToParcel(@NonNull android.os.Parcel, int);
5641    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainVerificationInfo> CREATOR;
5642    field public static final int STATE_FIRST_VERIFIER_DEFINED = 1024; // 0x400
5643    field public static final int STATE_MODIFIABLE_UNVERIFIED = 3; // 0x3
5644    field public static final int STATE_MODIFIABLE_VERIFIED = 4; // 0x4
5645    field public static final int STATE_NO_RESPONSE = 0; // 0x0
5646    field public static final int STATE_SUCCESS = 1; // 0x1
5647    field public static final int STATE_UNMODIFIABLE = 2; // 0x2
5648  }
5649
5650  public final class DomainVerificationManager {
5651    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;
5652    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public java.util.SortedSet<android.content.pm.verify.domain.DomainOwner> getOwnersForDomain(@NonNull String);
5653    method @NonNull @RequiresPermission(android.Manifest.permission.DOMAIN_VERIFICATION_AGENT) public java.util.List<java.lang.String> queryValidVerificationPackageNames();
5654    method @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public void setDomainVerificationLinkHandlingAllowed(@NonNull String, boolean) throws android.content.pm.PackageManager.NameNotFoundException;
5655    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;
5656    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;
5657    field public static final int ERROR_DOMAIN_SET_ID_INVALID = 1; // 0x1
5658    field public static final int ERROR_UNABLE_TO_APPROVE = 3; // 0x3
5659    field public static final int ERROR_UNKNOWN_DOMAIN = 2; // 0x2
5660    field public static final String EXTRA_VERIFICATION_REQUEST = "android.content.pm.verify.domain.extra.VERIFICATION_REQUEST";
5661    field public static final int STATUS_OK = 0; // 0x0
5662  }
5663
5664  public final class DomainVerificationRequest implements android.os.Parcelable {
5665    method public int describeContents();
5666    method @NonNull public java.util.Set<java.lang.String> getPackageNames();
5667    method public void writeToParcel(@NonNull android.os.Parcel, int);
5668    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainVerificationRequest> CREATOR;
5669  }
5670
5671  public final class DomainVerificationUserState implements android.os.Parcelable {
5672    method @NonNull public java.util.UUID getIdentifier();
5673  }
5674
5675}
5676
5677package android.content.rollback {
5678
5679  public final class PackageRollbackInfo implements android.os.Parcelable {
5680    method public int describeContents();
5681    method @NonNull public String getPackageName();
5682    method @NonNull public android.content.pm.VersionedPackage getVersionRolledBackFrom();
5683    method @NonNull public android.content.pm.VersionedPackage getVersionRolledBackTo();
5684    method public void writeToParcel(android.os.Parcel, int);
5685    field @NonNull public static final android.os.Parcelable.Creator<android.content.rollback.PackageRollbackInfo> CREATOR;
5686  }
5687
5688  public final class RollbackInfo implements android.os.Parcelable {
5689    method public int describeContents();
5690    method @NonNull public java.util.List<android.content.pm.VersionedPackage> getCausePackages();
5691    method public int getCommittedSessionId();
5692    method @NonNull public java.util.List<android.content.rollback.PackageRollbackInfo> getPackages();
5693    method public int getRollbackId();
5694    method public boolean isStaged();
5695    method public void writeToParcel(android.os.Parcel, int);
5696    field @NonNull public static final android.os.Parcelable.Creator<android.content.rollback.RollbackInfo> CREATOR;
5697  }
5698
5699  public final class RollbackManager {
5700    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);
5701    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_ROLLBACKS, "android.permission.TEST_MANAGE_ROLLBACKS"}) public java.util.List<android.content.rollback.RollbackInfo> getAvailableRollbacks();
5702    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_ROLLBACKS, "android.permission.TEST_MANAGE_ROLLBACKS"}) public java.util.List<android.content.rollback.RollbackInfo> getRecentlyCommittedRollbacks();
5703    field public static final String EXTRA_STATUS = "android.content.rollback.extra.STATUS";
5704    field public static final String EXTRA_STATUS_MESSAGE = "android.content.rollback.extra.STATUS_MESSAGE";
5705    field public static final int STATUS_FAILURE = 1; // 0x1
5706    field public static final int STATUS_FAILURE_INSTALL = 3; // 0x3
5707    field public static final int STATUS_FAILURE_ROLLBACK_UNAVAILABLE = 2; // 0x2
5708    field public static final int STATUS_SUCCESS = 0; // 0x0
5709  }
5710
5711}
5712
5713package android.database {
5714
5715  public abstract class ContentObserver {
5716    method public void onChange(boolean, @NonNull java.util.Collection<android.net.Uri>, int, @NonNull android.os.UserHandle);
5717  }
5718
5719}
5720
5721package android.debug {
5722
5723  public class AdbManager {
5724    method @RequiresPermission(android.Manifest.permission.MANAGE_DEBUGGING) public boolean isAdbWifiQrSupported();
5725    method @RequiresPermission(android.Manifest.permission.MANAGE_DEBUGGING) public boolean isAdbWifiSupported();
5726  }
5727
5728}
5729
5730package android.graphics.fonts {
5731
5732  public final class FontFamilyUpdateRequest {
5733    method @NonNull public java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.FontFamily> getFontFamilies();
5734    method @NonNull public java.util.List<android.graphics.fonts.FontFileUpdateRequest> getFontFileUpdateRequests();
5735  }
5736
5737  public static final class FontFamilyUpdateRequest.Builder {
5738    ctor public FontFamilyUpdateRequest.Builder();
5739    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Builder addFontFamily(@NonNull android.graphics.fonts.FontFamilyUpdateRequest.FontFamily);
5740    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Builder addFontFileUpdateRequest(@NonNull android.graphics.fonts.FontFileUpdateRequest);
5741    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest build();
5742  }
5743
5744  public static final class FontFamilyUpdateRequest.Font {
5745    method @NonNull public java.util.List<android.graphics.fonts.FontVariationAxis> getAxes();
5746    method @IntRange(from=0) public int getIndex();
5747    method @NonNull public String getPostScriptName();
5748    method @NonNull public android.graphics.fonts.FontStyle getStyle();
5749  }
5750
5751  public static final class FontFamilyUpdateRequest.Font.Builder {
5752    ctor public FontFamilyUpdateRequest.Font.Builder(@NonNull String, @NonNull android.graphics.fonts.FontStyle);
5753    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font build();
5754    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font.Builder setAxes(@NonNull java.util.List<android.graphics.fonts.FontVariationAxis>);
5755    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font.Builder setIndex(@IntRange(from=0) int);
5756  }
5757
5758  public static final class FontFamilyUpdateRequest.FontFamily {
5759    method @NonNull public java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.Font> getFonts();
5760    method @NonNull public String getName();
5761  }
5762
5763  public static final class FontFamilyUpdateRequest.FontFamily.Builder {
5764    ctor public FontFamilyUpdateRequest.FontFamily.Builder(@NonNull String, @NonNull java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.Font>);
5765    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.FontFamily.Builder addFont(@NonNull android.graphics.fonts.FontFamilyUpdateRequest.Font);
5766    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.FontFamily build();
5767  }
5768
5769  public final class FontFileUpdateRequest {
5770    ctor public FontFileUpdateRequest(@NonNull android.os.ParcelFileDescriptor, @NonNull byte[]);
5771    method @NonNull public android.os.ParcelFileDescriptor getParcelFileDescriptor();
5772    method @NonNull public byte[] getSignature();
5773  }
5774
5775  public class FontManager {
5776    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_FONTS) public android.text.FontConfig getFontConfig();
5777    method @RequiresPermission(android.Manifest.permission.UPDATE_FONTS) public int updateFontFamily(@NonNull android.graphics.fonts.FontFamilyUpdateRequest, @IntRange(from=0) int);
5778    field public static final int RESULT_ERROR_DOWNGRADING = -5; // 0xfffffffb
5779    field public static final int RESULT_ERROR_FAILED_TO_WRITE_FONT_FILE = -1; // 0xffffffff
5780    field public static final int RESULT_ERROR_FAILED_UPDATE_CONFIG = -6; // 0xfffffffa
5781    field public static final int RESULT_ERROR_FONT_NOT_FOUND = -9; // 0xfffffff7
5782    field public static final int RESULT_ERROR_FONT_UPDATER_DISABLED = -7; // 0xfffffff9
5783    field public static final int RESULT_ERROR_INVALID_FONT_FILE = -3; // 0xfffffffd
5784    field public static final int RESULT_ERROR_INVALID_FONT_NAME = -4; // 0xfffffffc
5785    field public static final int RESULT_ERROR_VERIFICATION_FAILURE = -2; // 0xfffffffe
5786    field public static final int RESULT_ERROR_VERSION_MISMATCH = -8; // 0xfffffff8
5787    field public static final int RESULT_SUCCESS = 0; // 0x0
5788  }
5789
5790}
5791
5792package android.hardware {
5793
5794  public final class Sensor {
5795    method public java.util.UUID getUuid();
5796    method public boolean isDataInjectionSupported();
5797    field public static final String STRING_TYPE_DYNAMIC_SENSOR_META = "android.sensor.dynamic_sensor_meta";
5798    field public static final String STRING_TYPE_WRIST_TILT_GESTURE = "android.sensor.wrist_tilt_gesture";
5799    field public static final int TYPE_DYNAMIC_SENSOR_META = 32; // 0x20
5800    field public static final int TYPE_WRIST_TILT_GESTURE = 26; // 0x1a
5801  }
5802
5803  public abstract class SensorManager {
5804    method public boolean initDataInjection(boolean);
5805    method public boolean injectSensorData(android.hardware.Sensor, float[], int, long);
5806  }
5807
5808  public final class SensorPrivacyManager {
5809    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(int, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
5810    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
5811    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(@NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
5812    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
5813    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public boolean areAnySensorPrivacyTogglesEnabled(int);
5814    method @Deprecated @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public boolean isSensorPrivacyEnabled(int);
5815    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public boolean isSensorPrivacyEnabled(int, int);
5816    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void removeSensorPrivacyListener(int, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
5817    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void removeSensorPrivacyListener(@NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
5818    method @RequiresPermission(android.Manifest.permission.MANAGE_SENSOR_PRIVACY) public void setSensorPrivacy(int, boolean);
5819  }
5820
5821  public static interface SensorPrivacyManager.OnSensorPrivacyChangedListener {
5822    method public default void onSensorPrivacyChanged(@NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener.SensorPrivacyChangedParams);
5823    method @Deprecated public void onSensorPrivacyChanged(int, boolean);
5824  }
5825
5826  public static class SensorPrivacyManager.OnSensorPrivacyChangedListener.SensorPrivacyChangedParams {
5827    method public int getSensor();
5828    method public int getToggleType();
5829    method public boolean isEnabled();
5830  }
5831
5832}
5833
5834package android.hardware.biometrics {
5835
5836  public static interface BiometricManager.Authenticators {
5837    field @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static final int BIOMETRIC_CONVENIENCE = 4095; // 0xfff
5838    field @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static final int EMPTY_SET = 0; // 0x0
5839  }
5840
5841}
5842
5843package android.hardware.camera2 {
5844
5845  public abstract class CameraDevice implements java.lang.AutoCloseable {
5846    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;
5847    field public static final int SESSION_OPERATION_MODE_CONSTRAINED_HIGH_SPEED = 1; // 0x1
5848    field public static final int SESSION_OPERATION_MODE_NORMAL = 0; // 0x0
5849    field public static final int SESSION_OPERATION_MODE_VENDOR_START = 32768; // 0x8000
5850  }
5851
5852  public final class CameraManager {
5853    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;
5854  }
5855
5856  public abstract static class CameraManager.AvailabilityCallback {
5857    method @RequiresPermission(android.Manifest.permission.CAMERA_OPEN_CLOSE_LISTENER) public void onCameraClosed(@NonNull String);
5858    method @RequiresPermission(android.Manifest.permission.CAMERA_OPEN_CLOSE_LISTENER) public void onCameraOpened(@NonNull String, @NonNull String);
5859  }
5860
5861}
5862
5863package android.hardware.camera2.params {
5864
5865  public final class OutputConfiguration implements android.os.Parcelable {
5866    ctor public OutputConfiguration(@NonNull android.view.Surface, int);
5867    ctor public OutputConfiguration(int, @NonNull android.view.Surface, int);
5868    method public int getRotation();
5869    field public static final int ROTATION_0 = 0; // 0x0
5870    field public static final int ROTATION_180 = 2; // 0x2
5871    field public static final int ROTATION_270 = 3; // 0x3
5872    field public static final int ROTATION_90 = 1; // 0x1
5873  }
5874
5875}
5876
5877package android.hardware.display {
5878
5879  public final class AmbientBrightnessDayStats implements android.os.Parcelable {
5880    method public int describeContents();
5881    method public float[] getBucketBoundaries();
5882    method public java.time.LocalDate getLocalDate();
5883    method public float[] getStats();
5884    method public void writeToParcel(android.os.Parcel, int);
5885    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.AmbientBrightnessDayStats> CREATOR;
5886  }
5887
5888  public final class BrightnessChangeEvent implements android.os.Parcelable {
5889    method public int describeContents();
5890    method public void writeToParcel(android.os.Parcel, int);
5891    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessChangeEvent> CREATOR;
5892    field public final float batteryLevel;
5893    field public final float brightness;
5894    field public final long colorSampleDuration;
5895    field public final int colorTemperature;
5896    field @Nullable public final long[] colorValueBuckets;
5897    field public final boolean isDefaultBrightnessConfig;
5898    field public final boolean isUserSetBrightness;
5899    field public final float lastBrightness;
5900    field public final long[] luxTimestamps;
5901    field public final float[] luxValues;
5902    field public final boolean nightMode;
5903    field public final String packageName;
5904    field public final float powerBrightnessFactor;
5905    field public final boolean reduceBrightColors;
5906    field public final float reduceBrightColorsOffset;
5907    field public final int reduceBrightColorsStrength;
5908    field public final long timeStamp;
5909    field @NonNull public final String uniqueDisplayId;
5910  }
5911
5912  public final class BrightnessConfiguration implements android.os.Parcelable {
5913    method public int describeContents();
5914    method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByCategory(int);
5915    method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByPackageName(@NonNull String);
5916    method public android.util.Pair<float[],float[]> getCurve();
5917    method public float getShortTermModelLowerLuxMultiplier();
5918    method public long getShortTermModelTimeoutMillis();
5919    method public float getShortTermModelUpperLuxMultiplier();
5920    method public boolean shouldCollectColorSamples();
5921    method public void writeToParcel(android.os.Parcel, int);
5922    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessConfiguration> CREATOR;
5923    field public static final long SHORT_TERM_TIMEOUT_UNSET = -1L; // 0xffffffffffffffffL
5924  }
5925
5926  public static class BrightnessConfiguration.Builder {
5927    ctor public BrightnessConfiguration.Builder(float[], float[]);
5928    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByCategory(int, @NonNull android.hardware.display.BrightnessCorrection);
5929    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByPackageName(@NonNull String, @NonNull android.hardware.display.BrightnessCorrection);
5930    method @NonNull public android.hardware.display.BrightnessConfiguration build();
5931    method public int getMaxCorrectionsByCategory();
5932    method public int getMaxCorrectionsByPackageName();
5933    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setDescription(@Nullable String);
5934    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelLowerLuxMultiplier(@FloatRange(from=0.0f) float);
5935    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelTimeoutMillis(long);
5936    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelUpperLuxMultiplier(@FloatRange(from=0.0f) float);
5937    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShouldCollectColorSamples(boolean);
5938  }
5939
5940  public final class BrightnessCorrection implements android.os.Parcelable {
5941    method @FloatRange(from=0.0) public float apply(@FloatRange(from=0.0) float);
5942    method @NonNull public static android.hardware.display.BrightnessCorrection createScaleAndTranslateLog(float, float);
5943    method public int describeContents();
5944    method public void writeToParcel(android.os.Parcel, int);
5945    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessCorrection> CREATOR;
5946  }
5947
5948  public final class ColorDisplayManager {
5949    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public int getNightDisplayAutoMode();
5950    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public int getTransformCapabilities();
5951    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setAppSaturationLevel(@NonNull String, @IntRange(from=0, to=100) int);
5952    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayAutoMode(int);
5953    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayCustomEndTime(@NonNull java.time.LocalTime);
5954    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayCustomStartTime(@NonNull java.time.LocalTime);
5955    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setSaturationLevel(@IntRange(from=0, to=100) int);
5956    field public static final int AUTO_MODE_CUSTOM_TIME = 1; // 0x1
5957    field public static final int AUTO_MODE_DISABLED = 0; // 0x0
5958    field public static final int AUTO_MODE_TWILIGHT = 2; // 0x2
5959    field public static final int CAPABILITY_HARDWARE_ACCELERATION_GLOBAL = 2; // 0x2
5960    field public static final int CAPABILITY_HARDWARE_ACCELERATION_PER_APP = 4; // 0x4
5961    field public static final int CAPABILITY_NONE = 0; // 0x0
5962    field public static final int CAPABILITY_PROTECTED_CONTENT = 1; // 0x1
5963  }
5964
5965  public final class DisplayManager {
5966    method @Nullable @RequiresPermission("android.permission.CAPTURE_VIDEO_OUTPUT") public static android.hardware.display.VirtualDisplay createVirtualDisplay(@NonNull String, int, int, int, @Nullable android.view.Surface);
5967    method @RequiresPermission(android.Manifest.permission.ACCESS_AMBIENT_LIGHT_STATS) public java.util.List<android.hardware.display.AmbientBrightnessDayStats> getAmbientBrightnessStats();
5968    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getBrightnessConfiguration();
5969    method @Nullable @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getBrightnessConfigurationForDisplay(@NonNull String);
5970    method @RequiresPermission(android.Manifest.permission.BRIGHTNESS_SLIDER_USAGE) public java.util.List<android.hardware.display.BrightnessChangeEvent> getBrightnessEvents();
5971    method @Nullable @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getDefaultBrightnessConfiguration();
5972    method public android.util.Pair<float[],float[]> getMinimumBrightnessCurve();
5973    method public android.graphics.Point getStableDisplaySize();
5974    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public void setBrightnessConfiguration(android.hardware.display.BrightnessConfiguration);
5975    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public void setBrightnessConfigurationForDisplay(@NonNull android.hardware.display.BrightnessConfiguration, @NonNull String);
5976    method @Deprecated @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_SATURATION) public void setSaturationLevel(float);
5977    field public static final int VIRTUAL_DISPLAY_FLAG_STEAL_TOP_FOCUS_DISABLED = 65536; // 0x10000
5978    field public static final int VIRTUAL_DISPLAY_FLAG_TRUSTED = 1024; // 0x400
5979  }
5980
5981}
5982
5983package android.hardware.hdmi {
5984
5985  public abstract class HdmiClient {
5986    method public android.hardware.hdmi.HdmiDeviceInfo getActiveSource();
5987    method public void selectDevice(int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiClient.OnDeviceSelectedListener);
5988    method public void sendKeyEvent(int, boolean);
5989    method public void sendVendorCommand(int, byte[], boolean);
5990    method public void setVendorCommandListener(@NonNull android.hardware.hdmi.HdmiControlManager.VendorCommandListener);
5991    method public void setVendorCommandListener(@NonNull android.hardware.hdmi.HdmiControlManager.VendorCommandListener, int);
5992  }
5993
5994  public static interface HdmiClient.OnDeviceSelectedListener {
5995    method public void onDeviceSelected(@android.hardware.hdmi.HdmiControlManager.ControlCallbackResult int, int);
5996  }
5997
5998  public final class HdmiControlManager {
5999    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHdmiCecEnabledChangeListener(@NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
6000    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHdmiCecEnabledChangeListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
6001    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHotplugEventListener(android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
6002    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHotplugEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
6003    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.Integer> getAllowedCecSettingIntValues(@NonNull String);
6004    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.String> getAllowedCecSettingStringValues(@NonNull String);
6005    method @Nullable public android.hardware.hdmi.HdmiClient getClient(int);
6006    method @NonNull public java.util.List<android.hardware.hdmi.HdmiDeviceInfo> getConnectedDevices();
6007    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getEarcEnabled();
6008    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecEnabled();
6009    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecVersion();
6010    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecVolumeControlEnabled();
6011    method public int getPhysicalAddress();
6012    method @Nullable public android.hardware.hdmi.HdmiPlaybackClient getPlaybackClient();
6013    method @NonNull public java.util.List<android.hardware.hdmi.HdmiPortInfo> getPortInfo();
6014    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public String getPowerControlMode();
6015    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public String getPowerStateChangeOnActiveSourceLost();
6016    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getRoutingControl();
6017    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getSadPresenceInQuery(@NonNull String);
6018    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getSoundbarMode();
6019    method @Nullable public android.hardware.hdmi.HdmiSwitchClient getSwitchClient();
6020    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getSystemAudioControl();
6021    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getSystemAudioModeMuting();
6022    method @Nullable public android.hardware.hdmi.HdmiTvClient getTvClient();
6023    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getTvSendStandbyOnSleep();
6024    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getTvWakeOnOneTouchPlay();
6025    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.String> getUserCecSettings();
6026    method public boolean isDeviceConnected(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
6027    method public void powerOffDevice(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
6028    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void removeHdmiCecEnabledChangeListener(@NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
6029    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void removeHotplugEventListener(android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
6030    method public void setActiveSource(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
6031    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setEarcEnabled(@NonNull int);
6032    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecEnabled(@NonNull int);
6033    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecVersion(@NonNull int);
6034    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecVolumeControlEnabled(int);
6035    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setPowerControlMode(@NonNull String);
6036    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setPowerStateChangeOnActiveSourceLost(@NonNull String);
6037    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setRoutingControl(@NonNull int);
6038    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSadPresenceInQuery(@NonNull String, int);
6039    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSadsPresenceInQuery(@NonNull java.util.List<java.lang.String>, int);
6040    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSoundbarMode(int);
6041    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setStandbyMode(boolean);
6042    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSystemAudioControl(@NonNull int);
6043    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSystemAudioModeMuting(@NonNull int);
6044    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setTvSendStandbyOnSleep(@NonNull int);
6045    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setTvWakeOnOneTouchPlay(@NonNull int);
6046    field public static final String ACTION_OSD_MESSAGE = "android.hardware.hdmi.action.OSD_MESSAGE";
6047    field public static final int AVR_VOLUME_MUTED = 101; // 0x65
6048    field public static final String CEC_SETTING_NAME_HDMI_CEC_ENABLED = "hdmi_cec_enabled";
6049    field public static final String CEC_SETTING_NAME_HDMI_CEC_VERSION = "hdmi_cec_version";
6050    field public static final String CEC_SETTING_NAME_POWER_CONTROL_MODE = "power_control_mode";
6051    field public static final String CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST = "power_state_change_on_active_source_lost";
6052    field public static final String CEC_SETTING_NAME_QUERY_SAD_AAC = "query_sad_aac";
6053    field public static final String CEC_SETTING_NAME_QUERY_SAD_ATRAC = "query_sad_atrac";
6054    field public static final String CEC_SETTING_NAME_QUERY_SAD_DD = "query_sad_dd";
6055    field public static final String CEC_SETTING_NAME_QUERY_SAD_DDP = "query_sad_ddp";
6056    field public static final String CEC_SETTING_NAME_QUERY_SAD_DST = "query_sad_dst";
6057    field public static final String CEC_SETTING_NAME_QUERY_SAD_DTS = "query_sad_dts";
6058    field public static final String CEC_SETTING_NAME_QUERY_SAD_DTSHD = "query_sad_dtshd";
6059    field public static final String CEC_SETTING_NAME_QUERY_SAD_LPCM = "query_sad_lpcm";
6060    field public static final String CEC_SETTING_NAME_QUERY_SAD_MAX = "query_sad_max";
6061    field public static final String CEC_SETTING_NAME_QUERY_SAD_MP3 = "query_sad_mp3";
6062    field public static final String CEC_SETTING_NAME_QUERY_SAD_MPEG1 = "query_sad_mpeg1";
6063    field public static final String CEC_SETTING_NAME_QUERY_SAD_MPEG2 = "query_sad_mpeg2";
6064    field public static final String CEC_SETTING_NAME_QUERY_SAD_ONEBITAUDIO = "query_sad_onebitaudio";
6065    field public static final String CEC_SETTING_NAME_QUERY_SAD_TRUEHD = "query_sad_truehd";
6066    field public static final String CEC_SETTING_NAME_QUERY_SAD_WMAPRO = "query_sad_wmapro";
6067    field public static final String CEC_SETTING_NAME_ROUTING_CONTROL = "routing_control";
6068    field public static final String CEC_SETTING_NAME_SOUNDBAR_MODE = "soundbar_mode";
6069    field public static final String CEC_SETTING_NAME_SYSTEM_AUDIO_CONTROL = "system_audio_control";
6070    field public static final String CEC_SETTING_NAME_SYSTEM_AUDIO_MODE_MUTING = "system_audio_mode_muting";
6071    field public static final String CEC_SETTING_NAME_TV_SEND_STANDBY_ON_SLEEP = "tv_send_standby_on_sleep";
6072    field public static final String CEC_SETTING_NAME_TV_WAKE_ON_ONE_TOUCH_PLAY = "tv_wake_on_one_touch_play";
6073    field public static final String CEC_SETTING_NAME_VOLUME_CONTROL_MODE = "volume_control_enabled";
6074    field public static final int CLEAR_TIMER_STATUS_CEC_DISABLE = 162; // 0xa2
6075    field public static final int CLEAR_TIMER_STATUS_CHECK_RECORDER_CONNECTION = 160; // 0xa0
6076    field public static final int CLEAR_TIMER_STATUS_FAIL_TO_CLEAR_SELECTED_SOURCE = 161; // 0xa1
6077    field public static final int CLEAR_TIMER_STATUS_TIMER_CLEARED = 128; // 0x80
6078    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_NO_INFO_AVAILABLE = 2; // 0x2
6079    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_NO_MATCHING = 1; // 0x1
6080    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_RECORDING = 0; // 0x0
6081    field public static final int CONTROL_STATE_CHANGED_REASON_SETTING = 1; // 0x1
6082    field public static final int CONTROL_STATE_CHANGED_REASON_STANDBY = 3; // 0x3
6083    field public static final int CONTROL_STATE_CHANGED_REASON_START = 0; // 0x0
6084    field public static final int CONTROL_STATE_CHANGED_REASON_WAKEUP = 2; // 0x2
6085    field public static final int DEVICE_EVENT_ADD_DEVICE = 1; // 0x1
6086    field public static final int DEVICE_EVENT_REMOVE_DEVICE = 2; // 0x2
6087    field public static final int DEVICE_EVENT_UPDATE_DEVICE = 3; // 0x3
6088    field public static final int EARC_FEATURE_DISABLED = 0; // 0x0
6089    field public static final int EARC_FEATURE_ENABLED = 1; // 0x1
6090    field public static final String EXTRA_MESSAGE_EXTRA_PARAM1 = "android.hardware.hdmi.extra.MESSAGE_EXTRA_PARAM1";
6091    field public static final String EXTRA_MESSAGE_ID = "android.hardware.hdmi.extra.MESSAGE_ID";
6092    field public static final int HDMI_CEC_CONTROL_DISABLED = 0; // 0x0
6093    field public static final int HDMI_CEC_CONTROL_ENABLED = 1; // 0x1
6094    field public static final int HDMI_CEC_VERSION_1_4_B = 5; // 0x5
6095    field public static final int HDMI_CEC_VERSION_2_0 = 6; // 0x6
6096    field public static final int ONE_TOUCH_RECORD_ALREADY_RECORDING = 18; // 0x12
6097    field public static final int ONE_TOUCH_RECORD_CEC_DISABLED = 51; // 0x33
6098    field public static final int ONE_TOUCH_RECORD_CHECK_RECORDER_CONNECTION = 49; // 0x31
6099    field public static final int ONE_TOUCH_RECORD_DISALLOW_TO_COPY = 13; // 0xd
6100    field public static final int ONE_TOUCH_RECORD_DISALLOW_TO_FUTHER_COPIES = 14; // 0xe
6101    field public static final int ONE_TOUCH_RECORD_FAIL_TO_RECORD_DISPLAYED_SCREEN = 50; // 0x32
6102    field public static final int ONE_TOUCH_RECORD_INVALID_EXTERNAL_PHYSICAL_ADDRESS = 10; // 0xa
6103    field public static final int ONE_TOUCH_RECORD_INVALID_EXTERNAL_PLUG_NUMBER = 9; // 0x9
6104    field public static final int ONE_TOUCH_RECORD_MEDIA_PROBLEM = 21; // 0x15
6105    field public static final int ONE_TOUCH_RECORD_MEDIA_PROTECTED = 19; // 0x13
6106    field public static final int ONE_TOUCH_RECORD_NOT_ENOUGH_SPACE = 22; // 0x16
6107    field public static final int ONE_TOUCH_RECORD_NO_MEDIA = 16; // 0x10
6108    field public static final int ONE_TOUCH_RECORD_NO_OR_INSUFFICIENT_CA_ENTITLEMENTS = 12; // 0xc
6109    field public static final int ONE_TOUCH_RECORD_NO_SOURCE_SIGNAL = 20; // 0x14
6110    field public static final int ONE_TOUCH_RECORD_OTHER_REASON = 31; // 0x1f
6111    field public static final int ONE_TOUCH_RECORD_PARENT_LOCK_ON = 23; // 0x17
6112    field public static final int ONE_TOUCH_RECORD_PLAYING = 17; // 0x11
6113    field public static final int ONE_TOUCH_RECORD_PREVIOUS_RECORDING_IN_PROGRESS = 48; // 0x30
6114    field public static final int ONE_TOUCH_RECORD_RECORDING_ALREADY_TERMINATED = 27; // 0x1b
6115    field public static final int ONE_TOUCH_RECORD_RECORDING_ANALOGUE_SERVICE = 3; // 0x3
6116    field public static final int ONE_TOUCH_RECORD_RECORDING_CURRENTLY_SELECTED_SOURCE = 1; // 0x1
6117    field public static final int ONE_TOUCH_RECORD_RECORDING_DIGITAL_SERVICE = 2; // 0x2
6118    field public static final int ONE_TOUCH_RECORD_RECORDING_EXTERNAL_INPUT = 4; // 0x4
6119    field public static final int ONE_TOUCH_RECORD_RECORDING_TERMINATED_NORMALLY = 26; // 0x1a
6120    field public static final int ONE_TOUCH_RECORD_UNABLE_ANALOGUE_SERVICE = 6; // 0x6
6121    field public static final int ONE_TOUCH_RECORD_UNABLE_DIGITAL_SERVICE = 5; // 0x5
6122    field public static final int ONE_TOUCH_RECORD_UNABLE_SELECTED_SERVICE = 7; // 0x7
6123    field public static final int ONE_TOUCH_RECORD_UNSUPPORTED_CA = 11; // 0xb
6124    field public static final int OSD_MESSAGE_ARC_CONNECTED_INVALID_PORT = 1; // 0x1
6125    field public static final int OSD_MESSAGE_AVR_VOLUME_CHANGED = 2; // 0x2
6126    field public static final String POWER_CONTROL_MODE_BROADCAST = "broadcast";
6127    field public static final String POWER_CONTROL_MODE_NONE = "none";
6128    field public static final String POWER_CONTROL_MODE_TV = "to_tv";
6129    field public static final String POWER_CONTROL_MODE_TV_AND_AUDIO_SYSTEM = "to_tv_and_audio_system";
6130    field public static final String POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_NONE = "none";
6131    field public static final String POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW = "standby_now";
6132    field public static final int POWER_STATUS_ON = 0; // 0x0
6133    field public static final int POWER_STATUS_STANDBY = 1; // 0x1
6134    field public static final int POWER_STATUS_TRANSIENT_TO_ON = 2; // 0x2
6135    field public static final int POWER_STATUS_TRANSIENT_TO_STANDBY = 3; // 0x3
6136    field public static final int POWER_STATUS_UNKNOWN = -1; // 0xffffffff
6137    field public static final int QUERY_SAD_DISABLED = 0; // 0x0
6138    field public static final int QUERY_SAD_ENABLED = 1; // 0x1
6139    field @Deprecated public static final int RESULT_ALREADY_IN_PROGRESS = 4; // 0x4
6140    field public static final int RESULT_COMMUNICATION_FAILED = 7; // 0x7
6141    field public static final int RESULT_EXCEPTION = 5; // 0x5
6142    field public static final int RESULT_INCORRECT_MODE = 6; // 0x6
6143    field public static final int RESULT_SOURCE_NOT_AVAILABLE = 2; // 0x2
6144    field public static final int RESULT_SUCCESS = 0; // 0x0
6145    field public static final int RESULT_TARGET_NOT_AVAILABLE = 3; // 0x3
6146    field public static final int RESULT_TIMEOUT = 1; // 0x1
6147    field public static final int ROUTING_CONTROL_DISABLED = 0; // 0x0
6148    field public static final int ROUTING_CONTROL_ENABLED = 1; // 0x1
6149    field public static final String SETTING_NAME_EARC_ENABLED = "earc_enabled";
6150    field public static final int SOUNDBAR_MODE_DISABLED = 0; // 0x0
6151    field public static final int SOUNDBAR_MODE_ENABLED = 1; // 0x1
6152    field public static final int SYSTEM_AUDIO_CONTROL_DISABLED = 0; // 0x0
6153    field public static final int SYSTEM_AUDIO_CONTROL_ENABLED = 1; // 0x1
6154    field public static final int SYSTEM_AUDIO_MODE_MUTING_DISABLED = 0; // 0x0
6155    field public static final int SYSTEM_AUDIO_MODE_MUTING_ENABLED = 1; // 0x1
6156    field public static final int TIMER_RECORDING_RESULT_EXTRA_CEC_DISABLED = 3; // 0x3
6157    field public static final int TIMER_RECORDING_RESULT_EXTRA_CHECK_RECORDER_CONNECTION = 1; // 0x1
6158    field public static final int TIMER_RECORDING_RESULT_EXTRA_FAIL_TO_RECORD_SELECTED_SOURCE = 2; // 0x2
6159    field public static final int TIMER_RECORDING_RESULT_EXTRA_NO_ERROR = 0; // 0x0
6160    field public static final int TIMER_RECORDING_TYPE_ANALOGUE = 2; // 0x2
6161    field public static final int TIMER_RECORDING_TYPE_DIGITAL = 1; // 0x1
6162    field public static final int TIMER_RECORDING_TYPE_EXTERNAL = 3; // 0x3
6163    field public static final int TIMER_STATUS_MEDIA_INFO_NOT_PRESENT = 2; // 0x2
6164    field public static final int TIMER_STATUS_MEDIA_INFO_PRESENT_NOT_PROTECTED = 0; // 0x0
6165    field public static final int TIMER_STATUS_MEDIA_INFO_PRESENT_PROTECTED = 1; // 0x1
6166    field public static final int TIMER_STATUS_NOT_PROGRAMMED_CA_NOT_SUPPORTED = 6; // 0x6
6167    field public static final int TIMER_STATUS_NOT_PROGRAMMED_CLOCK_FAILURE = 10; // 0xa
6168    field public static final int TIMER_STATUS_NOT_PROGRAMMED_DATE_OUT_OF_RANGE = 2; // 0x2
6169    field public static final int TIMER_STATUS_NOT_PROGRAMMED_DUPLICATED = 14; // 0xe
6170    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_EXTERNAL_PHYSICAL_NUMBER = 5; // 0x5
6171    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_EXTERNAL_PLUG_NUMBER = 4; // 0x4
6172    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_SEQUENCE = 3; // 0x3
6173    field public static final int TIMER_STATUS_NOT_PROGRAMMED_NO_CA_ENTITLEMENTS = 7; // 0x7
6174    field public static final int TIMER_STATUS_NOT_PROGRAMMED_NO_FREE_TIME = 1; // 0x1
6175    field public static final int TIMER_STATUS_NOT_PROGRAMMED_PARENTAL_LOCK_ON = 9; // 0x9
6176    field public static final int TIMER_STATUS_NOT_PROGRAMMED_UNSUPPORTED_RESOLUTION = 8; // 0x8
6177    field public static final int TIMER_STATUS_PROGRAMMED_INFO_ENOUGH_SPACE = 8; // 0x8
6178    field public static final int TIMER_STATUS_PROGRAMMED_INFO_MIGHT_NOT_ENOUGH_SPACE = 11; // 0xb
6179    field public static final int TIMER_STATUS_PROGRAMMED_INFO_NOT_ENOUGH_SPACE = 9; // 0x9
6180    field public static final int TIMER_STATUS_PROGRAMMED_INFO_NO_MEDIA_INFO = 10; // 0xa
6181    field public static final int TV_SEND_STANDBY_ON_SLEEP_DISABLED = 0; // 0x0
6182    field public static final int TV_SEND_STANDBY_ON_SLEEP_ENABLED = 1; // 0x1
6183    field public static final int TV_WAKE_ON_ONE_TOUCH_PLAY_DISABLED = 0; // 0x0
6184    field public static final int TV_WAKE_ON_ONE_TOUCH_PLAY_ENABLED = 1; // 0x1
6185    field public static final int VOLUME_CONTROL_DISABLED = 0; // 0x0
6186    field public static final int VOLUME_CONTROL_ENABLED = 1; // 0x1
6187  }
6188
6189  public static interface HdmiControlManager.CecSettingChangeListener {
6190    method public void onChange(@NonNull String);
6191  }
6192
6193  @IntDef({android.hardware.hdmi.HdmiControlManager.RESULT_SUCCESS, android.hardware.hdmi.HdmiControlManager.RESULT_TIMEOUT, android.hardware.hdmi.HdmiControlManager.RESULT_SOURCE_NOT_AVAILABLE, android.hardware.hdmi.HdmiControlManager.RESULT_TARGET_NOT_AVAILABLE, android.hardware.hdmi.HdmiControlManager.RESULT_ALREADY_IN_PROGRESS, android.hardware.hdmi.HdmiControlManager.RESULT_EXCEPTION, android.hardware.hdmi.HdmiControlManager.RESULT_INCORRECT_MODE, android.hardware.hdmi.HdmiControlManager.RESULT_COMMUNICATION_FAILED}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public static @interface HdmiControlManager.ControlCallbackResult {
6194  }
6195
6196  public static interface HdmiControlManager.HotplugEventListener {
6197    method public void onReceived(android.hardware.hdmi.HdmiHotplugEvent);
6198  }
6199
6200  public static interface HdmiControlManager.VendorCommandListener {
6201    method public void onControlStateChanged(boolean, int);
6202    method public void onReceived(int, int, byte[], boolean);
6203  }
6204
6205  public class HdmiDeviceInfo implements android.os.Parcelable {
6206    ctor @Deprecated public HdmiDeviceInfo();
6207    method public int describeContents();
6208    method public int getAdopterId();
6209    method public int getDeviceId();
6210    method public int getDevicePowerStatus();
6211    method public int getDeviceType();
6212    method public String getDisplayName();
6213    method public int getId();
6214    method public int getLogicalAddress();
6215    method public int getPhysicalAddress();
6216    method public int getPortId();
6217    method public int getVendorId();
6218    method public static int idForCecDevice(int);
6219    method public static int idForHardware(int);
6220    method public static int idForMhlDevice(int);
6221    method public boolean isCecDevice();
6222    method public boolean isInactivated();
6223    method public boolean isMhlDevice();
6224    method public boolean isSourceType();
6225    method public void writeToParcel(android.os.Parcel, int);
6226    field public static final int ADDR_INTERNAL = 0; // 0x0
6227    field public static final int ADDR_INVALID = -1; // 0xffffffff
6228    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiDeviceInfo> CREATOR;
6229    field public static final int DEVICE_AUDIO_SYSTEM = 5; // 0x5
6230    field public static final int DEVICE_INACTIVE = -1; // 0xffffffff
6231    field public static final int DEVICE_PLAYBACK = 4; // 0x4
6232    field public static final int DEVICE_RECORDER = 1; // 0x1
6233    field public static final int DEVICE_RESERVED = 2; // 0x2
6234    field public static final int DEVICE_TUNER = 3; // 0x3
6235    field public static final int DEVICE_TV = 0; // 0x0
6236    field public static final int ID_INVALID = 65535; // 0xffff
6237    field public static final android.hardware.hdmi.HdmiDeviceInfo INACTIVE_DEVICE;
6238    field public static final int PATH_INTERNAL = 0; // 0x0
6239    field public static final int PATH_INVALID = 65535; // 0xffff
6240    field public static final int PORT_INVALID = -1; // 0xffffffff
6241    field public static final int VENDOR_ID_UNKNOWN = 16777215; // 0xffffff
6242  }
6243
6244  public final class HdmiHotplugEvent implements android.os.Parcelable {
6245    method public int describeContents();
6246    method public int getPort();
6247    method public boolean isConnected();
6248    method public void writeToParcel(android.os.Parcel, int);
6249    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiHotplugEvent> CREATOR;
6250  }
6251
6252  public final class HdmiPlaybackClient extends android.hardware.hdmi.HdmiClient {
6253    method public int getDeviceType();
6254    method public void oneTouchPlay(android.hardware.hdmi.HdmiPlaybackClient.OneTouchPlayCallback);
6255    method public void queryDisplayStatus(android.hardware.hdmi.HdmiPlaybackClient.DisplayStatusCallback);
6256    method public void sendStandby();
6257  }
6258
6259  public static interface HdmiPlaybackClient.DisplayStatusCallback {
6260    method public void onComplete(int);
6261  }
6262
6263  public static interface HdmiPlaybackClient.OneTouchPlayCallback {
6264    method public void onComplete(int);
6265  }
6266
6267  public final class HdmiPortInfo implements android.os.Parcelable {
6268    ctor @Deprecated public HdmiPortInfo(int, int, int, boolean, boolean, boolean);
6269    method public int describeContents();
6270    method public int getAddress();
6271    method public int getId();
6272    method public int getType();
6273    method public boolean isArcSupported();
6274    method public boolean isCecSupported();
6275    method public boolean isEarcSupported();
6276    method public boolean isMhlSupported();
6277    method public void writeToParcel(android.os.Parcel, int);
6278    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiPortInfo> CREATOR;
6279    field public static final int PORT_INPUT = 0; // 0x0
6280    field public static final int PORT_OUTPUT = 1; // 0x1
6281  }
6282
6283  public static final class HdmiPortInfo.Builder {
6284    ctor public HdmiPortInfo.Builder(int, int, int);
6285    method @NonNull public android.hardware.hdmi.HdmiPortInfo build();
6286    method @NonNull public android.hardware.hdmi.HdmiPortInfo.Builder setArcSupported(boolean);
6287    method @NonNull public android.hardware.hdmi.HdmiPortInfo.Builder setCecSupported(boolean);
6288    method @NonNull public android.hardware.hdmi.HdmiPortInfo.Builder setEarcSupported(boolean);
6289    method @NonNull public android.hardware.hdmi.HdmiPortInfo.Builder setMhlSupported(boolean);
6290  }
6291
6292  public abstract class HdmiRecordListener {
6293    ctor public HdmiRecordListener();
6294    method public void onClearTimerRecordingResult(int, int);
6295    method public void onOneTouchRecordResult(int, int);
6296    method public abstract android.hardware.hdmi.HdmiRecordSources.RecordSource onOneTouchRecordSourceRequested(int);
6297    method public void onTimerRecordingResult(int, android.hardware.hdmi.HdmiRecordListener.TimerStatusData);
6298  }
6299
6300  public static class HdmiRecordListener.TimerStatusData {
6301    method public int getDurationHour();
6302    method public int getDurationMinute();
6303    method public int getExtraError();
6304    method public int getMediaInfo();
6305    method public int getNotProgammedError();
6306    method public int getProgrammedInfo();
6307    method public boolean isOverlapped();
6308    method public boolean isProgrammed();
6309  }
6310
6311  public final class HdmiRecordSources {
6312    method public static boolean checkRecordSource(byte[]);
6313    method public static android.hardware.hdmi.HdmiRecordSources.OwnSource ofOwnSource();
6314  }
6315
6316  public static final class HdmiRecordSources.AnalogueServiceSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
6317  }
6318
6319  public static final class HdmiRecordSources.DigitalServiceSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
6320  }
6321
6322  public static final class HdmiRecordSources.ExternalPhysicalAddress extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
6323  }
6324
6325  public static final class HdmiRecordSources.ExternalPlugData extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
6326  }
6327
6328  public static final class HdmiRecordSources.OwnSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
6329  }
6330
6331  public abstract static class HdmiRecordSources.RecordSource {
6332  }
6333
6334  public class HdmiSwitchClient extends android.hardware.hdmi.HdmiClient {
6335    method public int getDeviceType();
6336    method @Deprecated @NonNull public java.util.List<android.hardware.hdmi.HdmiPortInfo> getPortInfo();
6337    method public void selectPort(int, @NonNull android.hardware.hdmi.HdmiSwitchClient.OnSelectListener);
6338    method public void selectPort(int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiSwitchClient.OnSelectListener);
6339  }
6340
6341  public static interface HdmiSwitchClient.OnSelectListener {
6342    method public void onSelect(@android.hardware.hdmi.HdmiControlManager.ControlCallbackResult int);
6343  }
6344
6345  public class HdmiTimerRecordSources {
6346    method public static boolean checkTimerRecordSource(int, byte[]);
6347    method public static android.hardware.hdmi.HdmiTimerRecordSources.Duration durationOf(int, int);
6348    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofAnalogueSource(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.AnalogueServiceSource);
6349    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofDigitalSource(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.DigitalServiceSource);
6350    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofExternalPhysicalAddress(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.ExternalPhysicalAddress);
6351    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofExternalPlug(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.ExternalPlugData);
6352    method public static android.hardware.hdmi.HdmiTimerRecordSources.Time timeOf(int, int);
6353    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo timerInfoOf(int, int, android.hardware.hdmi.HdmiTimerRecordSources.Time, android.hardware.hdmi.HdmiTimerRecordSources.Duration, int);
6354    field public static final int RECORDING_SEQUENCE_REPEAT_FRIDAY = 32; // 0x20
6355    field public static final int RECORDING_SEQUENCE_REPEAT_MONDAY = 2; // 0x2
6356    field public static final int RECORDING_SEQUENCE_REPEAT_ONCE_ONLY = 0; // 0x0
6357    field public static final int RECORDING_SEQUENCE_REPEAT_SATUREDAY = 64; // 0x40
6358    field public static final int RECORDING_SEQUENCE_REPEAT_SUNDAY = 1; // 0x1
6359    field public static final int RECORDING_SEQUENCE_REPEAT_THURSDAY = 16; // 0x10
6360    field public static final int RECORDING_SEQUENCE_REPEAT_TUESDAY = 4; // 0x4
6361    field public static final int RECORDING_SEQUENCE_REPEAT_WEDNESDAY = 8; // 0x8
6362  }
6363
6364  public static final class HdmiTimerRecordSources.Duration {
6365  }
6366
6367  public static final class HdmiTimerRecordSources.Time {
6368  }
6369
6370  public static final class HdmiTimerRecordSources.TimerInfo {
6371  }
6372
6373  public static final class HdmiTimerRecordSources.TimerRecordSource {
6374  }
6375
6376  public final class HdmiTvClient extends android.hardware.hdmi.HdmiClient {
6377    method public void clearTimerRecording(int, int, android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource);
6378    method @Deprecated public void deviceSelect(int, @NonNull android.hardware.hdmi.HdmiTvClient.SelectCallback);
6379    method @Deprecated public java.util.List<android.hardware.hdmi.HdmiDeviceInfo> getDeviceList();
6380    method public int getDeviceType();
6381    method public void portSelect(int, @NonNull android.hardware.hdmi.HdmiTvClient.SelectCallback);
6382    method public void sendMhlVendorCommand(int, int, int, byte[]);
6383    method public void sendStandby(int);
6384    method public void setHdmiMhlVendorCommandListener(android.hardware.hdmi.HdmiTvClient.HdmiMhlVendorCommandListener);
6385    method public void setInputChangeListener(android.hardware.hdmi.HdmiTvClient.InputChangeListener);
6386    method public void setRecordListener(@NonNull android.hardware.hdmi.HdmiRecordListener);
6387    method public void setSystemAudioMode(boolean, android.hardware.hdmi.HdmiTvClient.SelectCallback);
6388    method public void setSystemAudioMute(boolean);
6389    method public void setSystemAudioVolume(int, int, int);
6390    method public void startOneTouchRecord(int, @NonNull android.hardware.hdmi.HdmiRecordSources.RecordSource);
6391    method public void startTimerRecording(int, int, android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource);
6392    method public void stopOneTouchRecord(int);
6393    field public static final int VENDOR_DATA_SIZE = 16; // 0x10
6394  }
6395
6396  public static interface HdmiTvClient.HdmiMhlVendorCommandListener {
6397    method public void onReceived(int, int, int, byte[]);
6398  }
6399
6400  public static interface HdmiTvClient.InputChangeListener {
6401    method public void onChanged(android.hardware.hdmi.HdmiDeviceInfo);
6402  }
6403
6404  public static interface HdmiTvClient.SelectCallback {
6405    method public void onComplete(int);
6406  }
6407
6408}
6409
6410package android.hardware.input {
6411
6412  public class VirtualDpad implements java.io.Closeable {
6413    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close();
6414    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void sendKeyEvent(@NonNull android.hardware.input.VirtualKeyEvent);
6415  }
6416
6417  public final class VirtualDpadConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
6418    method public int describeContents();
6419    method public void writeToParcel(@NonNull android.os.Parcel, int);
6420    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualDpadConfig> CREATOR;
6421  }
6422
6423  public static final class VirtualDpadConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualDpadConfig.Builder> {
6424    ctor public VirtualDpadConfig.Builder();
6425    method @NonNull public android.hardware.input.VirtualDpadConfig build();
6426  }
6427
6428  public abstract class VirtualInputDeviceConfig {
6429    ctor protected VirtualInputDeviceConfig(@NonNull android.hardware.input.VirtualInputDeviceConfig.Builder<? extends android.hardware.input.VirtualInputDeviceConfig.Builder<?>>);
6430    ctor protected VirtualInputDeviceConfig(@NonNull android.os.Parcel);
6431    method public int getAssociatedDisplayId();
6432    method @NonNull public String getInputDeviceName();
6433    method public int getProductId();
6434    method public int getVendorId();
6435  }
6436
6437  public abstract static class VirtualInputDeviceConfig.Builder<T extends android.hardware.input.VirtualInputDeviceConfig.Builder<T>> {
6438    ctor public VirtualInputDeviceConfig.Builder();
6439    method @NonNull public T setAssociatedDisplayId(int);
6440    method @NonNull public T setInputDeviceName(@NonNull String);
6441    method @NonNull public T setProductId(int);
6442    method @NonNull public T setVendorId(int);
6443  }
6444
6445  public final class VirtualKeyEvent implements android.os.Parcelable {
6446    method public int describeContents();
6447    method public int getAction();
6448    method public long getEventTimeNanos();
6449    method public int getKeyCode();
6450    method public void writeToParcel(@NonNull android.os.Parcel, int);
6451    field public static final int ACTION_DOWN = 0; // 0x0
6452    field public static final int ACTION_UP = 1; // 0x1
6453    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualKeyEvent> CREATOR;
6454  }
6455
6456  public static final class VirtualKeyEvent.Builder {
6457    ctor public VirtualKeyEvent.Builder();
6458    method @NonNull public android.hardware.input.VirtualKeyEvent build();
6459    method @NonNull public android.hardware.input.VirtualKeyEvent.Builder setAction(int);
6460    method @NonNull public android.hardware.input.VirtualKeyEvent.Builder setEventTimeNanos(long);
6461    method @NonNull public android.hardware.input.VirtualKeyEvent.Builder setKeyCode(int);
6462  }
6463
6464  public class VirtualKeyboard implements java.io.Closeable {
6465    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close();
6466    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void sendKeyEvent(@NonNull android.hardware.input.VirtualKeyEvent);
6467  }
6468
6469  public final class VirtualKeyboardConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
6470    method public int describeContents();
6471    method @NonNull public String getLanguageTag();
6472    method @NonNull public String getLayoutType();
6473    method public void writeToParcel(@NonNull android.os.Parcel, int);
6474    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualKeyboardConfig> CREATOR;
6475    field public static final String DEFAULT_LANGUAGE_TAG = "en-Latn-US";
6476    field public static final String DEFAULT_LAYOUT_TYPE = "qwerty";
6477  }
6478
6479  public static final class VirtualKeyboardConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualKeyboardConfig.Builder> {
6480    ctor public VirtualKeyboardConfig.Builder();
6481    method @NonNull public android.hardware.input.VirtualKeyboardConfig build();
6482    method @NonNull public android.hardware.input.VirtualKeyboardConfig.Builder setLanguageTag(@NonNull String);
6483    method @NonNull public android.hardware.input.VirtualKeyboardConfig.Builder setLayoutType(@NonNull String);
6484  }
6485
6486  public class VirtualMouse implements java.io.Closeable {
6487    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close();
6488    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.graphics.PointF getCursorPosition();
6489    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void sendButtonEvent(@NonNull android.hardware.input.VirtualMouseButtonEvent);
6490    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void sendRelativeEvent(@NonNull android.hardware.input.VirtualMouseRelativeEvent);
6491    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void sendScrollEvent(@NonNull android.hardware.input.VirtualMouseScrollEvent);
6492  }
6493
6494  public final class VirtualMouseButtonEvent implements android.os.Parcelable {
6495    method public int describeContents();
6496    method public int getAction();
6497    method public int getButtonCode();
6498    method public long getEventTimeNanos();
6499    method public void writeToParcel(@NonNull android.os.Parcel, int);
6500    field public static final int ACTION_BUTTON_PRESS = 11; // 0xb
6501    field public static final int ACTION_BUTTON_RELEASE = 12; // 0xc
6502    field public static final int BUTTON_BACK = 8; // 0x8
6503    field public static final int BUTTON_FORWARD = 16; // 0x10
6504    field public static final int BUTTON_PRIMARY = 1; // 0x1
6505    field public static final int BUTTON_SECONDARY = 2; // 0x2
6506    field public static final int BUTTON_TERTIARY = 4; // 0x4
6507    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualMouseButtonEvent> CREATOR;
6508  }
6509
6510  public static final class VirtualMouseButtonEvent.Builder {
6511    ctor public VirtualMouseButtonEvent.Builder();
6512    method @NonNull public android.hardware.input.VirtualMouseButtonEvent build();
6513    method @NonNull public android.hardware.input.VirtualMouseButtonEvent.Builder setAction(int);
6514    method @NonNull public android.hardware.input.VirtualMouseButtonEvent.Builder setButtonCode(int);
6515    method @NonNull public android.hardware.input.VirtualMouseButtonEvent.Builder setEventTimeNanos(long);
6516  }
6517
6518  public final class VirtualMouseConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
6519    method public int describeContents();
6520    method public void writeToParcel(@NonNull android.os.Parcel, int);
6521    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualMouseConfig> CREATOR;
6522  }
6523
6524  public static final class VirtualMouseConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualMouseConfig.Builder> {
6525    ctor public VirtualMouseConfig.Builder();
6526    method @NonNull public android.hardware.input.VirtualMouseConfig build();
6527  }
6528
6529  public final class VirtualMouseRelativeEvent implements android.os.Parcelable {
6530    method public int describeContents();
6531    method public long getEventTimeNanos();
6532    method public float getRelativeX();
6533    method public float getRelativeY();
6534    method public void writeToParcel(@NonNull android.os.Parcel, int);
6535    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualMouseRelativeEvent> CREATOR;
6536  }
6537
6538  public static final class VirtualMouseRelativeEvent.Builder {
6539    ctor public VirtualMouseRelativeEvent.Builder();
6540    method @NonNull public android.hardware.input.VirtualMouseRelativeEvent build();
6541    method @NonNull public android.hardware.input.VirtualMouseRelativeEvent.Builder setEventTimeNanos(long);
6542    method @NonNull public android.hardware.input.VirtualMouseRelativeEvent.Builder setRelativeX(float);
6543    method @NonNull public android.hardware.input.VirtualMouseRelativeEvent.Builder setRelativeY(float);
6544  }
6545
6546  public final class VirtualMouseScrollEvent implements android.os.Parcelable {
6547    method public int describeContents();
6548    method public long getEventTimeNanos();
6549    method public float getXAxisMovement();
6550    method public float getYAxisMovement();
6551    method public void writeToParcel(@NonNull android.os.Parcel, int);
6552    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualMouseScrollEvent> CREATOR;
6553  }
6554
6555  public static final class VirtualMouseScrollEvent.Builder {
6556    ctor public VirtualMouseScrollEvent.Builder();
6557    method @NonNull public android.hardware.input.VirtualMouseScrollEvent build();
6558    method @NonNull public android.hardware.input.VirtualMouseScrollEvent.Builder setEventTimeNanos(long);
6559    method @NonNull public android.hardware.input.VirtualMouseScrollEvent.Builder setXAxisMovement(@FloatRange(from=-1.0F, to=1.0f) float);
6560    method @NonNull public android.hardware.input.VirtualMouseScrollEvent.Builder setYAxisMovement(@FloatRange(from=-1.0F, to=1.0f) float);
6561  }
6562
6563  public class VirtualNavigationTouchpad implements java.io.Closeable {
6564    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close();
6565    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void sendTouchEvent(@NonNull android.hardware.input.VirtualTouchEvent);
6566  }
6567
6568  public final class VirtualNavigationTouchpadConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
6569    method public int describeContents();
6570    method @IntRange(from=1) public int getHeight();
6571    method @IntRange(from=1) public int getWidth();
6572    method public void writeToParcel(@NonNull android.os.Parcel, int);
6573    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualNavigationTouchpadConfig> CREATOR;
6574  }
6575
6576  public static final class VirtualNavigationTouchpadConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualNavigationTouchpadConfig.Builder> {
6577    ctor public VirtualNavigationTouchpadConfig.Builder(@IntRange(from=1) int, @IntRange(from=1) int);
6578    method @NonNull public android.hardware.input.VirtualNavigationTouchpadConfig build();
6579  }
6580
6581  public final class VirtualTouchEvent implements android.os.Parcelable {
6582    method public int describeContents();
6583    method public int getAction();
6584    method public long getEventTimeNanos();
6585    method public float getMajorAxisSize();
6586    method public int getPointerId();
6587    method public float getPressure();
6588    method public int getToolType();
6589    method public float getX();
6590    method public float getY();
6591    method public void writeToParcel(@NonNull android.os.Parcel, int);
6592    field public static final int ACTION_CANCEL = 3; // 0x3
6593    field public static final int ACTION_DOWN = 0; // 0x0
6594    field public static final int ACTION_MOVE = 2; // 0x2
6595    field public static final int ACTION_UP = 1; // 0x1
6596    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualTouchEvent> CREATOR;
6597    field public static final int TOOL_TYPE_FINGER = 1; // 0x1
6598    field public static final int TOOL_TYPE_PALM = 5; // 0x5
6599  }
6600
6601  public static final class VirtualTouchEvent.Builder {
6602    ctor public VirtualTouchEvent.Builder();
6603    method @NonNull public android.hardware.input.VirtualTouchEvent build();
6604    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setAction(int);
6605    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setEventTimeNanos(long);
6606    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setMajorAxisSize(@FloatRange(from=0.0f) float);
6607    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setPointerId(@IntRange(from=0, to=0x10 - 1) int);
6608    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setPressure(@FloatRange(from=0.0f) float);
6609    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setToolType(int);
6610    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setX(float);
6611    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setY(float);
6612  }
6613
6614  public class VirtualTouchscreen implements java.io.Closeable {
6615    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close();
6616    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void sendTouchEvent(@NonNull android.hardware.input.VirtualTouchEvent);
6617  }
6618
6619  public final class VirtualTouchscreenConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
6620    method public int describeContents();
6621    method public int getHeight();
6622    method public int getWidth();
6623    method public void writeToParcel(@NonNull android.os.Parcel, int);
6624    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualTouchscreenConfig> CREATOR;
6625  }
6626
6627  public static final class VirtualTouchscreenConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualTouchscreenConfig.Builder> {
6628    ctor public VirtualTouchscreenConfig.Builder(@IntRange(from=1) int, @IntRange(from=1) int);
6629    method @NonNull public android.hardware.input.VirtualTouchscreenConfig build();
6630  }
6631
6632}
6633
6634package android.hardware.lights {
6635
6636  public final class LightState implements android.os.Parcelable {
6637    ctor @Deprecated public LightState(@ColorInt int);
6638  }
6639
6640  public abstract class LightsManager {
6641    field @Deprecated public static final int LIGHT_TYPE_MICROPHONE = 8; // 0x8
6642  }
6643
6644  public static final class LightsRequest.Builder {
6645    method @Deprecated @NonNull public android.hardware.lights.LightsRequest.Builder setLight(@NonNull android.hardware.lights.Light, @NonNull android.hardware.lights.LightState);
6646  }
6647
6648}
6649
6650package android.hardware.location {
6651
6652  public class ContextHubClient implements java.io.Closeable {
6653    method public void close();
6654    method @NonNull public android.hardware.location.ContextHubInfo getAttachedHub();
6655    method @IntRange(from=0, to=65535) public int getId();
6656    method @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int sendMessageToNanoApp(@NonNull android.hardware.location.NanoAppMessage);
6657  }
6658
6659  public class ContextHubClientCallback {
6660    ctor public ContextHubClientCallback();
6661    method public void onClientAuthorizationChanged(@NonNull android.hardware.location.ContextHubClient, long, int);
6662    method public void onHubReset(android.hardware.location.ContextHubClient);
6663    method public void onMessageFromNanoApp(android.hardware.location.ContextHubClient, android.hardware.location.NanoAppMessage);
6664    method public void onNanoAppAborted(android.hardware.location.ContextHubClient, long, int);
6665    method public void onNanoAppDisabled(android.hardware.location.ContextHubClient, long);
6666    method public void onNanoAppEnabled(android.hardware.location.ContextHubClient, long);
6667    method public void onNanoAppLoaded(android.hardware.location.ContextHubClient, long);
6668    method public void onNanoAppUnloaded(android.hardware.location.ContextHubClient, long);
6669  }
6670
6671  public class ContextHubInfo implements android.os.Parcelable {
6672    ctor public ContextHubInfo();
6673    method public int describeContents();
6674    method public byte getChreApiMajorVersion();
6675    method public byte getChreApiMinorVersion();
6676    method public short getChrePatchVersion();
6677    method public long getChrePlatformId();
6678    method public int getId();
6679    method public int getMaxPacketLengthBytes();
6680    method public android.hardware.location.MemoryRegion[] getMemoryRegions();
6681    method public String getName();
6682    method public float getPeakMips();
6683    method public float getPeakPowerDrawMw();
6684    method public int getPlatformVersion();
6685    method public float getSleepPowerDrawMw();
6686    method public int getStaticSwVersion();
6687    method public float getStoppedPowerDrawMw();
6688    method public int[] getSupportedSensors();
6689    method public String getToolchain();
6690    method public int getToolchainVersion();
6691    method public String getVendor();
6692    method public void writeToParcel(android.os.Parcel, int);
6693    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.ContextHubInfo> CREATOR;
6694  }
6695
6696  public class ContextHubIntentEvent {
6697    method @NonNull public static android.hardware.location.ContextHubIntentEvent fromIntent(@NonNull android.content.Intent);
6698    method public int getClientAuthorizationState();
6699    method @NonNull public android.hardware.location.ContextHubInfo getContextHubInfo();
6700    method public int getEventType();
6701    method public int getNanoAppAbortCode();
6702    method public long getNanoAppId();
6703    method @NonNull public android.hardware.location.NanoAppMessage getNanoAppMessage();
6704  }
6705
6706  public final class ContextHubManager {
6707    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);
6708    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);
6709    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);
6710    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);
6711    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);
6712    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubTransaction<java.lang.Void> disableNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
6713    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubTransaction<java.lang.Void> enableNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
6714    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int[] findNanoAppOnHub(int, @NonNull android.hardware.location.NanoAppFilter);
6715    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int[] getContextHubHandles();
6716    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubInfo getContextHubInfo(int);
6717    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public java.util.List<android.hardware.location.ContextHubInfo> getContextHubs();
6718    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.NanoAppInstanceInfo getNanoAppInstanceInfo(int);
6719    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int loadNanoApp(int, @NonNull android.hardware.location.NanoApp);
6720    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);
6721    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);
6722    method @Deprecated public int registerCallback(@NonNull android.hardware.location.ContextHubManager.Callback);
6723    method @Deprecated public int registerCallback(android.hardware.location.ContextHubManager.Callback, android.os.Handler);
6724    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int sendMessage(int, int, @NonNull android.hardware.location.ContextHubMessage);
6725    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int unloadNanoApp(int);
6726    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubTransaction<java.lang.Void> unloadNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
6727    method @Deprecated public int unregisterCallback(@NonNull android.hardware.location.ContextHubManager.Callback);
6728    field public static final int AUTHORIZATION_DENIED = 0; // 0x0
6729    field public static final int AUTHORIZATION_DENIED_GRACE_PERIOD = 1; // 0x1
6730    field public static final int AUTHORIZATION_GRANTED = 2; // 0x2
6731    field public static final int EVENT_CLIENT_AUTHORIZATION = 7; // 0x7
6732    field public static final int EVENT_HUB_RESET = 6; // 0x6
6733    field public static final int EVENT_NANOAPP_ABORTED = 4; // 0x4
6734    field public static final int EVENT_NANOAPP_DISABLED = 3; // 0x3
6735    field public static final int EVENT_NANOAPP_ENABLED = 2; // 0x2
6736    field public static final int EVENT_NANOAPP_LOADED = 0; // 0x0
6737    field public static final int EVENT_NANOAPP_MESSAGE = 5; // 0x5
6738    field public static final int EVENT_NANOAPP_UNLOADED = 1; // 0x1
6739    field public static final String EXTRA_CLIENT_AUTHORIZATION_STATE = "android.hardware.location.extra.CLIENT_AUTHORIZATION_STATE";
6740    field public static final String EXTRA_CONTEXT_HUB_INFO = "android.hardware.location.extra.CONTEXT_HUB_INFO";
6741    field public static final String EXTRA_EVENT_TYPE = "android.hardware.location.extra.EVENT_TYPE";
6742    field public static final String EXTRA_MESSAGE = "android.hardware.location.extra.MESSAGE";
6743    field public static final String EXTRA_NANOAPP_ABORT_CODE = "android.hardware.location.extra.NANOAPP_ABORT_CODE";
6744    field public static final String EXTRA_NANOAPP_ID = "android.hardware.location.extra.NANOAPP_ID";
6745  }
6746
6747  @Deprecated public abstract static class ContextHubManager.Callback {
6748    ctor @Deprecated protected ContextHubManager.Callback();
6749    method @Deprecated public abstract void onMessageReceipt(int, int, @NonNull android.hardware.location.ContextHubMessage);
6750  }
6751
6752  @Deprecated public class ContextHubMessage implements android.os.Parcelable {
6753    ctor @Deprecated public ContextHubMessage(int, int, byte[]);
6754    method @Deprecated public int describeContents();
6755    method @Deprecated public byte[] getData();
6756    method @Deprecated public int getMsgType();
6757    method @Deprecated public int getVersion();
6758    method @Deprecated public void setMsgData(byte[]);
6759    method @Deprecated public void setMsgType(int);
6760    method @Deprecated public void setVersion(int);
6761    method @Deprecated public void writeToParcel(android.os.Parcel, int);
6762    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.ContextHubMessage> CREATOR;
6763  }
6764
6765  public class ContextHubTransaction<T> {
6766    method public int getType();
6767    method public void setOnCompleteListener(@NonNull android.hardware.location.ContextHubTransaction.OnCompleteListener<T>, @NonNull java.util.concurrent.Executor);
6768    method public void setOnCompleteListener(@NonNull android.hardware.location.ContextHubTransaction.OnCompleteListener<T>);
6769    method public static String typeToString(int, boolean);
6770    method public android.hardware.location.ContextHubTransaction.Response<T> waitForResponse(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException;
6771    field public static final int RESULT_FAILED_AT_HUB = 5; // 0x5
6772    field public static final int RESULT_FAILED_BAD_PARAMS = 2; // 0x2
6773    field public static final int RESULT_FAILED_BUSY = 4; // 0x4
6774    field public static final int RESULT_FAILED_HAL_UNAVAILABLE = 8; // 0x8
6775    field public static final int RESULT_FAILED_SERVICE_INTERNAL_FAILURE = 7; // 0x7
6776    field public static final int RESULT_FAILED_TIMEOUT = 6; // 0x6
6777    field public static final int RESULT_FAILED_UNINITIALIZED = 3; // 0x3
6778    field public static final int RESULT_FAILED_UNKNOWN = 1; // 0x1
6779    field public static final int RESULT_SUCCESS = 0; // 0x0
6780    field public static final int TYPE_DISABLE_NANOAPP = 3; // 0x3
6781    field public static final int TYPE_ENABLE_NANOAPP = 2; // 0x2
6782    field public static final int TYPE_LOAD_NANOAPP = 0; // 0x0
6783    field public static final int TYPE_QUERY_NANOAPPS = 4; // 0x4
6784    field public static final int TYPE_UNLOAD_NANOAPP = 1; // 0x1
6785  }
6786
6787  @java.lang.FunctionalInterface public static interface ContextHubTransaction.OnCompleteListener<L> {
6788    method public void onComplete(android.hardware.location.ContextHubTransaction<L>, android.hardware.location.ContextHubTransaction.Response<L>);
6789  }
6790
6791  public static class ContextHubTransaction.Response<R> {
6792    method public R getContents();
6793    method public int getResult();
6794  }
6795
6796  public final class GeofenceHardware {
6797    method public boolean addGeofence(int, int, android.hardware.location.GeofenceHardwareRequest, android.hardware.location.GeofenceHardwareCallback);
6798    method public int[] getMonitoringTypes();
6799    method public int getStatusOfMonitoringType(int);
6800    method public boolean pauseGeofence(int, int);
6801    method public boolean registerForMonitorStateChangeCallback(int, android.hardware.location.GeofenceHardwareMonitorCallback);
6802    method public boolean removeGeofence(int, int);
6803    method public boolean resumeGeofence(int, int, int);
6804    method public boolean unregisterForMonitorStateChangeCallback(int, android.hardware.location.GeofenceHardwareMonitorCallback);
6805    field public static final int GEOFENCE_ENTERED = 1; // 0x1
6806    field public static final int GEOFENCE_ERROR_ID_EXISTS = 2; // 0x2
6807    field public static final int GEOFENCE_ERROR_ID_UNKNOWN = 3; // 0x3
6808    field public static final int GEOFENCE_ERROR_INSUFFICIENT_MEMORY = 6; // 0x6
6809    field public static final int GEOFENCE_ERROR_INVALID_TRANSITION = 4; // 0x4
6810    field public static final int GEOFENCE_ERROR_TOO_MANY_GEOFENCES = 1; // 0x1
6811    field public static final int GEOFENCE_EXITED = 2; // 0x2
6812    field public static final int GEOFENCE_FAILURE = 5; // 0x5
6813    field public static final int GEOFENCE_SUCCESS = 0; // 0x0
6814    field public static final int GEOFENCE_UNCERTAIN = 4; // 0x4
6815    field public static final int MONITORING_TYPE_FUSED_HARDWARE = 1; // 0x1
6816    field public static final int MONITORING_TYPE_GPS_HARDWARE = 0; // 0x0
6817    field public static final int MONITOR_CURRENTLY_AVAILABLE = 0; // 0x0
6818    field public static final int MONITOR_CURRENTLY_UNAVAILABLE = 1; // 0x1
6819    field public static final int MONITOR_UNSUPPORTED = 2; // 0x2
6820    field public static final int SOURCE_TECHNOLOGY_BLUETOOTH = 16; // 0x10
6821    field public static final int SOURCE_TECHNOLOGY_CELL = 8; // 0x8
6822    field public static final int SOURCE_TECHNOLOGY_GNSS = 1; // 0x1
6823    field public static final int SOURCE_TECHNOLOGY_SENSORS = 4; // 0x4
6824    field public static final int SOURCE_TECHNOLOGY_WIFI = 2; // 0x2
6825  }
6826
6827  public abstract class GeofenceHardwareCallback {
6828    ctor public GeofenceHardwareCallback();
6829    method public void onGeofenceAdd(int, int);
6830    method public void onGeofencePause(int, int);
6831    method public void onGeofenceRemove(int, int);
6832    method public void onGeofenceResume(int, int);
6833    method public void onGeofenceTransition(int, int, android.location.Location, long, int);
6834  }
6835
6836  public abstract class GeofenceHardwareMonitorCallback {
6837    ctor public GeofenceHardwareMonitorCallback();
6838    method @Deprecated public void onMonitoringSystemChange(int, boolean, android.location.Location);
6839    method public void onMonitoringSystemChange(android.hardware.location.GeofenceHardwareMonitorEvent);
6840  }
6841
6842  public class GeofenceHardwareMonitorEvent implements android.os.Parcelable {
6843    ctor public GeofenceHardwareMonitorEvent(int, int, int, android.location.Location);
6844    method public int describeContents();
6845    method public android.location.Location getLocation();
6846    method public int getMonitoringStatus();
6847    method public int getMonitoringType();
6848    method public int getSourceTechnologies();
6849    method public void writeToParcel(android.os.Parcel, int);
6850    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.GeofenceHardwareMonitorEvent> CREATOR;
6851  }
6852
6853  public final class GeofenceHardwareRequest {
6854    ctor public GeofenceHardwareRequest();
6855    method public static android.hardware.location.GeofenceHardwareRequest createCircularGeofence(double, double, double);
6856    method public int getLastTransition();
6857    method public double getLatitude();
6858    method public double getLongitude();
6859    method public int getMonitorTransitions();
6860    method public int getNotificationResponsiveness();
6861    method public double getRadius();
6862    method public int getSourceTechnologies();
6863    method public int getUnknownTimer();
6864    method public void setLastTransition(int);
6865    method public void setMonitorTransitions(int);
6866    method public void setNotificationResponsiveness(int);
6867    method public void setSourceTechnologies(int);
6868    method public void setUnknownTimer(int);
6869  }
6870
6871  public class MemoryRegion implements android.os.Parcelable {
6872    ctor public MemoryRegion(android.os.Parcel);
6873    method public int describeContents();
6874    method public int getCapacityBytes();
6875    method public int getFreeCapacityBytes();
6876    method public boolean isExecutable();
6877    method public boolean isReadable();
6878    method public boolean isWritable();
6879    method public void writeToParcel(android.os.Parcel, int);
6880    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.MemoryRegion> CREATOR;
6881  }
6882
6883  @Deprecated public class NanoApp implements android.os.Parcelable {
6884    ctor @Deprecated public NanoApp();
6885    ctor @Deprecated public NanoApp(int, byte[]);
6886    ctor @Deprecated public NanoApp(long, byte[]);
6887    method @Deprecated public int describeContents();
6888    method @Deprecated public byte[] getAppBinary();
6889    method @Deprecated public long getAppId();
6890    method @Deprecated public int getAppVersion();
6891    method @Deprecated public String getName();
6892    method @Deprecated public int getNeededExecMemBytes();
6893    method @Deprecated public int getNeededReadMemBytes();
6894    method @Deprecated public int[] getNeededSensors();
6895    method @Deprecated public int getNeededWriteMemBytes();
6896    method @Deprecated public int[] getOutputEvents();
6897    method @Deprecated public String getPublisher();
6898    method @Deprecated public void setAppBinary(byte[]);
6899    method @Deprecated public void setAppId(long);
6900    method @Deprecated public void setAppVersion(int);
6901    method @Deprecated public void setName(String);
6902    method @Deprecated public void setNeededExecMemBytes(int);
6903    method @Deprecated public void setNeededReadMemBytes(int);
6904    method @Deprecated public void setNeededSensors(int[]);
6905    method @Deprecated public void setNeededWriteMemBytes(int);
6906    method @Deprecated public void setOutputEvents(int[]);
6907    method @Deprecated public void setPublisher(String);
6908    method @Deprecated public void writeToParcel(android.os.Parcel, int);
6909    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoApp> CREATOR;
6910  }
6911
6912  public final class NanoAppBinary implements android.os.Parcelable {
6913    ctor public NanoAppBinary(byte[]);
6914    method public int describeContents();
6915    method public byte[] getBinary();
6916    method public byte[] getBinaryNoHeader();
6917    method public int getFlags();
6918    method public int getHeaderVersion();
6919    method public long getHwHubType();
6920    method public long getNanoAppId();
6921    method public int getNanoAppVersion();
6922    method public byte getTargetChreApiMajorVersion();
6923    method public byte getTargetChreApiMinorVersion();
6924    method public boolean hasValidHeader();
6925    method public boolean isEncrypted();
6926    method public boolean isSigned();
6927    method public void writeToParcel(android.os.Parcel, int);
6928    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppBinary> CREATOR;
6929  }
6930
6931  @Deprecated public class NanoAppFilter implements android.os.Parcelable {
6932    ctor @Deprecated public NanoAppFilter(long, int, int, long);
6933    method @Deprecated public int describeContents();
6934    method @Deprecated public boolean testMatch(android.hardware.location.NanoAppInstanceInfo);
6935    method @Deprecated public void writeToParcel(android.os.Parcel, int);
6936    field @Deprecated public static final int APP_ANY = -1; // 0xffffffff
6937    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppFilter> CREATOR;
6938    field @Deprecated public static final int FLAGS_VERSION_ANY = -1; // 0xffffffff
6939    field @Deprecated public static final int FLAGS_VERSION_GREAT_THAN = 2; // 0x2
6940    field @Deprecated public static final int FLAGS_VERSION_LESS_THAN = 4; // 0x4
6941    field @Deprecated public static final int FLAGS_VERSION_STRICTLY_EQUAL = 8; // 0x8
6942    field @Deprecated public static final int HUB_ANY = -1; // 0xffffffff
6943    field @Deprecated public static final int VENDOR_ANY = -1; // 0xffffffff
6944  }
6945
6946  @Deprecated public class NanoAppInstanceInfo implements android.os.Parcelable {
6947    ctor @Deprecated public NanoAppInstanceInfo();
6948    method @Deprecated public int describeContents();
6949    method @Deprecated public long getAppId();
6950    method @Deprecated public int getAppVersion();
6951    method @Deprecated public int getContexthubId();
6952    method @Deprecated public int getHandle();
6953    method @Deprecated public String getName();
6954    method @Deprecated public int getNeededExecMemBytes();
6955    method @Deprecated public int getNeededReadMemBytes();
6956    method @Deprecated @NonNull public int[] getNeededSensors();
6957    method @Deprecated public int getNeededWriteMemBytes();
6958    method @Deprecated @NonNull public int[] getOutputEvents();
6959    method @Deprecated public String getPublisher();
6960    method @Deprecated public void writeToParcel(android.os.Parcel, int);
6961    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppInstanceInfo> CREATOR;
6962  }
6963
6964  public final class NanoAppMessage implements android.os.Parcelable {
6965    method public static android.hardware.location.NanoAppMessage createMessageFromNanoApp(long, int, byte[], boolean);
6966    method public static android.hardware.location.NanoAppMessage createMessageToNanoApp(long, int, byte[]);
6967    method public int describeContents();
6968    method public byte[] getMessageBody();
6969    method public int getMessageType();
6970    method public long getNanoAppId();
6971    method public boolean isBroadcastMessage();
6972    method public void writeToParcel(android.os.Parcel, int);
6973    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppMessage> CREATOR;
6974  }
6975
6976  public final class NanoAppRpcService implements android.os.Parcelable {
6977    ctor public NanoAppRpcService(long, int);
6978    method public int describeContents();
6979    method public long getId();
6980    method public int getVersion();
6981    method public void writeToParcel(@NonNull android.os.Parcel, int);
6982    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppRpcService> CREATOR;
6983  }
6984
6985  public final class NanoAppState implements android.os.Parcelable {
6986    ctor public NanoAppState(long, int, boolean);
6987    ctor public NanoAppState(long, int, boolean, @NonNull java.util.List<java.lang.String>);
6988    ctor public NanoAppState(long, int, boolean, @NonNull java.util.List<java.lang.String>, @NonNull java.util.List<android.hardware.location.NanoAppRpcService>);
6989    method public int describeContents();
6990    method public long getNanoAppId();
6991    method @NonNull public java.util.List<java.lang.String> getNanoAppPermissions();
6992    method public long getNanoAppVersion();
6993    method @NonNull public java.util.List<android.hardware.location.NanoAppRpcService> getRpcServices();
6994    method public boolean isEnabled();
6995    method public void writeToParcel(android.os.Parcel, int);
6996    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppState> CREATOR;
6997  }
6998
6999}
7000
7001package android.hardware.radio {
7002
7003  public final class Announcement implements android.os.Parcelable {
7004    method public int describeContents();
7005    method @NonNull public android.hardware.radio.ProgramSelector getSelector();
7006    method public int getType();
7007    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
7008    method public void writeToParcel(android.os.Parcel, int);
7009    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.Announcement> CREATOR;
7010    field public static final int TYPE_EMERGENCY = 1; // 0x1
7011    field public static final int TYPE_EVENT = 6; // 0x6
7012    field public static final int TYPE_MISC = 8; // 0x8
7013    field public static final int TYPE_NEWS = 5; // 0x5
7014    field public static final int TYPE_SPORT = 7; // 0x7
7015    field public static final int TYPE_TRAFFIC = 3; // 0x3
7016    field public static final int TYPE_WARNING = 2; // 0x2
7017    field public static final int TYPE_WEATHER = 4; // 0x4
7018  }
7019
7020  public static interface Announcement.OnListUpdatedListener {
7021    method public void onListUpdated(java.util.Collection<android.hardware.radio.Announcement>);
7022  }
7023
7024  public final class ProgramList implements java.lang.AutoCloseable {
7025    method public void addOnCompleteListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.radio.ProgramList.OnCompleteListener);
7026    method public void addOnCompleteListener(@NonNull android.hardware.radio.ProgramList.OnCompleteListener);
7027    method public void close();
7028    method @Nullable public android.hardware.radio.RadioManager.ProgramInfo get(@NonNull android.hardware.radio.ProgramSelector.Identifier);
7029    method public void registerListCallback(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.radio.ProgramList.ListCallback);
7030    method public void registerListCallback(@NonNull android.hardware.radio.ProgramList.ListCallback);
7031    method public void removeOnCompleteListener(@NonNull android.hardware.radio.ProgramList.OnCompleteListener);
7032    method @NonNull public java.util.List<android.hardware.radio.RadioManager.ProgramInfo> toList();
7033    method public void unregisterListCallback(@NonNull android.hardware.radio.ProgramList.ListCallback);
7034  }
7035
7036  public static final class ProgramList.Filter implements android.os.Parcelable {
7037    ctor public ProgramList.Filter(@NonNull java.util.Set<java.lang.Integer>, @NonNull java.util.Set<android.hardware.radio.ProgramSelector.Identifier>, boolean, boolean);
7038    method public boolean areCategoriesIncluded();
7039    method public boolean areModificationsExcluded();
7040    method public int describeContents();
7041    method @NonNull public java.util.Set<java.lang.Integer> getIdentifierTypes();
7042    method @NonNull public java.util.Set<android.hardware.radio.ProgramSelector.Identifier> getIdentifiers();
7043    method public void writeToParcel(android.os.Parcel, int);
7044    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramList.Filter> CREATOR;
7045  }
7046
7047  public abstract static class ProgramList.ListCallback {
7048    ctor public ProgramList.ListCallback();
7049    method public void onItemChanged(@NonNull android.hardware.radio.ProgramSelector.Identifier);
7050    method public void onItemRemoved(@NonNull android.hardware.radio.ProgramSelector.Identifier);
7051  }
7052
7053  public static interface ProgramList.OnCompleteListener {
7054    method public void onComplete();
7055  }
7056
7057  public final class ProgramSelector implements android.os.Parcelable {
7058    ctor public ProgramSelector(@android.hardware.radio.ProgramSelector.ProgramType int, @NonNull android.hardware.radio.ProgramSelector.Identifier, @Nullable android.hardware.radio.ProgramSelector.Identifier[], @Nullable long[]);
7059    method @NonNull public static android.hardware.radio.ProgramSelector createAmFmSelector(@android.hardware.radio.RadioManager.Band int, int);
7060    method @NonNull public static android.hardware.radio.ProgramSelector createAmFmSelector(@android.hardware.radio.RadioManager.Band int, int, int);
7061    method public int describeContents();
7062    method @NonNull public android.hardware.radio.ProgramSelector.Identifier[] getAllIds(@android.hardware.radio.ProgramSelector.IdentifierType int);
7063    method public long getFirstId(@android.hardware.radio.ProgramSelector.IdentifierType int);
7064    method @NonNull public android.hardware.radio.ProgramSelector.Identifier getPrimaryId();
7065    method @Deprecated @android.hardware.radio.ProgramSelector.ProgramType public int getProgramType();
7066    method @NonNull public android.hardware.radio.ProgramSelector.Identifier[] getSecondaryIds();
7067    method @Deprecated @NonNull public long[] getVendorIds();
7068    method @NonNull public android.hardware.radio.ProgramSelector withSecondaryPreferred(@NonNull android.hardware.radio.ProgramSelector.Identifier);
7069    method public void writeToParcel(android.os.Parcel, int);
7070    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramSelector> CREATOR;
7071    field public static final int IDENTIFIER_TYPE_AMFM_FREQUENCY = 1; // 0x1
7072    field public static final int IDENTIFIER_TYPE_DAB_DMB_SID_EXT = 14; // 0xe
7073    field public static final int IDENTIFIER_TYPE_DAB_ENSEMBLE = 6; // 0x6
7074    field public static final int IDENTIFIER_TYPE_DAB_FREQUENCY = 8; // 0x8
7075    field public static final int IDENTIFIER_TYPE_DAB_SCID = 7; // 0x7
7076    field @Deprecated public static final int IDENTIFIER_TYPE_DAB_SIDECC = 5; // 0x5
7077    field @Deprecated public static final int IDENTIFIER_TYPE_DAB_SID_EXT = 5; // 0x5
7078    field public static final int IDENTIFIER_TYPE_DRMO_FREQUENCY = 10; // 0xa
7079    field @Deprecated public static final int IDENTIFIER_TYPE_DRMO_MODULATION = 11; // 0xb
7080    field public static final int IDENTIFIER_TYPE_DRMO_SERVICE_ID = 9; // 0x9
7081    field public static final int IDENTIFIER_TYPE_HD_STATION_ID_EXT = 3; // 0x3
7082    field public static final int IDENTIFIER_TYPE_HD_STATION_NAME = 10004; // 0x2714
7083    field @Deprecated public static final int IDENTIFIER_TYPE_HD_SUBCHANNEL = 4; // 0x4
7084    field public static final int IDENTIFIER_TYPE_INVALID = 0; // 0x0
7085    field public static final int IDENTIFIER_TYPE_RDS_PI = 2; // 0x2
7086    field public static final int IDENTIFIER_TYPE_SXM_CHANNEL = 13; // 0xd
7087    field public static final int IDENTIFIER_TYPE_SXM_SERVICE_ID = 12; // 0xc
7088    field public static final int IDENTIFIER_TYPE_VENDOR_END = 1999; // 0x7cf
7089    field @Deprecated public static final int IDENTIFIER_TYPE_VENDOR_PRIMARY_END = 1999; // 0x7cf
7090    field @Deprecated public static final int IDENTIFIER_TYPE_VENDOR_PRIMARY_START = 1000; // 0x3e8
7091    field public static final int IDENTIFIER_TYPE_VENDOR_START = 1000; // 0x3e8
7092    field @Deprecated public static final int PROGRAM_TYPE_AM = 1; // 0x1
7093    field @Deprecated public static final int PROGRAM_TYPE_AM_HD = 3; // 0x3
7094    field @Deprecated public static final int PROGRAM_TYPE_DAB = 5; // 0x5
7095    field @Deprecated public static final int PROGRAM_TYPE_DRMO = 6; // 0x6
7096    field @Deprecated public static final int PROGRAM_TYPE_FM = 2; // 0x2
7097    field @Deprecated public static final int PROGRAM_TYPE_FM_HD = 4; // 0x4
7098    field @Deprecated public static final int PROGRAM_TYPE_INVALID = 0; // 0x0
7099    field @Deprecated public static final int PROGRAM_TYPE_SXM = 7; // 0x7
7100    field @Deprecated public static final int PROGRAM_TYPE_VENDOR_END = 1999; // 0x7cf
7101    field @Deprecated public static final int PROGRAM_TYPE_VENDOR_START = 1000; // 0x3e8
7102  }
7103
7104  public static final class ProgramSelector.Identifier implements android.os.Parcelable {
7105    ctor public ProgramSelector.Identifier(@android.hardware.radio.ProgramSelector.IdentifierType int, long);
7106    method public int describeContents();
7107    method @android.hardware.radio.ProgramSelector.IdentifierType public int getType();
7108    method public long getValue();
7109    method public boolean isCategoryType();
7110    method public void writeToParcel(android.os.Parcel, int);
7111    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramSelector.Identifier> CREATOR;
7112  }
7113
7114  @IntDef(prefix={"IDENTIFIER_TYPE_"}, value={android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_INVALID, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_AMFM_FREQUENCY, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_RDS_PI, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_HD_STATION_ID_EXT, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_HD_SUBCHANNEL, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_HD_STATION_NAME, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_SID_EXT, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_SIDECC, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_ENSEMBLE, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_SCID, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_FREQUENCY, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DRMO_SERVICE_ID, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DRMO_FREQUENCY, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DRMO_MODULATION, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_SXM_SERVICE_ID, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_SXM_CHANNEL, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_DMB_SID_EXT}) @IntRange(from=android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_VENDOR_START, to=android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_VENDOR_END) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ProgramSelector.IdentifierType {
7115  }
7116
7117  @Deprecated @IntDef(prefix={"PROGRAM_TYPE_"}, value={android.hardware.radio.ProgramSelector.PROGRAM_TYPE_INVALID, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_AM, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_FM, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_AM_HD, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_FM_HD, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_DAB, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_DRMO, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_SXM}) @IntRange(from=android.hardware.radio.ProgramSelector.PROGRAM_TYPE_VENDOR_START, to=android.hardware.radio.ProgramSelector.PROGRAM_TYPE_VENDOR_END) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ProgramSelector.ProgramType {
7118  }
7119
7120  public class RadioManager {
7121    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void addAnnouncementListener(@NonNull java.util.Set<java.lang.Integer>, @NonNull android.hardware.radio.Announcement.OnListUpdatedListener);
7122    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);
7123    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public int listModules(java.util.List<android.hardware.radio.RadioManager.ModuleProperties>);
7124    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);
7125    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void removeAnnouncementListener(@NonNull android.hardware.radio.Announcement.OnListUpdatedListener);
7126    field public static final int BAND_AM = 0; // 0x0
7127    field public static final int BAND_AM_HD = 3; // 0x3
7128    field public static final int BAND_FM = 1; // 0x1
7129    field public static final int BAND_FM_HD = 2; // 0x2
7130    field public static final int BAND_INVALID = -1; // 0xffffffff
7131    field public static final int CLASS_AM_FM = 0; // 0x0
7132    field public static final int CLASS_DT = 2; // 0x2
7133    field public static final int CLASS_SAT = 1; // 0x1
7134    field public static final int CONFIG_DAB_DAB_LINKING = 6; // 0x6
7135    field public static final int CONFIG_DAB_DAB_SOFT_LINKING = 8; // 0x8
7136    field public static final int CONFIG_DAB_FM_LINKING = 7; // 0x7
7137    field public static final int CONFIG_DAB_FM_SOFT_LINKING = 9; // 0x9
7138    field public static final int CONFIG_FORCE_ANALOG = 2; // 0x2
7139    field public static final int CONFIG_FORCE_DIGITAL = 3; // 0x3
7140    field public static final int CONFIG_FORCE_MONO = 1; // 0x1
7141    field public static final int CONFIG_RDS_AF = 4; // 0x4
7142    field public static final int CONFIG_RDS_REG = 5; // 0x5
7143    field public static final int REGION_ITU_1 = 0; // 0x0
7144    field public static final int REGION_ITU_2 = 1; // 0x1
7145    field public static final int REGION_JAPAN = 3; // 0x3
7146    field public static final int REGION_KOREA = 4; // 0x4
7147    field public static final int REGION_OIRT = 2; // 0x2
7148    field public static final int STATUS_BAD_VALUE = -22; // 0xffffffea
7149    field public static final int STATUS_DEAD_OBJECT = -32; // 0xffffffe0
7150    field public static final int STATUS_ERROR = -2147483648; // 0x80000000
7151    field public static final int STATUS_INVALID_OPERATION = -38; // 0xffffffda
7152    field public static final int STATUS_NO_INIT = -19; // 0xffffffed
7153    field public static final int STATUS_OK = 0; // 0x0
7154    field public static final int STATUS_PERMISSION_DENIED = -1; // 0xffffffff
7155    field public static final int STATUS_TIMED_OUT = -110; // 0xffffff92
7156  }
7157
7158  public static class RadioManager.AmBandConfig extends android.hardware.radio.RadioManager.BandConfig {
7159    method public boolean getStereo();
7160    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.AmBandConfig> CREATOR;
7161  }
7162
7163  public static class RadioManager.AmBandConfig.Builder {
7164    ctor public RadioManager.AmBandConfig.Builder(android.hardware.radio.RadioManager.AmBandDescriptor);
7165    ctor public RadioManager.AmBandConfig.Builder(android.hardware.radio.RadioManager.AmBandConfig);
7166    method public android.hardware.radio.RadioManager.AmBandConfig build();
7167    method public android.hardware.radio.RadioManager.AmBandConfig.Builder setStereo(boolean);
7168  }
7169
7170  public static class RadioManager.AmBandDescriptor extends android.hardware.radio.RadioManager.BandDescriptor {
7171    method public boolean isStereoSupported();
7172    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.AmBandDescriptor> CREATOR;
7173  }
7174
7175  @IntDef(prefix={"BAND_"}, value={android.hardware.radio.RadioManager.BAND_INVALID, android.hardware.radio.RadioManager.BAND_AM, android.hardware.radio.RadioManager.BAND_FM, android.hardware.radio.RadioManager.BAND_AM_HD, android.hardware.radio.RadioManager.BAND_FM_HD}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface RadioManager.Band {
7176  }
7177
7178  public static class RadioManager.BandConfig implements android.os.Parcelable {
7179    method public int describeContents();
7180    method public int getLowerLimit();
7181    method public int getRegion();
7182    method public int getSpacing();
7183    method public int getType();
7184    method public int getUpperLimit();
7185    method public void writeToParcel(android.os.Parcel, int);
7186    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.BandConfig> CREATOR;
7187  }
7188
7189  public static class RadioManager.BandDescriptor implements android.os.Parcelable {
7190    method public int describeContents();
7191    method public int getLowerLimit();
7192    method public int getRegion();
7193    method public int getSpacing();
7194    method public int getType();
7195    method public int getUpperLimit();
7196    method public boolean isAmBand();
7197    method public boolean isFmBand();
7198    method public void writeToParcel(android.os.Parcel, int);
7199    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.BandDescriptor> CREATOR;
7200  }
7201
7202  public static class RadioManager.FmBandConfig extends android.hardware.radio.RadioManager.BandConfig {
7203    method public boolean getAf();
7204    method public boolean getEa();
7205    method public boolean getRds();
7206    method public boolean getStereo();
7207    method public boolean getTa();
7208    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.FmBandConfig> CREATOR;
7209  }
7210
7211  public static class RadioManager.FmBandConfig.Builder {
7212    ctor public RadioManager.FmBandConfig.Builder(android.hardware.radio.RadioManager.FmBandDescriptor);
7213    ctor public RadioManager.FmBandConfig.Builder(android.hardware.radio.RadioManager.FmBandConfig);
7214    method public android.hardware.radio.RadioManager.FmBandConfig build();
7215    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setAf(boolean);
7216    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setEa(boolean);
7217    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setRds(boolean);
7218    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setStereo(boolean);
7219    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setTa(boolean);
7220  }
7221
7222  public static class RadioManager.FmBandDescriptor extends android.hardware.radio.RadioManager.BandDescriptor {
7223    method public boolean isAfSupported();
7224    method public boolean isEaSupported();
7225    method public boolean isRdsSupported();
7226    method public boolean isStereoSupported();
7227    method public boolean isTaSupported();
7228    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.FmBandDescriptor> CREATOR;
7229  }
7230
7231  public static class RadioManager.ModuleProperties implements android.os.Parcelable {
7232    method public int describeContents();
7233    method public android.hardware.radio.RadioManager.BandDescriptor[] getBands();
7234    method public int getClassId();
7235    method @Nullable public java.util.Map<java.lang.String,java.lang.Integer> getDabFrequencyTable();
7236    method public int getId();
7237    method public String getImplementor();
7238    method public int getNumAudioSources();
7239    method public int getNumTuners();
7240    method public String getProduct();
7241    method public String getSerial();
7242    method @NonNull public String getServiceName();
7243    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
7244    method public String getVersion();
7245    method public boolean isBackgroundScanningSupported();
7246    method public boolean isCaptureSupported();
7247    method public boolean isInitializationRequired();
7248    method public boolean isProgramIdentifierSupported(@android.hardware.radio.ProgramSelector.IdentifierType int);
7249    method public boolean isProgramTypeSupported(@android.hardware.radio.ProgramSelector.ProgramType int);
7250    method public void writeToParcel(android.os.Parcel, int);
7251    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.ModuleProperties> CREATOR;
7252  }
7253
7254  public static class RadioManager.ProgramInfo implements android.os.Parcelable {
7255    method public int describeContents();
7256    method @Deprecated public int getChannel();
7257    method @Nullable public android.hardware.radio.ProgramSelector.Identifier getLogicallyTunedTo();
7258    method public android.hardware.radio.RadioMetadata getMetadata();
7259    method @Nullable public android.hardware.radio.ProgramSelector.Identifier getPhysicallyTunedTo();
7260    method @Nullable public java.util.Collection<android.hardware.radio.ProgramSelector.Identifier> getRelatedContent();
7261    method @NonNull public android.hardware.radio.ProgramSelector getSelector();
7262    method public int getSignalStrength();
7263    method @Deprecated public int getSubChannel();
7264    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
7265    method @Deprecated public boolean isDigital();
7266    method public boolean isLive();
7267    method public boolean isMuted();
7268    method public boolean isStereo();
7269    method public boolean isTrafficAnnouncementActive();
7270    method public boolean isTrafficProgram();
7271    method public boolean isTuned();
7272    method public void writeToParcel(android.os.Parcel, int);
7273    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.ProgramInfo> CREATOR;
7274  }
7275
7276  public final class RadioMetadata implements android.os.Parcelable {
7277    method public boolean containsKey(String);
7278    method public int describeContents();
7279    method @Deprecated public android.graphics.Bitmap getBitmap(String);
7280    method public android.hardware.radio.RadioMetadata.Clock getClock(String);
7281    method public int getInt(String);
7282    method public String getString(String);
7283    method public java.util.Set<java.lang.String> keySet();
7284    method public int size();
7285    method public void writeToParcel(android.os.Parcel, int);
7286    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioMetadata> CREATOR;
7287    field public static final String METADATA_KEY_ALBUM = "android.hardware.radio.metadata.ALBUM";
7288    field public static final String METADATA_KEY_ART = "android.hardware.radio.metadata.ART";
7289    field public static final String METADATA_KEY_ARTIST = "android.hardware.radio.metadata.ARTIST";
7290    field public static final String METADATA_KEY_CLOCK = "android.hardware.radio.metadata.CLOCK";
7291    field public static final String METADATA_KEY_DAB_COMPONENT_NAME = "android.hardware.radio.metadata.DAB_COMPONENT_NAME";
7292    field public static final String METADATA_KEY_DAB_COMPONENT_NAME_SHORT = "android.hardware.radio.metadata.DAB_COMPONENT_NAME_SHORT";
7293    field public static final String METADATA_KEY_DAB_ENSEMBLE_NAME = "android.hardware.radio.metadata.DAB_ENSEMBLE_NAME";
7294    field public static final String METADATA_KEY_DAB_ENSEMBLE_NAME_SHORT = "android.hardware.radio.metadata.DAB_ENSEMBLE_NAME_SHORT";
7295    field public static final String METADATA_KEY_DAB_SERVICE_NAME = "android.hardware.radio.metadata.DAB_SERVICE_NAME";
7296    field public static final String METADATA_KEY_DAB_SERVICE_NAME_SHORT = "android.hardware.radio.metadata.DAB_SERVICE_NAME_SHORT";
7297    field public static final String METADATA_KEY_GENRE = "android.hardware.radio.metadata.GENRE";
7298    field public static final String METADATA_KEY_ICON = "android.hardware.radio.metadata.ICON";
7299    field public static final String METADATA_KEY_PROGRAM_NAME = "android.hardware.radio.metadata.PROGRAM_NAME";
7300    field public static final String METADATA_KEY_RBDS_PTY = "android.hardware.radio.metadata.RBDS_PTY";
7301    field public static final String METADATA_KEY_RDS_PI = "android.hardware.radio.metadata.RDS_PI";
7302    field public static final String METADATA_KEY_RDS_PS = "android.hardware.radio.metadata.RDS_PS";
7303    field public static final String METADATA_KEY_RDS_PTY = "android.hardware.radio.metadata.RDS_PTY";
7304    field public static final String METADATA_KEY_RDS_RT = "android.hardware.radio.metadata.RDS_RT";
7305    field public static final String METADATA_KEY_TITLE = "android.hardware.radio.metadata.TITLE";
7306  }
7307
7308  public static final class RadioMetadata.Builder {
7309    ctor public RadioMetadata.Builder();
7310    ctor public RadioMetadata.Builder(android.hardware.radio.RadioMetadata);
7311    method public android.hardware.radio.RadioMetadata build();
7312    method public android.hardware.radio.RadioMetadata.Builder putBitmap(String, android.graphics.Bitmap);
7313    method public android.hardware.radio.RadioMetadata.Builder putClock(String, long, int);
7314    method public android.hardware.radio.RadioMetadata.Builder putInt(String, int);
7315    method public android.hardware.radio.RadioMetadata.Builder putString(String, String);
7316  }
7317
7318  public static final class RadioMetadata.Clock implements android.os.Parcelable {
7319    ctor public RadioMetadata.Clock(long, int);
7320    method public int describeContents();
7321    method public int getTimezoneOffsetMinutes();
7322    method public long getUtcEpochSeconds();
7323    method public void writeToParcel(android.os.Parcel, int);
7324    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioMetadata.Clock> CREATOR;
7325  }
7326
7327  public abstract class RadioTuner {
7328    ctor public RadioTuner();
7329    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int cancel();
7330    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract void cancelAnnouncement();
7331    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract void close();
7332    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int getConfiguration(android.hardware.radio.RadioManager.BandConfig[]);
7333    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public android.hardware.radio.ProgramList getDynamicProgramList(@Nullable android.hardware.radio.ProgramList.Filter);
7334    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract boolean getMute();
7335    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>);
7336    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int getProgramInformation(android.hardware.radio.RadioManager.ProgramInfo[]);
7337    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>);
7338    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract boolean hasControl();
7339    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract boolean isAnalogForced();
7340    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract boolean isAntennaConnected();
7341    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public boolean isConfigFlagSet(int);
7342    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public boolean isConfigFlagSupported(int);
7343    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int scan(int, boolean);
7344    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public int seek(int, boolean);
7345    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract void setAnalogForced(boolean);
7346    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void setConfigFlag(int, boolean);
7347    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int setConfiguration(android.hardware.radio.RadioManager.BandConfig);
7348    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int setMute(boolean);
7349    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>);
7350    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract boolean startBackgroundScan();
7351    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int step(int, boolean);
7352    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int tune(int, int);
7353    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract void tune(@NonNull android.hardware.radio.ProgramSelector);
7354    field public static final int DIRECTION_DOWN = 1; // 0x1
7355    field public static final int DIRECTION_UP = 0; // 0x0
7356    field @Deprecated public static final int ERROR_BACKGROUND_SCAN_FAILED = 6; // 0x6
7357    field @Deprecated public static final int ERROR_BACKGROUND_SCAN_UNAVAILABLE = 5; // 0x5
7358    field @Deprecated public static final int ERROR_CANCELLED = 2; // 0x2
7359    field @Deprecated public static final int ERROR_CONFIG = 4; // 0x4
7360    field @Deprecated public static final int ERROR_HARDWARE_FAILURE = 0; // 0x0
7361    field @Deprecated public static final int ERROR_SCAN_TIMEOUT = 3; // 0x3
7362    field @Deprecated public static final int ERROR_SERVER_DIED = 1; // 0x1
7363    field public static final int TUNER_RESULT_CANCELED = 6; // 0x6
7364    field public static final int TUNER_RESULT_INTERNAL_ERROR = 1; // 0x1
7365    field public static final int TUNER_RESULT_INVALID_ARGUMENTS = 2; // 0x2
7366    field public static final int TUNER_RESULT_INVALID_STATE = 3; // 0x3
7367    field public static final int TUNER_RESULT_NOT_SUPPORTED = 4; // 0x4
7368    field public static final int TUNER_RESULT_OK = 0; // 0x0
7369    field public static final int TUNER_RESULT_TIMEOUT = 5; // 0x5
7370    field public static final int TUNER_RESULT_UNKNOWN_ERROR = 7; // 0x7
7371  }
7372
7373  public abstract static class RadioTuner.Callback {
7374    ctor public RadioTuner.Callback();
7375    method public void onAntennaState(boolean);
7376    method public void onBackgroundScanAvailabilityChange(boolean);
7377    method public void onBackgroundScanComplete();
7378    method public void onConfigFlagUpdated(int, boolean);
7379    method @Deprecated public void onConfigurationChanged(android.hardware.radio.RadioManager.BandConfig);
7380    method public void onControlChanged(boolean);
7381    method public void onEmergencyAnnouncement(boolean);
7382    method @Deprecated public void onError(int);
7383    method @Deprecated public void onMetadataChanged(android.hardware.radio.RadioMetadata);
7384    method public void onParametersUpdated(@NonNull java.util.Map<java.lang.String,java.lang.String>);
7385    method public void onProgramInfoChanged(android.hardware.radio.RadioManager.ProgramInfo);
7386    method public void onProgramListChanged();
7387    method public void onTrafficAnnouncement(boolean);
7388    method public void onTuneFailed(int, @Nullable android.hardware.radio.ProgramSelector);
7389  }
7390
7391}
7392
7393package android.hardware.soundtrigger {
7394
7395  public class SoundTrigger {
7396    field public static final int RECOGNITION_MODE_GENERIC = 8; // 0x8
7397    field public static final int RECOGNITION_MODE_USER_AUTHENTICATION = 4; // 0x4
7398    field public static final int RECOGNITION_MODE_USER_IDENTIFICATION = 2; // 0x2
7399    field public static final int RECOGNITION_MODE_VOICE_TRIGGER = 1; // 0x1
7400    field public static final int STATUS_OK = 0; // 0x0
7401  }
7402
7403  public static final class SoundTrigger.Keyphrase implements android.os.Parcelable {
7404    ctor public SoundTrigger.Keyphrase(int, int, @NonNull java.util.Locale, @NonNull String, @Nullable int[]);
7405    method public int describeContents();
7406    method public int getId();
7407    method @NonNull public java.util.Locale getLocale();
7408    method public int getRecognitionModes();
7409    method @NonNull public String getText();
7410    method @NonNull public int[] getUsers();
7411    method @NonNull public static android.hardware.soundtrigger.SoundTrigger.Keyphrase readFromParcel(@NonNull android.os.Parcel);
7412    method public void writeToParcel(@NonNull android.os.Parcel, int);
7413    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.Keyphrase> CREATOR;
7414  }
7415
7416  public static final class SoundTrigger.KeyphraseRecognitionExtra implements android.os.Parcelable {
7417    method public int describeContents();
7418    method @IntRange(from=0, to=100) public int getCoarseConfidenceLevel();
7419    method public int getKeyphraseId();
7420    method public int getRecognitionModes();
7421    method public void writeToParcel(@NonNull android.os.Parcel, int);
7422    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.KeyphraseRecognitionExtra> CREATOR;
7423  }
7424
7425  public static final class SoundTrigger.KeyphraseSoundModel extends android.hardware.soundtrigger.SoundTrigger.SoundModel implements android.os.Parcelable {
7426    ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[], int);
7427    ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[]);
7428    method public int describeContents();
7429    method @NonNull public android.hardware.soundtrigger.SoundTrigger.Keyphrase[] getKeyphrases();
7430    method @NonNull public static android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel readFromParcel(@NonNull android.os.Parcel);
7431    method public void writeToParcel(@NonNull android.os.Parcel, int);
7432    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel> CREATOR;
7433  }
7434
7435  public static final class SoundTrigger.ModelParamRange implements android.os.Parcelable {
7436    method public int describeContents();
7437    method public int getEnd();
7438    method public int getStart();
7439    method public void writeToParcel(@NonNull android.os.Parcel, int);
7440    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModelParamRange> CREATOR;
7441  }
7442
7443  public static final class SoundTrigger.ModuleProperties implements android.os.Parcelable {
7444    method public int describeContents();
7445    method public int getAudioCapabilities();
7446    method @NonNull public String getDescription();
7447    method public int getId();
7448    method @NonNull public String getImplementor();
7449    method public int getMaxBufferMillis();
7450    method public int getMaxKeyphrases();
7451    method public int getMaxSoundModels();
7452    method public int getMaxUsers();
7453    method public int getPowerConsumptionMw();
7454    method public int getRecognitionModes();
7455    method @NonNull public String getSupportedModelArch();
7456    method @NonNull public java.util.UUID getUuid();
7457    method public int getVersion();
7458    method public boolean isCaptureTransitionSupported();
7459    method public boolean isConcurrentCaptureSupported();
7460    method public boolean isTriggerReturnedInEvent();
7461    method public void writeToParcel(android.os.Parcel, int);
7462    field public static final int AUDIO_CAPABILITY_ECHO_CANCELLATION = 1; // 0x1
7463    field public static final int AUDIO_CAPABILITY_NOISE_SUPPRESSION = 2; // 0x2
7464    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModuleProperties> CREATOR;
7465  }
7466
7467  public static class SoundTrigger.RecognitionEvent {
7468    method @Nullable public android.media.AudioFormat getCaptureFormat();
7469    method public int getCaptureSession();
7470    method public byte[] getData();
7471    method public long getHalEventReceivedMillis();
7472    method public boolean isCaptureAvailable();
7473  }
7474
7475  public static class SoundTrigger.SoundModel {
7476    method @NonNull public byte[] getData();
7477    method public int getType();
7478    method @NonNull public java.util.UUID getUuid();
7479    method @NonNull public java.util.UUID getVendorUuid();
7480    method public int getVersion();
7481    field public static final int TYPE_GENERIC_SOUND = 1; // 0x1
7482    field public static final int TYPE_KEYPHRASE = 0; // 0x0
7483  }
7484
7485}
7486
7487package android.hardware.usb {
7488
7489  public final class DisplayPortAltModeInfo implements android.os.Parcelable {
7490    method public int describeContents();
7491    method public int getCableStatus();
7492    method public int getLinkTrainingStatus();
7493    method public int getNumberOfLanes();
7494    method public int getPartnerSinkStatus();
7495    method public boolean isHotPlugDetectActive();
7496    method public void writeToParcel(@NonNull android.os.Parcel, int);
7497    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.DisplayPortAltModeInfo> CREATOR;
7498    field public static final int DISPLAYPORT_ALT_MODE_STATUS_CAPABLE_DISABLED = 2; // 0x2
7499    field public static final int DISPLAYPORT_ALT_MODE_STATUS_ENABLED = 3; // 0x3
7500    field public static final int DISPLAYPORT_ALT_MODE_STATUS_NOT_CAPABLE = 1; // 0x1
7501    field public static final int DISPLAYPORT_ALT_MODE_STATUS_UNKNOWN = 0; // 0x0
7502    field public static final int LINK_TRAINING_STATUS_FAILURE = 2; // 0x2
7503    field public static final int LINK_TRAINING_STATUS_SUCCESS = 1; // 0x1
7504    field public static final int LINK_TRAINING_STATUS_UNKNOWN = 0; // 0x0
7505  }
7506
7507  public class UsbDeviceConnection {
7508    method public boolean resetDevice();
7509  }
7510
7511  public class UsbManager {
7512    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public long getCurrentFunctions();
7513    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_USB) public java.util.List<android.hardware.usb.UsbPort> getPorts();
7514    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void grantPermission(android.hardware.usb.UsbDevice, String);
7515    method public static boolean isUvcSupportEnabled();
7516    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void registerDisplayPortAltModeInfoListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.usb.UsbManager.DisplayPortAltModeInfoListener);
7517    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void resetUsbGadget();
7518    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void setCurrentFunctions(long);
7519    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void unregisterDisplayPortAltModeInfoListener(@NonNull android.hardware.usb.UsbManager.DisplayPortAltModeInfoListener);
7520    field @RequiresPermission(android.Manifest.permission.MANAGE_USB) public static final String ACTION_USB_ACCESSORY_HANDSHAKE = "android.hardware.usb.action.USB_ACCESSORY_HANDSHAKE";
7521    field @RequiresPermission(android.Manifest.permission.MANAGE_USB) public static final String ACTION_USB_PORT_CHANGED = "android.hardware.usb.action.USB_PORT_CHANGED";
7522    field @RequiresPermission(android.Manifest.permission.MANAGE_USB) public static final String ACTION_USB_PORT_COMPLIANCE_CHANGED = "android.hardware.usb.action.USB_PORT_COMPLIANCE_CHANGED";
7523    field public static final String ACTION_USB_STATE = "android.hardware.usb.action.USB_STATE";
7524    field public static final String EXTRA_ACCESSORY_HANDSHAKE_END = "android.hardware.usb.extra.ACCESSORY_HANDSHAKE_END";
7525    field public static final String EXTRA_ACCESSORY_START = "android.hardware.usb.extra.ACCESSORY_START";
7526    field public static final String EXTRA_ACCESSORY_STRING_COUNT = "android.hardware.usb.extra.ACCESSORY_STRING_COUNT";
7527    field public static final String EXTRA_ACCESSORY_UEVENT_TIME = "android.hardware.usb.extra.ACCESSORY_UEVENT_TIME";
7528    field public static final long FUNCTION_ACCESSORY = 2L; // 0x2L
7529    field public static final long FUNCTION_ADB = 1L; // 0x1L
7530    field public static final long FUNCTION_AUDIO_SOURCE = 64L; // 0x40L
7531    field public static final long FUNCTION_MIDI = 8L; // 0x8L
7532    field public static final long FUNCTION_MTP = 4L; // 0x4L
7533    field public static final long FUNCTION_NCM = 1024L; // 0x400L
7534    field public static final long FUNCTION_NONE = 0L; // 0x0L
7535    field public static final long FUNCTION_PTP = 16L; // 0x10L
7536    field public static final long FUNCTION_RNDIS = 32L; // 0x20L
7537    field public static final long FUNCTION_UVC = 128L; // 0x80L
7538    field public static final String USB_CONFIGURED = "configured";
7539    field public static final String USB_CONNECTED = "connected";
7540    field public static final String USB_FUNCTION_NCM = "ncm";
7541    field public static final String USB_FUNCTION_RNDIS = "rndis";
7542  }
7543
7544  public static interface UsbManager.DisplayPortAltModeInfoListener {
7545    method public void onDisplayPortAltModeInfoChanged(@NonNull String, @NonNull android.hardware.usb.DisplayPortAltModeInfo);
7546  }
7547
7548  public final class UsbPort {
7549    method @CheckResult @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int enableLimitPowerTransfer(boolean);
7550    method @CheckResult @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int enableUsbData(boolean);
7551    method @CheckResult @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int enableUsbDataWhileDocked();
7552    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USB) public android.hardware.usb.UsbPortStatus getStatus();
7553    method public boolean isAltModeSupported(int);
7554    method @CheckResult @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void resetUsbPort(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
7555    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void setRoles(int, int);
7556    method @CheckResult @RequiresPermission(android.Manifest.permission.MANAGE_USB) public boolean supportsComplianceWarnings();
7557    field public static final int ENABLE_LIMIT_POWER_TRANSFER_ERROR_INTERNAL = 1; // 0x1
7558    field public static final int ENABLE_LIMIT_POWER_TRANSFER_ERROR_NOT_SUPPORTED = 2; // 0x2
7559    field public static final int ENABLE_LIMIT_POWER_TRANSFER_ERROR_OTHER = 4; // 0x4
7560    field public static final int ENABLE_LIMIT_POWER_TRANSFER_ERROR_PORT_MISMATCH = 3; // 0x3
7561    field public static final int ENABLE_LIMIT_POWER_TRANSFER_SUCCESS = 0; // 0x0
7562    field public static final int ENABLE_USB_DATA_ERROR_INTERNAL = 1; // 0x1
7563    field public static final int ENABLE_USB_DATA_ERROR_NOT_SUPPORTED = 2; // 0x2
7564    field public static final int ENABLE_USB_DATA_ERROR_OTHER = 4; // 0x4
7565    field public static final int ENABLE_USB_DATA_ERROR_PORT_MISMATCH = 3; // 0x3
7566    field public static final int ENABLE_USB_DATA_SUCCESS = 0; // 0x0
7567    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_ERROR_DATA_ENABLED = 4; // 0x4
7568    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_ERROR_INTERNAL = 1; // 0x1
7569    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_ERROR_NOT_SUPPORTED = 2; // 0x2
7570    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_ERROR_OTHER = 5; // 0x5
7571    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_ERROR_PORT_MISMATCH = 3; // 0x3
7572    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_SUCCESS = 0; // 0x0
7573    field public static final int FLAG_ALT_MODE_TYPE_DISPLAYPORT = 1; // 0x1
7574    field public static final int RESET_USB_PORT_ERROR_INTERNAL = 1; // 0x1
7575    field public static final int RESET_USB_PORT_ERROR_NOT_SUPPORTED = 2; // 0x2
7576    field public static final int RESET_USB_PORT_ERROR_OTHER = 4; // 0x4
7577    field public static final int RESET_USB_PORT_ERROR_PORT_MISMATCH = 3; // 0x3
7578    field public static final int RESET_USB_PORT_SUCCESS = 0; // 0x0
7579  }
7580
7581  public final class UsbPortStatus implements android.os.Parcelable {
7582    method public int describeContents();
7583    method @CheckResult @NonNull public int[] getComplianceWarnings();
7584    method public int getCurrentDataRole();
7585    method public int getCurrentMode();
7586    method public int getCurrentPowerRole();
7587    method @Nullable public android.hardware.usb.DisplayPortAltModeInfo getDisplayPortAltModeInfo();
7588    method public int getPlugState();
7589    method public int getPowerBrickConnectionStatus();
7590    method public int getSupportedRoleCombinations();
7591    method public int getUsbDataStatus();
7592    method public boolean isConnected();
7593    method public boolean isPowerTransferLimited();
7594    method public boolean isRoleCombinationSupported(int, int);
7595    method public void writeToParcel(android.os.Parcel, int);
7596    field public static final int COMPLIANCE_WARNING_BC_1_2 = 3; // 0x3
7597    field public static final int COMPLIANCE_WARNING_DEBUG_ACCESSORY = 2; // 0x2
7598    field public static final int COMPLIANCE_WARNING_MISSING_RP = 4; // 0x4
7599    field public static final int COMPLIANCE_WARNING_OTHER = 1; // 0x1
7600    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbPortStatus> CREATOR;
7601    field public static final int DATA_ROLE_DEVICE = 2; // 0x2
7602    field public static final int DATA_ROLE_HOST = 1; // 0x1
7603    field public static final int DATA_ROLE_NONE = 0; // 0x0
7604    field public static final int DATA_STATUS_DISABLED_CONTAMINANT = 4; // 0x4
7605    field public static final int DATA_STATUS_DISABLED_DEBUG = 32; // 0x20
7606    field public static final int DATA_STATUS_DISABLED_DOCK = 8; // 0x8
7607    field public static final int DATA_STATUS_DISABLED_DOCK_DEVICE_MODE = 128; // 0x80
7608    field public static final int DATA_STATUS_DISABLED_DOCK_HOST_MODE = 64; // 0x40
7609    field public static final int DATA_STATUS_DISABLED_FORCE = 16; // 0x10
7610    field public static final int DATA_STATUS_DISABLED_OVERHEAT = 2; // 0x2
7611    field public static final int DATA_STATUS_ENABLED = 1; // 0x1
7612    field public static final int DATA_STATUS_UNKNOWN = 0; // 0x0
7613    field public static final int MODE_AUDIO_ACCESSORY = 4; // 0x4
7614    field public static final int MODE_DEBUG_ACCESSORY = 8; // 0x8
7615    field public static final int MODE_DFP = 2; // 0x2
7616    field public static final int MODE_NONE = 0; // 0x0
7617    field public static final int MODE_UFP = 1; // 0x1
7618    field public static final int PLUG_STATE_PLUGGED_ORIENTATION_FLIPPED = 4; // 0x4
7619    field public static final int PLUG_STATE_PLUGGED_ORIENTATION_NORMAL = 3; // 0x3
7620    field public static final int PLUG_STATE_PLUGGED_ORIENTATION_UNKNOWN = 2; // 0x2
7621    field public static final int PLUG_STATE_UNKNOWN = 0; // 0x0
7622    field public static final int PLUG_STATE_UNPLUGGED = 1; // 0x1
7623    field public static final int POWER_BRICK_STATUS_CONNECTED = 1; // 0x1
7624    field public static final int POWER_BRICK_STATUS_DISCONNECTED = 2; // 0x2
7625    field public static final int POWER_BRICK_STATUS_UNKNOWN = 0; // 0x0
7626    field public static final int POWER_ROLE_NONE = 0; // 0x0
7627    field public static final int POWER_ROLE_SINK = 2; // 0x2
7628    field public static final int POWER_ROLE_SOURCE = 1; // 0x1
7629  }
7630
7631}
7632
7633package android.health.connect {
7634
7635  public class ApplicationInfoResponse {
7636    method @NonNull public java.util.List<android.health.connect.datatypes.AppInfo> getApplicationInfoList();
7637  }
7638
7639  public final class DeleteUsingFiltersRequest {
7640    method @NonNull public java.util.Set<android.health.connect.datatypes.DataOrigin> getDataOrigins();
7641    method @NonNull public java.util.Set<java.lang.Class<? extends android.health.connect.datatypes.Record>> getRecordTypes();
7642    method @Nullable public android.health.connect.TimeRangeFilter getTimeRangeFilter();
7643  }
7644
7645  public static final class DeleteUsingFiltersRequest.Builder {
7646    ctor public DeleteUsingFiltersRequest.Builder();
7647    method @NonNull public android.health.connect.DeleteUsingFiltersRequest.Builder addDataOrigin(@NonNull android.health.connect.datatypes.DataOrigin);
7648    method @NonNull public android.health.connect.DeleteUsingFiltersRequest.Builder addRecordType(@NonNull Class<? extends android.health.connect.datatypes.Record>);
7649    method @NonNull public android.health.connect.DeleteUsingFiltersRequest build();
7650    method @NonNull public android.health.connect.DeleteUsingFiltersRequest.Builder clearDataOrigins();
7651    method @NonNull public android.health.connect.DeleteUsingFiltersRequest.Builder clearRecordTypes();
7652    method @NonNull public android.health.connect.DeleteUsingFiltersRequest.Builder setTimeRangeFilter(@Nullable android.health.connect.TimeRangeFilter);
7653  }
7654
7655  public final class FetchDataOriginsPriorityOrderResponse {
7656    method @NonNull public java.util.List<android.health.connect.datatypes.DataOrigin> getDataOriginsPriorityOrder();
7657  }
7658
7659  public final class HealthConnectDataState implements android.os.Parcelable {
7660    method public int describeContents();
7661    method public int getDataMigrationState();
7662    method public int getDataRestoreError();
7663    method public int getDataRestoreState();
7664    method public void writeToParcel(@NonNull android.os.Parcel, int);
7665    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.HealthConnectDataState> CREATOR;
7666    field public static final int MIGRATION_STATE_ALLOWED = 4; // 0x4
7667    field public static final int MIGRATION_STATE_APP_UPGRADE_REQUIRED = 1; // 0x1
7668    field public static final int MIGRATION_STATE_COMPLETE = 5; // 0x5
7669    field public static final int MIGRATION_STATE_IDLE = 0; // 0x0
7670    field public static final int MIGRATION_STATE_IN_PROGRESS = 3; // 0x3
7671    field public static final int MIGRATION_STATE_MODULE_UPGRADE_REQUIRED = 2; // 0x2
7672    field public static final int RESTORE_ERROR_FETCHING_DATA = 2; // 0x2
7673    field public static final int RESTORE_ERROR_NONE = 0; // 0x0
7674    field public static final int RESTORE_ERROR_UNKNOWN = 1; // 0x1
7675    field public static final int RESTORE_ERROR_VERSION_DIFF = 3; // 0x3
7676    field public static final int RESTORE_STATE_IDLE = 0; // 0x0
7677    field public static final int RESTORE_STATE_IN_PROGRESS = 2; // 0x2
7678    field public static final int RESTORE_STATE_PENDING = 1; // 0x1
7679  }
7680
7681  public class HealthConnectManager {
7682    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>);
7683    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>);
7684    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>);
7685    method @NonNull @RequiresPermission(android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION) public void getContributorApplicationsInfo(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.health.connect.ApplicationInfoResponse,android.health.connect.HealthConnectException>);
7686    method @NonNull @RequiresPermission(anyOf={android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION, android.Manifest.permission.MIGRATE_HEALTH_CONNECT_DATA}) public void getHealthConnectDataState(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.health.connect.HealthConnectDataState,android.health.connect.HealthConnectException>);
7687    method @NonNull public static java.util.Set<java.lang.String> getHealthPermissions(@NonNull android.content.Context);
7688    method @IntRange(from=0, to=7300) @RequiresPermission(android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION) public int getRecordRetentionPeriodInDays();
7689    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>);
7690    method public static boolean isHealthPermission(@NonNull android.content.Context, @NonNull String);
7691    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>);
7692    method @NonNull @RequiresPermission(android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION) public void queryActivityDates(@NonNull java.util.List<java.lang.Class<? extends android.health.connect.datatypes.Record>>, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.util.List<java.time.LocalDate>,android.health.connect.HealthConnectException>);
7693    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>);
7694    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>);
7695    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;
7696    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>);
7697    method @RequiresPermission(android.Manifest.permission.STAGE_HEALTH_CONNECT_REMOTE_DATA) public void updateDataDownloadState(int);
7698    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>);
7699    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>);
7700    field public static final String ACTION_HEALTH_CONNECT_MIGRATION_READY = "android.health.connect.action.HEALTH_CONNECT_MIGRATION_READY";
7701    field public static final String ACTION_HEALTH_HOME_SETTINGS = "android.health.connect.action.HEALTH_HOME_SETTINGS";
7702    field public static final String ACTION_MANAGE_HEALTH_DATA = "android.health.connect.action.MANAGE_HEALTH_DATA";
7703    field public static final String ACTION_REQUEST_HEALTH_PERMISSIONS = "android.health.connect.action.REQUEST_HEALTH_PERMISSIONS";
7704    field public static final String ACTION_SHOW_MIGRATION_INFO = "android.health.connect.action.SHOW_MIGRATION_INFO";
7705    field public static final int DATA_DOWNLOAD_COMPLETE = 4; // 0x4
7706    field public static final int DATA_DOWNLOAD_FAILED = 3; // 0x3
7707    field public static final int DATA_DOWNLOAD_RETRY = 2; // 0x2
7708    field public static final int DATA_DOWNLOAD_STARTED = 1; // 0x1
7709    field public static final int DATA_DOWNLOAD_STATE_UNKNOWN = 0; // 0x0
7710  }
7711
7712  public class HealthDataCategory {
7713    field public static final int ACTIVITY = 1; // 0x1
7714    field public static final int BODY_MEASUREMENTS = 2; // 0x2
7715    field public static final int CYCLE_TRACKING = 3; // 0x3
7716    field public static final int NUTRITION = 4; // 0x4
7717    field public static final int SLEEP = 5; // 0x5
7718    field public static final int UNKNOWN = 0; // 0x0
7719    field public static final int VITALS = 6; // 0x6
7720  }
7721
7722  public class HealthPermissionCategory {
7723    field public static final int ACTIVE_CALORIES_BURNED = 1; // 0x1
7724    field public static final int BASAL_BODY_TEMPERATURE = 33; // 0x21
7725    field public static final int BASAL_METABOLIC_RATE = 9; // 0x9
7726    field public static final int BLOOD_GLUCOSE = 26; // 0x1a
7727    field public static final int BLOOD_PRESSURE = 27; // 0x1b
7728    field public static final int BODY_FAT = 10; // 0xa
7729    field public static final int BODY_TEMPERATURE = 28; // 0x1c
7730    field public static final int BODY_WATER_MASS = 11; // 0xb
7731    field public static final int BONE_MASS = 12; // 0xc
7732    field public static final int CERVICAL_MUCUS = 18; // 0x12
7733    field public static final int DISTANCE = 2; // 0x2
7734    field public static final int ELEVATION_GAINED = 3; // 0x3
7735    field public static final int EXERCISE = 4; // 0x4
7736    field public static final int FLOORS_CLIMBED = 5; // 0x5
7737    field public static final int HEART_RATE = 29; // 0x1d
7738    field public static final int HEART_RATE_VARIABILITY = 30; // 0x1e
7739    field public static final int HEIGHT = 13; // 0xd
7740    field public static final int HYDRATION = 23; // 0x17
7741    field public static final int INTERMENSTRUAL_BLEEDING = 38; // 0x26
7742    field public static final int LEAN_BODY_MASS = 15; // 0xf
7743    field public static final int MENSTRUATION = 20; // 0x14
7744    field public static final int NUTRITION = 24; // 0x18
7745    field public static final int OVULATION_TEST = 21; // 0x15
7746    field public static final int OXYGEN_SATURATION = 31; // 0x1f
7747    field public static final int POWER = 36; // 0x24
7748    field public static final int RESPIRATORY_RATE = 32; // 0x20
7749    field public static final int RESTING_HEART_RATE = 34; // 0x22
7750    field public static final int SEXUAL_ACTIVITY = 22; // 0x16
7751    field public static final int SLEEP = 25; // 0x19
7752    field public static final int SPEED = 37; // 0x25
7753    field public static final int STEPS = 6; // 0x6
7754    field public static final int TOTAL_CALORIES_BURNED = 35; // 0x23
7755    field public static final int UNKNOWN = 0; // 0x0
7756    field public static final int VO2_MAX = 7; // 0x7
7757    field public static final int WEIGHT = 17; // 0x11
7758    field public static final int WHEELCHAIR_PUSHES = 8; // 0x8
7759  }
7760
7761  public final class HealthPermissions {
7762    field public static final String HEALTH_PERMISSION_GROUP = "android.permission-group.HEALTH";
7763    field public static final String MANAGE_HEALTH_DATA_PERMISSION = "android.permission.MANAGE_HEALTH_DATA";
7764    field public static final String MANAGE_HEALTH_PERMISSIONS = "android.permission.MANAGE_HEALTH_PERMISSIONS";
7765  }
7766
7767  public class RecordTypeInfoResponse {
7768    method @NonNull public java.util.List<android.health.connect.datatypes.DataOrigin> getContributingPackages();
7769    method public int getDataCategory();
7770    method public int getPermissionCategory();
7771  }
7772
7773  public final class UpdateDataOriginPriorityOrderRequest {
7774    ctor public UpdateDataOriginPriorityOrderRequest(@NonNull java.util.List<android.health.connect.datatypes.DataOrigin>, int);
7775    method public int getDataCategory();
7776    method @NonNull public java.util.List<android.health.connect.datatypes.DataOrigin> getDataOriginInOrder();
7777  }
7778
7779}
7780
7781package android.health.connect.accesslog {
7782
7783  public final class AccessLog implements android.os.Parcelable {
7784    method public int describeContents();
7785    method @NonNull public java.time.Instant getAccessTime();
7786    method public int getOperationType();
7787    method @NonNull public String getPackageName();
7788    method @NonNull public java.util.List<java.lang.Class<? extends android.health.connect.datatypes.Record>> getRecordTypes();
7789    method public void writeToParcel(@NonNull android.os.Parcel, int);
7790    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.accesslog.AccessLog> CREATOR;
7791  }
7792
7793  public static final class AccessLog.OperationType {
7794    field public static final int OPERATION_TYPE_DELETE = 1; // 0x1
7795    field public static final int OPERATION_TYPE_READ = 2; // 0x2
7796    field public static final int OPERATION_TYPE_UPSERT = 0; // 0x0
7797  }
7798
7799}
7800
7801package android.health.connect.datatypes {
7802
7803  public abstract class Record {
7804    method public int getRecordType();
7805  }
7806
7807  public final class RecordTypeIdentifier {
7808    field public static final int RECORD_TYPE_ACTIVE_CALORIES_BURNED = 2; // 0x2
7809    field public static final int RECORD_TYPE_BASAL_BODY_TEMPERATURE = 20; // 0x14
7810    field public static final int RECORD_TYPE_BASAL_METABOLIC_RATE = 16; // 0x10
7811    field public static final int RECORD_TYPE_BLOOD_GLUCOSE = 25; // 0x19
7812    field public static final int RECORD_TYPE_BLOOD_PRESSURE = 23; // 0x17
7813    field public static final int RECORD_TYPE_BODY_FAT = 17; // 0x11
7814    field public static final int RECORD_TYPE_BODY_TEMPERATURE = 29; // 0x1d
7815    field public static final int RECORD_TYPE_BODY_WATER_MASS = 34; // 0x22
7816    field public static final int RECORD_TYPE_BONE_MASS = 32; // 0x20
7817    field public static final int RECORD_TYPE_CERVICAL_MUCUS = 19; // 0x13
7818    field public static final int RECORD_TYPE_CYCLING_PEDALING_CADENCE = 12; // 0xc
7819    field public static final int RECORD_TYPE_DISTANCE = 7; // 0x7
7820    field public static final int RECORD_TYPE_ELEVATION_GAINED = 4; // 0x4
7821    field public static final int RECORD_TYPE_EXERCISE_SESSION = 37; // 0x25
7822    field public static final int RECORD_TYPE_FLOORS_CLIMBED = 5; // 0x5
7823    field public static final int RECORD_TYPE_HEART_RATE = 11; // 0xb
7824    field public static final int RECORD_TYPE_HEART_RATE_VARIABILITY_RMSSD = 35; // 0x23
7825    field public static final int RECORD_TYPE_HEIGHT = 24; // 0x18
7826    field public static final int RECORD_TYPE_HYDRATION = 3; // 0x3
7827    field public static final int RECORD_TYPE_INTERMENSTRUAL_BLEEDING = 36; // 0x24
7828    field public static final int RECORD_TYPE_LEAN_BODY_MASS = 27; // 0x1b
7829    field public static final int RECORD_TYPE_MENSTRUATION_FLOW = 21; // 0x15
7830    field public static final int RECORD_TYPE_MENSTRUATION_PERIOD = 10; // 0xa
7831    field public static final int RECORD_TYPE_NUTRITION = 8; // 0x8
7832    field public static final int RECORD_TYPE_OVULATION_TEST = 30; // 0x1e
7833    field public static final int RECORD_TYPE_OXYGEN_SATURATION = 22; // 0x16
7834    field public static final int RECORD_TYPE_POWER = 13; // 0xd
7835    field public static final int RECORD_TYPE_RESPIRATORY_RATE = 31; // 0x1f
7836    field public static final int RECORD_TYPE_RESTING_HEART_RATE = 33; // 0x21
7837    field public static final int RECORD_TYPE_SEXUAL_ACTIVITY = 28; // 0x1c
7838    field public static final int RECORD_TYPE_SLEEP_SESSION = 38; // 0x26
7839    field public static final int RECORD_TYPE_SPEED = 14; // 0xe
7840    field public static final int RECORD_TYPE_STEPS = 1; // 0x1
7841    field public static final int RECORD_TYPE_STEPS_CADENCE = 15; // 0xf
7842    field public static final int RECORD_TYPE_TOTAL_CALORIES_BURNED = 9; // 0x9
7843    field public static final int RECORD_TYPE_UNKNOWN = 0; // 0x0
7844    field public static final int RECORD_TYPE_VO2_MAX = 18; // 0x12
7845    field public static final int RECORD_TYPE_WEIGHT = 26; // 0x1a
7846    field public static final int RECORD_TYPE_WHEELCHAIR_PUSHES = 6; // 0x6
7847  }
7848
7849}
7850
7851package android.health.connect.migration {
7852
7853  public final class AppInfoMigrationPayload extends android.health.connect.migration.MigrationPayload implements android.os.Parcelable {
7854    method @Nullable public byte[] getAppIcon();
7855    method @NonNull public String getAppName();
7856    method @NonNull public String getPackageName();
7857    method public void writeToParcel(@NonNull android.os.Parcel, int);
7858    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.AppInfoMigrationPayload> CREATOR;
7859  }
7860
7861  public static final class AppInfoMigrationPayload.Builder {
7862    ctor public AppInfoMigrationPayload.Builder(@NonNull String, @NonNull String);
7863    method @NonNull public android.health.connect.migration.AppInfoMigrationPayload build();
7864    method @NonNull public android.health.connect.migration.AppInfoMigrationPayload.Builder setAppIcon(@Nullable byte[]);
7865    method @NonNull public android.health.connect.migration.AppInfoMigrationPayload.Builder setAppName(@NonNull String);
7866    method @NonNull public android.health.connect.migration.AppInfoMigrationPayload.Builder setPackageName(@NonNull String);
7867  }
7868
7869  public final class MetadataMigrationPayload extends android.health.connect.migration.MigrationPayload implements android.os.Parcelable {
7870    method public int getRecordRetentionPeriodDays();
7871    method public void writeToParcel(@NonNull android.os.Parcel, int);
7872    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.MetadataMigrationPayload> CREATOR;
7873  }
7874
7875  public static final class MetadataMigrationPayload.Builder {
7876    ctor public MetadataMigrationPayload.Builder();
7877    method @NonNull public android.health.connect.migration.MetadataMigrationPayload build();
7878    method @NonNull public android.health.connect.migration.MetadataMigrationPayload.Builder setRecordRetentionPeriodDays(@IntRange(from=0x0, to=0x1c84) int);
7879  }
7880
7881  public final class MigrationEntity implements android.os.Parcelable {
7882    ctor public MigrationEntity(@NonNull String, @NonNull android.health.connect.migration.MigrationPayload);
7883    method public int describeContents();
7884    method @NonNull public String getEntityId();
7885    method @NonNull public android.health.connect.migration.MigrationPayload getPayload();
7886    method public void writeToParcel(@NonNull android.os.Parcel, int);
7887    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.MigrationEntity> CREATOR;
7888  }
7889
7890  public final class MigrationException extends java.lang.RuntimeException implements android.os.Parcelable {
7891    ctor public MigrationException(@Nullable String, int, @Nullable String);
7892    method public int describeContents();
7893    method public int getErrorCode();
7894    method @Nullable public String getFailedEntityId();
7895    method public void writeToParcel(@NonNull android.os.Parcel, int);
7896    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.MigrationException> CREATOR;
7897    field public static final int ERROR_INTERNAL = 1; // 0x1
7898    field public static final int ERROR_MIGRATE_ENTITY = 2; // 0x2
7899    field public static final int ERROR_MIGRATION_UNAVAILABLE = 3; // 0x3
7900  }
7901
7902  public abstract class MigrationPayload implements android.os.Parcelable {
7903    method public int describeContents();
7904    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.MigrationPayload> CREATOR;
7905  }
7906
7907  public final class PermissionMigrationPayload extends android.health.connect.migration.MigrationPayload implements android.os.Parcelable {
7908    method @NonNull public java.time.Instant getFirstGrantTime();
7909    method @NonNull public String getHoldingPackageName();
7910    method @NonNull public java.util.List<java.lang.String> getPermissions();
7911    method public void writeToParcel(@NonNull android.os.Parcel, int);
7912    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.PermissionMigrationPayload> CREATOR;
7913  }
7914
7915  public static final class PermissionMigrationPayload.Builder {
7916    ctor public PermissionMigrationPayload.Builder(@NonNull String, @NonNull java.time.Instant);
7917    method @NonNull public android.health.connect.migration.PermissionMigrationPayload.Builder addPermission(@NonNull String);
7918    method @NonNull public android.health.connect.migration.PermissionMigrationPayload build();
7919    method @NonNull public android.health.connect.migration.PermissionMigrationPayload.Builder setFirstGrantTime(@NonNull java.time.Instant);
7920    method @NonNull public android.health.connect.migration.PermissionMigrationPayload.Builder setHoldingPackageName(@NonNull String);
7921  }
7922
7923  public final class PriorityMigrationPayload extends android.health.connect.migration.MigrationPayload implements android.os.Parcelable {
7924    method public int getDataCategory();
7925    method @NonNull public java.util.List<android.health.connect.datatypes.DataOrigin> getDataOrigins();
7926    method public void writeToParcel(@NonNull android.os.Parcel, int);
7927    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.PriorityMigrationPayload> CREATOR;
7928  }
7929
7930  public static final class PriorityMigrationPayload.Builder {
7931    ctor public PriorityMigrationPayload.Builder();
7932    method @NonNull public android.health.connect.migration.PriorityMigrationPayload.Builder addDataOrigin(@NonNull android.health.connect.datatypes.DataOrigin);
7933    method @NonNull public android.health.connect.migration.PriorityMigrationPayload build();
7934    method @NonNull public android.health.connect.migration.PriorityMigrationPayload.Builder setDataCategory(int);
7935  }
7936
7937  public final class RecordMigrationPayload extends android.health.connect.migration.MigrationPayload implements android.os.Parcelable {
7938    method @NonNull public String getOriginAppName();
7939    method @NonNull public String getOriginPackageName();
7940    method @NonNull public android.health.connect.datatypes.Record getRecord();
7941    method public void writeToParcel(@NonNull android.os.Parcel, int);
7942    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.RecordMigrationPayload> CREATOR;
7943  }
7944
7945  public static final class RecordMigrationPayload.Builder {
7946    ctor public RecordMigrationPayload.Builder(@NonNull String, @NonNull String, @NonNull android.health.connect.datatypes.Record);
7947    method @NonNull public android.health.connect.migration.RecordMigrationPayload build();
7948    method @NonNull public android.health.connect.migration.RecordMigrationPayload.Builder setOriginAppName(@NonNull String);
7949    method @NonNull public android.health.connect.migration.RecordMigrationPayload.Builder setOriginPackageName(@NonNull String);
7950    method @NonNull public android.health.connect.migration.RecordMigrationPayload.Builder setRecord(@NonNull android.health.connect.datatypes.Record);
7951  }
7952
7953}
7954
7955package android.health.connect.restore {
7956
7957  public final class StageRemoteDataException extends java.lang.RuntimeException implements android.os.Parcelable {
7958    method public int describeContents();
7959    method @NonNull public java.util.Map<java.lang.String,android.health.connect.HealthConnectException> getExceptionsByFileNames();
7960    method public void writeToParcel(@NonNull android.os.Parcel, int);
7961    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.restore.StageRemoteDataException> CREATOR;
7962  }
7963
7964}
7965
7966package android.location {
7967
7968  public abstract class BatchedLocationCallback {
7969    ctor public BatchedLocationCallback();
7970    method public void onLocationBatch(java.util.List<android.location.Location>);
7971  }
7972
7973  public final class CorrelationVector implements android.os.Parcelable {
7974    method public int describeContents();
7975    method @FloatRange(from=0.0f) public double getFrequencyOffsetMetersPerSecond();
7976    method @NonNull public int[] getMagnitude();
7977    method @FloatRange(from=0.0f) public double getSamplingStartMeters();
7978    method @FloatRange(from=0.0f, fromInclusive=false) public double getSamplingWidthMeters();
7979    method public void writeToParcel(@NonNull android.os.Parcel, int);
7980    field @NonNull public static final android.os.Parcelable.Creator<android.location.CorrelationVector> CREATOR;
7981  }
7982
7983  public static final class CorrelationVector.Builder {
7984    ctor public CorrelationVector.Builder();
7985    method @NonNull public android.location.CorrelationVector build();
7986    method @NonNull public android.location.CorrelationVector.Builder setFrequencyOffsetMetersPerSecond(@FloatRange(from=0.0f) double);
7987    method @NonNull public android.location.CorrelationVector.Builder setMagnitude(@NonNull int[]);
7988    method @NonNull public android.location.CorrelationVector.Builder setSamplingStartMeters(@FloatRange(from=0.0f) double);
7989    method @NonNull public android.location.CorrelationVector.Builder setSamplingWidthMeters(@FloatRange(from=0.0f, fromInclusive=false) double);
7990  }
7991
7992  public final class Country implements android.os.Parcelable {
7993    ctor public Country(@NonNull String, int);
7994    method public int describeContents();
7995    method @NonNull public String getCountryCode();
7996    method public int getSource();
7997    method public void writeToParcel(@NonNull android.os.Parcel, int);
7998    field public static final int COUNTRY_SOURCE_LOCALE = 3; // 0x3
7999    field public static final int COUNTRY_SOURCE_LOCATION = 1; // 0x1
8000    field public static final int COUNTRY_SOURCE_NETWORK = 0; // 0x0
8001    field public static final int COUNTRY_SOURCE_SIM = 2; // 0x2
8002    field @NonNull public static final android.os.Parcelable.Creator<android.location.Country> CREATOR;
8003  }
8004
8005  public class CountryDetector {
8006    method public void registerCountryDetectorCallback(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.location.Country>);
8007    method public void unregisterCountryDetectorCallback(@NonNull java.util.function.Consumer<android.location.Country>);
8008  }
8009
8010  public final class GnssCapabilities implements android.os.Parcelable {
8011    method @Deprecated public boolean hasMeasurementCorrectionsReflectingPane();
8012    method @Deprecated public boolean hasNavMessages();
8013    method @Deprecated public boolean hasSatelliteBlacklist();
8014  }
8015
8016  public final class GnssExcessPathInfo implements android.os.Parcelable {
8017    method public int describeContents();
8018    method @FloatRange(from=0.0f) public float getAttenuationDb();
8019    method @FloatRange(from=0.0f) public float getExcessPathLengthMeters();
8020    method @FloatRange(from=0.0f) public float getExcessPathLengthUncertaintyMeters();
8021    method @NonNull public android.location.GnssReflectingPlane getReflectingPlane();
8022    method public boolean hasAttenuation();
8023    method public boolean hasExcessPathLength();
8024    method public boolean hasExcessPathLengthUncertainty();
8025    method public boolean hasReflectingPlane();
8026    method public void writeToParcel(@NonNull android.os.Parcel, int);
8027    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssExcessPathInfo> CREATOR;
8028  }
8029
8030  public static final class GnssExcessPathInfo.Builder {
8031    ctor public GnssExcessPathInfo.Builder();
8032    method @NonNull public android.location.GnssExcessPathInfo build();
8033    method @NonNull public android.location.GnssExcessPathInfo.Builder clearAttenuationDb();
8034    method @NonNull public android.location.GnssExcessPathInfo.Builder clearExcessPathLengthMeters();
8035    method @NonNull public android.location.GnssExcessPathInfo.Builder clearExcessPathLengthUncertaintyMeters();
8036    method @NonNull public android.location.GnssExcessPathInfo.Builder setAttenuationDb(@FloatRange(from=0.0f) float);
8037    method @NonNull public android.location.GnssExcessPathInfo.Builder setExcessPathLengthMeters(@FloatRange(from=0.0f) float);
8038    method @NonNull public android.location.GnssExcessPathInfo.Builder setExcessPathLengthUncertaintyMeters(@FloatRange(from=0.0f) float);
8039    method @NonNull public android.location.GnssExcessPathInfo.Builder setReflectingPlane(@Nullable android.location.GnssReflectingPlane);
8040  }
8041
8042  public final class GnssMeasurement implements android.os.Parcelable {
8043    method @Nullable public java.util.Collection<android.location.CorrelationVector> getCorrelationVectors();
8044    method @Nullable public android.location.SatellitePvt getSatellitePvt();
8045    method public boolean hasCorrelationVectors();
8046    method public boolean hasSatellitePvt();
8047  }
8048
8049  public final class GnssMeasurementCorrections implements android.os.Parcelable {
8050    method public int describeContents();
8051    method @FloatRange(from=-1000.0F, to=10000.0f) public double getAltitudeMeters();
8052    method @FloatRange(from=0.0f, to=360.0f) public float getEnvironmentBearingDegrees();
8053    method @FloatRange(from=0.0f, to=180.0f) public float getEnvironmentBearingUncertaintyDegrees();
8054    method @FloatRange(from=0.0f) public double getHorizontalPositionUncertaintyMeters();
8055    method @FloatRange(from=-90.0F, to=90.0f) public double getLatitudeDegrees();
8056    method @FloatRange(from=-180.0F, to=180.0f) public double getLongitudeDegrees();
8057    method @NonNull public java.util.List<android.location.GnssSingleSatCorrection> getSingleSatelliteCorrectionList();
8058    method @IntRange(from=0) public long getToaGpsNanosecondsOfWeek();
8059    method @FloatRange(from=0.0f) public double getVerticalPositionUncertaintyMeters();
8060    method public boolean hasEnvironmentBearing();
8061    method public void writeToParcel(@NonNull android.os.Parcel, int);
8062    field public static final android.os.Parcelable.Creator<android.location.GnssMeasurementCorrections> CREATOR;
8063  }
8064
8065  public static final class GnssMeasurementCorrections.Builder {
8066    ctor public GnssMeasurementCorrections.Builder();
8067    method @NonNull public android.location.GnssMeasurementCorrections build();
8068    method @NonNull public android.location.GnssMeasurementCorrections.Builder setAltitudeMeters(@FloatRange(from=-1000.0F, to=10000.0f) double);
8069    method @NonNull public android.location.GnssMeasurementCorrections.Builder setEnvironmentBearingDegrees(@FloatRange(from=0.0f, to=360.0f) float);
8070    method @NonNull public android.location.GnssMeasurementCorrections.Builder setEnvironmentBearingUncertaintyDegrees(@FloatRange(from=0.0f, to=180.0f) float);
8071    method @NonNull public android.location.GnssMeasurementCorrections.Builder setHorizontalPositionUncertaintyMeters(@FloatRange(from=0.0f) double);
8072    method @NonNull public android.location.GnssMeasurementCorrections.Builder setLatitudeDegrees(@FloatRange(from=-90.0F, to=90.0f) double);
8073    method @NonNull public android.location.GnssMeasurementCorrections.Builder setLongitudeDegrees(@FloatRange(from=-180.0F, to=180.0f) double);
8074    method @NonNull public android.location.GnssMeasurementCorrections.Builder setSingleSatelliteCorrectionList(@NonNull java.util.List<android.location.GnssSingleSatCorrection>);
8075    method @NonNull public android.location.GnssMeasurementCorrections.Builder setToaGpsNanosecondsOfWeek(@IntRange(from=0) long);
8076    method @NonNull public android.location.GnssMeasurementCorrections.Builder setVerticalPositionUncertaintyMeters(@FloatRange(from=0.0f) double);
8077  }
8078
8079  public final class GnssMeasurementRequest implements android.os.Parcelable {
8080    method public boolean isCorrelationVectorOutputsEnabled();
8081  }
8082
8083  public static final class GnssMeasurementRequest.Builder {
8084    method @NonNull public android.location.GnssMeasurementRequest.Builder setCorrelationVectorOutputsEnabled(boolean);
8085  }
8086
8087  public final class GnssReflectingPlane implements android.os.Parcelable {
8088    method public int describeContents();
8089    method @FloatRange(from=-1000.0F, to=10000.0f) public double getAltitudeMeters();
8090    method @FloatRange(from=0.0f, to=360.0f) public double getAzimuthDegrees();
8091    method @FloatRange(from=-90.0F, to=90.0f) public double getLatitudeDegrees();
8092    method @FloatRange(from=-180.0F, to=180.0f) public double getLongitudeDegrees();
8093    method public void writeToParcel(@NonNull android.os.Parcel, int);
8094    field public static final android.os.Parcelable.Creator<android.location.GnssReflectingPlane> CREATOR;
8095  }
8096
8097  public static final class GnssReflectingPlane.Builder {
8098    ctor public GnssReflectingPlane.Builder();
8099    method @NonNull public android.location.GnssReflectingPlane build();
8100    method @NonNull public android.location.GnssReflectingPlane.Builder setAltitudeMeters(@FloatRange(from=-1000.0F, to=10000.0f) double);
8101    method @NonNull public android.location.GnssReflectingPlane.Builder setAzimuthDegrees(@FloatRange(from=0.0f, to=360.0f) double);
8102    method @NonNull public android.location.GnssReflectingPlane.Builder setLatitudeDegrees(@FloatRange(from=-90.0F, to=90.0f) double);
8103    method @NonNull public android.location.GnssReflectingPlane.Builder setLongitudeDegrees(@FloatRange(from=-180.0F, to=180.0f) double);
8104  }
8105
8106  public final class GnssRequest implements android.os.Parcelable {
8107    method public int describeContents();
8108    method public boolean isFullTracking();
8109    method public void writeToParcel(@NonNull android.os.Parcel, int);
8110    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssRequest> CREATOR;
8111  }
8112
8113  public static final class GnssRequest.Builder {
8114    ctor public GnssRequest.Builder();
8115    ctor public GnssRequest.Builder(@NonNull android.location.GnssRequest);
8116    method @NonNull public android.location.GnssRequest build();
8117    method @NonNull public android.location.GnssRequest.Builder setFullTracking(boolean);
8118  }
8119
8120  public final class GnssSingleSatCorrection implements android.os.Parcelable {
8121    method public int describeContents();
8122    method @FloatRange(from=0.0f, fromInclusive=false) public float getCarrierFrequencyHz();
8123    method @FloatRange(from=0.0f) public float getCombinedAttenuationDb();
8124    method public int getConstellationType();
8125    method @FloatRange(from=0.0f) public float getExcessPathLengthMeters();
8126    method @FloatRange(from=0.0f) public float getExcessPathLengthUncertaintyMeters();
8127    method @NonNull public java.util.List<android.location.GnssExcessPathInfo> getGnssExcessPathInfoList();
8128    method @FloatRange(from=0.0f, to=1.0f) public float getProbabilityLineOfSight();
8129    method @Deprecated @Nullable public android.location.GnssReflectingPlane getReflectingPlane();
8130    method @IntRange(from=0) public int getSatelliteId();
8131    method public boolean hasCombinedAttenuation();
8132    method public boolean hasExcessPathLength();
8133    method public boolean hasExcessPathLengthUncertainty();
8134    method @Deprecated public boolean hasReflectingPlane();
8135    method public boolean hasValidSatelliteLineOfSight();
8136    method public void writeToParcel(@NonNull android.os.Parcel, int);
8137    field public static final android.os.Parcelable.Creator<android.location.GnssSingleSatCorrection> CREATOR;
8138  }
8139
8140  public static final class GnssSingleSatCorrection.Builder {
8141    ctor public GnssSingleSatCorrection.Builder();
8142    method @NonNull public android.location.GnssSingleSatCorrection build();
8143    method @NonNull public android.location.GnssSingleSatCorrection.Builder clearCombinedAttenuationDb();
8144    method @NonNull public android.location.GnssSingleSatCorrection.Builder clearExcessPathLengthMeters();
8145    method @NonNull public android.location.GnssSingleSatCorrection.Builder clearExcessPathLengthUncertaintyMeters();
8146    method @NonNull public android.location.GnssSingleSatCorrection.Builder clearProbabilityLineOfSight();
8147    method @NonNull public android.location.GnssSingleSatCorrection.Builder setCarrierFrequencyHz(@FloatRange(from=0.0f, fromInclusive=false) float);
8148    method @NonNull public android.location.GnssSingleSatCorrection.Builder setCombinedAttenuationDb(@FloatRange(from=0.0f) float);
8149    method @NonNull public android.location.GnssSingleSatCorrection.Builder setConstellationType(int);
8150    method @NonNull public android.location.GnssSingleSatCorrection.Builder setExcessPathLengthMeters(@FloatRange(from=0.0f) float);
8151    method @NonNull public android.location.GnssSingleSatCorrection.Builder setExcessPathLengthUncertaintyMeters(@FloatRange(from=0.0f) float);
8152    method @NonNull public android.location.GnssSingleSatCorrection.Builder setGnssExcessPathInfoList(@NonNull java.util.List<android.location.GnssExcessPathInfo>);
8153    method @NonNull public android.location.GnssSingleSatCorrection.Builder setProbabilityLineOfSight(@FloatRange(from=0.0f, to=1.0f) float);
8154    method @Deprecated @NonNull public android.location.GnssSingleSatCorrection.Builder setReflectingPlane(@Nullable android.location.GnssReflectingPlane);
8155    method @NonNull public android.location.GnssSingleSatCorrection.Builder setSatelliteId(@IntRange(from=0) int);
8156  }
8157
8158  @Deprecated public class GpsClock implements android.os.Parcelable {
8159    method @Deprecated public int describeContents();
8160    method @Deprecated public double getBiasInNs();
8161    method @Deprecated public double getBiasUncertaintyInNs();
8162    method @Deprecated public double getDriftInNsPerSec();
8163    method @Deprecated public double getDriftUncertaintyInNsPerSec();
8164    method @Deprecated public long getFullBiasInNs();
8165    method @Deprecated public short getLeapSecond();
8166    method @Deprecated public long getTimeInNs();
8167    method @Deprecated public double getTimeUncertaintyInNs();
8168    method @Deprecated public byte getType();
8169    method @Deprecated public boolean hasBiasInNs();
8170    method @Deprecated public boolean hasBiasUncertaintyInNs();
8171    method @Deprecated public boolean hasDriftInNsPerSec();
8172    method @Deprecated public boolean hasDriftUncertaintyInNsPerSec();
8173    method @Deprecated public boolean hasFullBiasInNs();
8174    method @Deprecated public boolean hasLeapSecond();
8175    method @Deprecated public boolean hasTimeUncertaintyInNs();
8176    method @Deprecated public void reset();
8177    method @Deprecated public void resetBiasInNs();
8178    method @Deprecated public void resetBiasUncertaintyInNs();
8179    method @Deprecated public void resetDriftInNsPerSec();
8180    method @Deprecated public void resetDriftUncertaintyInNsPerSec();
8181    method @Deprecated public void resetFullBiasInNs();
8182    method @Deprecated public void resetLeapSecond();
8183    method @Deprecated public void resetTimeUncertaintyInNs();
8184    method @Deprecated public void set(android.location.GpsClock);
8185    method @Deprecated public void setBiasInNs(double);
8186    method @Deprecated public void setBiasUncertaintyInNs(double);
8187    method @Deprecated public void setDriftInNsPerSec(double);
8188    method @Deprecated public void setDriftUncertaintyInNsPerSec(double);
8189    method @Deprecated public void setFullBiasInNs(long);
8190    method @Deprecated public void setLeapSecond(short);
8191    method @Deprecated public void setTimeInNs(long);
8192    method @Deprecated public void setTimeUncertaintyInNs(double);
8193    method @Deprecated public void setType(byte);
8194    method @Deprecated public void writeToParcel(android.os.Parcel, int);
8195    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsClock> CREATOR;
8196    field @Deprecated public static final byte TYPE_GPS_TIME = 2; // 0x2
8197    field @Deprecated public static final byte TYPE_LOCAL_HW_TIME = 1; // 0x1
8198    field @Deprecated public static final byte TYPE_UNKNOWN = 0; // 0x0
8199  }
8200
8201  @Deprecated public class GpsMeasurement implements android.os.Parcelable {
8202    method @Deprecated public int describeContents();
8203    method @Deprecated public double getAccumulatedDeltaRangeInMeters();
8204    method @Deprecated public short getAccumulatedDeltaRangeState();
8205    method @Deprecated public double getAccumulatedDeltaRangeUncertaintyInMeters();
8206    method @Deprecated public double getAzimuthInDeg();
8207    method @Deprecated public double getAzimuthUncertaintyInDeg();
8208    method @Deprecated public int getBitNumber();
8209    method @Deprecated public long getCarrierCycles();
8210    method @Deprecated public float getCarrierFrequencyInHz();
8211    method @Deprecated public double getCarrierPhase();
8212    method @Deprecated public double getCarrierPhaseUncertainty();
8213    method @Deprecated public double getCn0InDbHz();
8214    method @Deprecated public double getCodePhaseInChips();
8215    method @Deprecated public double getCodePhaseUncertaintyInChips();
8216    method @Deprecated public double getDopplerShiftInHz();
8217    method @Deprecated public double getDopplerShiftUncertaintyInHz();
8218    method @Deprecated public double getElevationInDeg();
8219    method @Deprecated public double getElevationUncertaintyInDeg();
8220    method @Deprecated public byte getLossOfLock();
8221    method @Deprecated public byte getMultipathIndicator();
8222    method @Deprecated public byte getPrn();
8223    method @Deprecated public double getPseudorangeInMeters();
8224    method @Deprecated public double getPseudorangeRateInMetersPerSec();
8225    method @Deprecated public double getPseudorangeRateUncertaintyInMetersPerSec();
8226    method @Deprecated public double getPseudorangeUncertaintyInMeters();
8227    method @Deprecated public long getReceivedGpsTowInNs();
8228    method @Deprecated public long getReceivedGpsTowUncertaintyInNs();
8229    method @Deprecated public double getSnrInDb();
8230    method @Deprecated public short getState();
8231    method @Deprecated public short getTimeFromLastBitInMs();
8232    method @Deprecated public double getTimeOffsetInNs();
8233    method @Deprecated public boolean hasAzimuthInDeg();
8234    method @Deprecated public boolean hasAzimuthUncertaintyInDeg();
8235    method @Deprecated public boolean hasBitNumber();
8236    method @Deprecated public boolean hasCarrierCycles();
8237    method @Deprecated public boolean hasCarrierFrequencyInHz();
8238    method @Deprecated public boolean hasCarrierPhase();
8239    method @Deprecated public boolean hasCarrierPhaseUncertainty();
8240    method @Deprecated public boolean hasCodePhaseInChips();
8241    method @Deprecated public boolean hasCodePhaseUncertaintyInChips();
8242    method @Deprecated public boolean hasDopplerShiftInHz();
8243    method @Deprecated public boolean hasDopplerShiftUncertaintyInHz();
8244    method @Deprecated public boolean hasElevationInDeg();
8245    method @Deprecated public boolean hasElevationUncertaintyInDeg();
8246    method @Deprecated public boolean hasPseudorangeInMeters();
8247    method @Deprecated public boolean hasPseudorangeUncertaintyInMeters();
8248    method @Deprecated public boolean hasSnrInDb();
8249    method @Deprecated public boolean hasTimeFromLastBitInMs();
8250    method @Deprecated public boolean isPseudorangeRateCorrected();
8251    method @Deprecated public boolean isUsedInFix();
8252    method @Deprecated public void reset();
8253    method @Deprecated public void resetAzimuthInDeg();
8254    method @Deprecated public void resetAzimuthUncertaintyInDeg();
8255    method @Deprecated public void resetBitNumber();
8256    method @Deprecated public void resetCarrierCycles();
8257    method @Deprecated public void resetCarrierFrequencyInHz();
8258    method @Deprecated public void resetCarrierPhase();
8259    method @Deprecated public void resetCarrierPhaseUncertainty();
8260    method @Deprecated public void resetCodePhaseInChips();
8261    method @Deprecated public void resetCodePhaseUncertaintyInChips();
8262    method @Deprecated public void resetDopplerShiftInHz();
8263    method @Deprecated public void resetDopplerShiftUncertaintyInHz();
8264    method @Deprecated public void resetElevationInDeg();
8265    method @Deprecated public void resetElevationUncertaintyInDeg();
8266    method @Deprecated public void resetPseudorangeInMeters();
8267    method @Deprecated public void resetPseudorangeUncertaintyInMeters();
8268    method @Deprecated public void resetSnrInDb();
8269    method @Deprecated public void resetTimeFromLastBitInMs();
8270    method @Deprecated public void set(android.location.GpsMeasurement);
8271    method @Deprecated public void setAccumulatedDeltaRangeInMeters(double);
8272    method @Deprecated public void setAccumulatedDeltaRangeState(short);
8273    method @Deprecated public void setAccumulatedDeltaRangeUncertaintyInMeters(double);
8274    method @Deprecated public void setAzimuthInDeg(double);
8275    method @Deprecated public void setAzimuthUncertaintyInDeg(double);
8276    method @Deprecated public void setBitNumber(int);
8277    method @Deprecated public void setCarrierCycles(long);
8278    method @Deprecated public void setCarrierFrequencyInHz(float);
8279    method @Deprecated public void setCarrierPhase(double);
8280    method @Deprecated public void setCarrierPhaseUncertainty(double);
8281    method @Deprecated public void setCn0InDbHz(double);
8282    method @Deprecated public void setCodePhaseInChips(double);
8283    method @Deprecated public void setCodePhaseUncertaintyInChips(double);
8284    method @Deprecated public void setDopplerShiftInHz(double);
8285    method @Deprecated public void setDopplerShiftUncertaintyInHz(double);
8286    method @Deprecated public void setElevationInDeg(double);
8287    method @Deprecated public void setElevationUncertaintyInDeg(double);
8288    method @Deprecated public void setLossOfLock(byte);
8289    method @Deprecated public void setMultipathIndicator(byte);
8290    method @Deprecated public void setPrn(byte);
8291    method @Deprecated public void setPseudorangeInMeters(double);
8292    method @Deprecated public void setPseudorangeRateInMetersPerSec(double);
8293    method @Deprecated public void setPseudorangeRateUncertaintyInMetersPerSec(double);
8294    method @Deprecated public void setPseudorangeUncertaintyInMeters(double);
8295    method @Deprecated public void setReceivedGpsTowInNs(long);
8296    method @Deprecated public void setReceivedGpsTowUncertaintyInNs(long);
8297    method @Deprecated public void setSnrInDb(double);
8298    method @Deprecated public void setState(short);
8299    method @Deprecated public void setTimeFromLastBitInMs(short);
8300    method @Deprecated public void setTimeOffsetInNs(double);
8301    method @Deprecated public void setUsedInFix(boolean);
8302    method @Deprecated public void writeToParcel(android.os.Parcel, int);
8303    field @Deprecated public static final short ADR_STATE_CYCLE_SLIP = 4; // 0x4
8304    field @Deprecated public static final short ADR_STATE_RESET = 2; // 0x2
8305    field @Deprecated public static final short ADR_STATE_UNKNOWN = 0; // 0x0
8306    field @Deprecated public static final short ADR_STATE_VALID = 1; // 0x1
8307    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurement> CREATOR;
8308    field @Deprecated public static final byte LOSS_OF_LOCK_CYCLE_SLIP = 2; // 0x2
8309    field @Deprecated public static final byte LOSS_OF_LOCK_OK = 1; // 0x1
8310    field @Deprecated public static final byte LOSS_OF_LOCK_UNKNOWN = 0; // 0x0
8311    field @Deprecated public static final byte MULTIPATH_INDICATOR_DETECTED = 1; // 0x1
8312    field @Deprecated public static final byte MULTIPATH_INDICATOR_NOT_USED = 2; // 0x2
8313    field @Deprecated public static final byte MULTIPATH_INDICATOR_UNKNOWN = 0; // 0x0
8314    field @Deprecated public static final short STATE_BIT_SYNC = 2; // 0x2
8315    field @Deprecated public static final short STATE_CODE_LOCK = 1; // 0x1
8316    field @Deprecated public static final short STATE_MSEC_AMBIGUOUS = 16; // 0x10
8317    field @Deprecated public static final short STATE_SUBFRAME_SYNC = 4; // 0x4
8318    field @Deprecated public static final short STATE_TOW_DECODED = 8; // 0x8
8319    field @Deprecated public static final short STATE_UNKNOWN = 0; // 0x0
8320  }
8321
8322  @Deprecated public class GpsMeasurementsEvent implements android.os.Parcelable {
8323    ctor @Deprecated public GpsMeasurementsEvent(android.location.GpsClock, android.location.GpsMeasurement[]);
8324    method @Deprecated public int describeContents();
8325    method @Deprecated @NonNull public android.location.GpsClock getClock();
8326    method @Deprecated @NonNull public java.util.Collection<android.location.GpsMeasurement> getMeasurements();
8327    method @Deprecated public void writeToParcel(android.os.Parcel, int);
8328    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurementsEvent> CREATOR;
8329    field @Deprecated public static final int STATUS_GPS_LOCATION_DISABLED = 2; // 0x2
8330    field @Deprecated public static final int STATUS_NOT_SUPPORTED = 0; // 0x0
8331    field @Deprecated public static final int STATUS_READY = 1; // 0x1
8332  }
8333
8334  @Deprecated public static interface GpsMeasurementsEvent.Listener {
8335    method @Deprecated public void onGpsMeasurementsReceived(android.location.GpsMeasurementsEvent);
8336    method @Deprecated public void onStatusChanged(int);
8337  }
8338
8339  @Deprecated public class GpsNavigationMessage implements android.os.Parcelable {
8340    method @Deprecated public int describeContents();
8341    method @Deprecated @NonNull public byte[] getData();
8342    method @Deprecated public short getMessageId();
8343    method @Deprecated public byte getPrn();
8344    method @Deprecated public short getStatus();
8345    method @Deprecated public short getSubmessageId();
8346    method @Deprecated public byte getType();
8347    method @Deprecated public void reset();
8348    method @Deprecated public void set(android.location.GpsNavigationMessage);
8349    method @Deprecated public void setData(byte[]);
8350    method @Deprecated public void setMessageId(short);
8351    method @Deprecated public void setPrn(byte);
8352    method @Deprecated public void setStatus(short);
8353    method @Deprecated public void setSubmessageId(short);
8354    method @Deprecated public void setType(byte);
8355    method @Deprecated public void writeToParcel(android.os.Parcel, int);
8356    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessage> CREATOR;
8357    field @Deprecated public static final short STATUS_PARITY_PASSED = 1; // 0x1
8358    field @Deprecated public static final short STATUS_PARITY_REBUILT = 2; // 0x2
8359    field @Deprecated public static final short STATUS_UNKNOWN = 0; // 0x0
8360    field @Deprecated public static final byte TYPE_CNAV2 = 4; // 0x4
8361    field @Deprecated public static final byte TYPE_L1CA = 1; // 0x1
8362    field @Deprecated public static final byte TYPE_L2CNAV = 2; // 0x2
8363    field @Deprecated public static final byte TYPE_L5CNAV = 3; // 0x3
8364    field @Deprecated public static final byte TYPE_UNKNOWN = 0; // 0x0
8365  }
8366
8367  @Deprecated public class GpsNavigationMessageEvent implements android.os.Parcelable {
8368    ctor @Deprecated public GpsNavigationMessageEvent(android.location.GpsNavigationMessage);
8369    method @Deprecated public int describeContents();
8370    method @Deprecated @NonNull public android.location.GpsNavigationMessage getNavigationMessage();
8371    method @Deprecated public void writeToParcel(android.os.Parcel, int);
8372    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessageEvent> CREATOR;
8373    field @Deprecated public static int STATUS_GPS_LOCATION_DISABLED;
8374    field @Deprecated public static int STATUS_NOT_SUPPORTED;
8375    field @Deprecated public static int STATUS_READY;
8376  }
8377
8378  @Deprecated public static interface GpsNavigationMessageEvent.Listener {
8379    method @Deprecated public void onGpsNavigationMessageReceived(android.location.GpsNavigationMessageEvent);
8380    method @Deprecated public void onStatusChanged(int);
8381  }
8382
8383  public final class LastLocationRequest implements android.os.Parcelable {
8384    method public int describeContents();
8385    method public boolean isAdasGnssBypass();
8386    method public boolean isHiddenFromAppOps();
8387    method public boolean isLocationSettingsIgnored();
8388    method public void writeToParcel(@NonNull android.os.Parcel, int);
8389    field @NonNull public static final android.os.Parcelable.Creator<android.location.LastLocationRequest> CREATOR;
8390  }
8391
8392  public static final class LastLocationRequest.Builder {
8393    ctor public LastLocationRequest.Builder();
8394    ctor public LastLocationRequest.Builder(@NonNull android.location.LastLocationRequest);
8395    method @NonNull public android.location.LastLocationRequest build();
8396    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public android.location.LastLocationRequest.Builder setAdasGnssBypass(boolean);
8397    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_APP_OPS_STATS) public android.location.LastLocationRequest.Builder setHiddenFromAppOps(boolean);
8398    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public android.location.LastLocationRequest.Builder setLocationSettingsIgnored(boolean);
8399  }
8400
8401  public class Location implements android.os.Parcelable {
8402    method public void makeComplete();
8403    method @Deprecated public void setIsFromMockProvider(boolean);
8404    field @Deprecated public static final String EXTRA_NO_GPS_LOCATION = "noGPSLocation";
8405  }
8406
8407  public class LocationManager {
8408    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);
8409    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void flushGnssBatch();
8410    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>);
8411    method @Nullable public String getExtraLocationControllerPackage();
8412    method @Deprecated public int getGnssBatchSize();
8413    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);
8414    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void injectGnssMeasurementCorrections(@NonNull android.location.GnssMeasurementCorrections);
8415    method public boolean isAdasGnssLocationEnabled();
8416    method public boolean isExtraLocationControllerPackageEnabled();
8417    method public boolean isLocationEnabledForUser(@NonNull android.os.UserHandle);
8418    method public boolean isProviderEnabledForUser(@NonNull String, @NonNull android.os.UserHandle);
8419    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@NonNull String);
8420    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@Nullable String, @NonNull String, @Nullable String);
8421    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);
8422    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);
8423    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void removeProviderRequestChangedListener(@NonNull android.location.provider.ProviderRequest.ChangedListener);
8424    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);
8425    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);
8426    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);
8427    method @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public void setAdasGnssLocationEnabled(boolean);
8428    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackage(@Nullable String);
8429    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackageEnabled(boolean);
8430    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setLocationEnabledForUser(boolean, @NonNull android.os.UserHandle);
8431    method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean setProviderEnabledForUser(@NonNull String, boolean, @NonNull android.os.UserHandle);
8432    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean unregisterGnssBatchedLocationCallback(@NonNull android.location.BatchedLocationCallback);
8433    field public static final String ACTION_ADAS_GNSS_ENABLED_CHANGED = "android.location.action.ADAS_GNSS_ENABLED_CHANGED";
8434    field public static final String EXTRA_ADAS_GNSS_ENABLED = "android.location.extra.ADAS_GNSS_ENABLED";
8435    field @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public static final String GPS_HARDWARE_PROVIDER = "gps_hardware";
8436  }
8437
8438  public final class LocationRequest implements android.os.Parcelable {
8439    method @Deprecated @NonNull public static android.location.LocationRequest create();
8440    method @Deprecated @NonNull public static android.location.LocationRequest createFromDeprecatedCriteria(@NonNull android.location.Criteria, long, float, boolean);
8441    method @Deprecated @NonNull public static android.location.LocationRequest createFromDeprecatedProvider(@NonNull String, long, float, boolean);
8442    method @Deprecated public long getExpireAt();
8443    method @Deprecated public long getExpireIn();
8444    method @Deprecated public long getFastestInterval();
8445    method @Deprecated public boolean getHideFromAppOps();
8446    method @Deprecated public long getInterval();
8447    method @Deprecated public int getNumUpdates();
8448    method @Deprecated @NonNull public String getProvider();
8449    method @Deprecated public float getSmallestDisplacement();
8450    method @NonNull public android.os.WorkSource getWorkSource();
8451    method public boolean isAdasGnssBypass();
8452    method public boolean isHiddenFromAppOps();
8453    method public boolean isLocationSettingsIgnored();
8454    method public boolean isLowPower();
8455    method @Deprecated public boolean isLowPowerMode();
8456    method @Deprecated @NonNull public android.location.LocationRequest setExpireAt(long);
8457    method @Deprecated @NonNull public android.location.LocationRequest setExpireIn(long);
8458    method @Deprecated @NonNull public android.location.LocationRequest setFastestInterval(long);
8459    method @Deprecated public void setHideFromAppOps(boolean);
8460    method @Deprecated @NonNull public android.location.LocationRequest setInterval(long);
8461    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public android.location.LocationRequest setLocationSettingsIgnored(boolean);
8462    method @Deprecated @NonNull public android.location.LocationRequest setLowPowerMode(boolean);
8463    method @Deprecated @NonNull public android.location.LocationRequest setNumUpdates(int);
8464    method @Deprecated @NonNull public android.location.LocationRequest setProvider(@NonNull String);
8465    method @Deprecated @NonNull public android.location.LocationRequest setQuality(int);
8466    method @Deprecated @NonNull public android.location.LocationRequest setSmallestDisplacement(float);
8467    method @Deprecated public void setWorkSource(@Nullable android.os.WorkSource);
8468    field @Deprecated public static final int ACCURACY_BLOCK = 102; // 0x66
8469    field @Deprecated public static final int ACCURACY_CITY = 104; // 0x68
8470    field @Deprecated public static final int ACCURACY_FINE = 100; // 0x64
8471    field @Deprecated public static final int POWER_HIGH = 203; // 0xcb
8472    field @Deprecated public static final int POWER_LOW = 201; // 0xc9
8473    field @Deprecated public static final int POWER_NONE = 200; // 0xc8
8474  }
8475
8476  public static final class LocationRequest.Builder {
8477    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public android.location.LocationRequest.Builder setAdasGnssBypass(boolean);
8478    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_APP_OPS_STATS) public android.location.LocationRequest.Builder setHiddenFromAppOps(boolean);
8479    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public android.location.LocationRequest.Builder setLocationSettingsIgnored(boolean);
8480    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.location.LocationRequest.Builder setLowPower(boolean);
8481    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.location.LocationRequest.Builder setWorkSource(@Nullable android.os.WorkSource);
8482  }
8483
8484  public final class SatellitePvt implements android.os.Parcelable {
8485    method public int describeContents();
8486    method @Nullable public android.location.SatellitePvt.ClockInfo getClockInfo();
8487    method public int getEphemerisSource();
8488    method @FloatRange public double getIonoDelayMeters();
8489    method @IntRange(from=0, to=1023) public int getIssueOfDataClock();
8490    method @IntRange(from=0, to=1023) public int getIssueOfDataEphemeris();
8491    method @Nullable public android.location.SatellitePvt.PositionEcef getPositionEcef();
8492    method @IntRange(from=0) public long getTimeOfClockSeconds();
8493    method @IntRange(from=0) public long getTimeOfEphemerisSeconds();
8494    method @FloatRange public double getTropoDelayMeters();
8495    method @Nullable public android.location.SatellitePvt.VelocityEcef getVelocityEcef();
8496    method public boolean hasIono();
8497    method public boolean hasIssueOfDataClock();
8498    method public boolean hasIssueOfDataEphemeris();
8499    method public boolean hasPositionVelocityClockInfo();
8500    method public boolean hasTimeOfClockSeconds();
8501    method public boolean hasTimeOfEphemerisSeconds();
8502    method public boolean hasTropo();
8503    method public void writeToParcel(@NonNull android.os.Parcel, int);
8504    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt> CREATOR;
8505    field public static final int EPHEMERIS_SOURCE_DEMODULATED = 0; // 0x0
8506    field public static final int EPHEMERIS_SOURCE_OTHER = 3; // 0x3
8507    field public static final int EPHEMERIS_SOURCE_SERVER_LONG_TERM = 2; // 0x2
8508    field public static final int EPHEMERIS_SOURCE_SERVER_NORMAL = 1; // 0x1
8509  }
8510
8511  public static final class SatellitePvt.Builder {
8512    ctor public SatellitePvt.Builder();
8513    method @NonNull public android.location.SatellitePvt build();
8514    method @NonNull public android.location.SatellitePvt.Builder setClockInfo(@NonNull android.location.SatellitePvt.ClockInfo);
8515    method @NonNull public android.location.SatellitePvt.Builder setEphemerisSource(int);
8516    method @NonNull public android.location.SatellitePvt.Builder setIonoDelayMeters(@FloatRange(from=0.0f, to=100.0f) double);
8517    method @NonNull public android.location.SatellitePvt.Builder setIssueOfDataClock(@IntRange(from=0, to=1023) int);
8518    method @NonNull public android.location.SatellitePvt.Builder setIssueOfDataEphemeris(@IntRange(from=0, to=1023) int);
8519    method @NonNull public android.location.SatellitePvt.Builder setPositionEcef(@NonNull android.location.SatellitePvt.PositionEcef);
8520    method @NonNull public android.location.SatellitePvt.Builder setTimeOfClockSeconds(@IntRange(from=0) long);
8521    method @NonNull public android.location.SatellitePvt.Builder setTimeOfEphemerisSeconds(@IntRange(from=0) long);
8522    method @NonNull public android.location.SatellitePvt.Builder setTropoDelayMeters(@FloatRange(from=0.0f, to=100.0f) double);
8523    method @NonNull public android.location.SatellitePvt.Builder setVelocityEcef(@NonNull android.location.SatellitePvt.VelocityEcef);
8524  }
8525
8526  public static final class SatellitePvt.ClockInfo implements android.os.Parcelable {
8527    ctor public SatellitePvt.ClockInfo(double, double, double);
8528    method public int describeContents();
8529    method @FloatRange public double getClockDriftMetersPerSecond();
8530    method @FloatRange public double getHardwareCodeBiasMeters();
8531    method @FloatRange public double getTimeCorrectionMeters();
8532    method public void writeToParcel(@NonNull android.os.Parcel, int);
8533    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.ClockInfo> CREATOR;
8534  }
8535
8536  public static final class SatellitePvt.PositionEcef implements android.os.Parcelable {
8537    ctor public SatellitePvt.PositionEcef(double, double, double, double);
8538    method public int describeContents();
8539    method @FloatRange(from=0.0f, fromInclusive=false) public double getUreMeters();
8540    method @FloatRange public double getXMeters();
8541    method @FloatRange public double getYMeters();
8542    method @FloatRange public double getZMeters();
8543    method public void writeToParcel(@NonNull android.os.Parcel, int);
8544    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.PositionEcef> CREATOR;
8545  }
8546
8547  public static final class SatellitePvt.VelocityEcef implements android.os.Parcelable {
8548    ctor public SatellitePvt.VelocityEcef(double, double, double, double);
8549    method public int describeContents();
8550    method @FloatRange(from=0.0f, fromInclusive=false) public double getUreRateMetersPerSecond();
8551    method @FloatRange public double getXMetersPerSecond();
8552    method @FloatRange public double getYMetersPerSecond();
8553    method @FloatRange public double getZMetersPerSecond();
8554    method public void writeToParcel(@NonNull android.os.Parcel, int);
8555    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.VelocityEcef> CREATOR;
8556  }
8557
8558}
8559
8560package android.location.provider {
8561
8562  public abstract class LocationProviderBase {
8563    ctor public LocationProviderBase(@NonNull android.content.Context, @NonNull String, @NonNull android.location.provider.ProviderProperties);
8564    method @Nullable public final android.os.IBinder getBinder();
8565    method @NonNull public android.location.provider.ProviderProperties getProperties();
8566    method public boolean isAllowed();
8567    method public abstract void onFlush(@NonNull android.location.provider.LocationProviderBase.OnFlushCompleteCallback);
8568    method public abstract void onSendExtraCommand(@NonNull String, @Nullable android.os.Bundle);
8569    method public abstract void onSetRequest(@NonNull android.location.provider.ProviderRequest);
8570    method public void reportLocation(@NonNull android.location.Location);
8571    method public void reportLocations(@NonNull java.util.List<android.location.Location>);
8572    method public void setAllowed(boolean);
8573    method public void setProperties(@NonNull android.location.provider.ProviderProperties);
8574    field public static final String ACTION_FUSED_PROVIDER = "com.android.location.service.FusedLocationProvider";
8575    field public static final String ACTION_GNSS_PROVIDER = "android.location.provider.action.GNSS_PROVIDER";
8576    field public static final String ACTION_NETWORK_PROVIDER = "com.android.location.service.v3.NetworkLocationProvider";
8577  }
8578
8579  public static interface LocationProviderBase.OnFlushCompleteCallback {
8580    method public void onFlushComplete();
8581  }
8582
8583  public final class ProviderRequest implements android.os.Parcelable {
8584    method public int describeContents();
8585    method @IntRange(from=0) public long getIntervalMillis();
8586    method @IntRange(from=0) public long getMaxUpdateDelayMillis();
8587    method public int getQuality();
8588    method @NonNull public android.os.WorkSource getWorkSource();
8589    method public boolean isActive();
8590    method public boolean isLocationSettingsIgnored();
8591    method public boolean isLowPower();
8592    method public void writeToParcel(@NonNull android.os.Parcel, int);
8593    field @NonNull public static final android.os.Parcelable.Creator<android.location.provider.ProviderRequest> CREATOR;
8594    field @NonNull public static final android.location.provider.ProviderRequest EMPTY_REQUEST;
8595    field public static final long INTERVAL_DISABLED = 9223372036854775807L; // 0x7fffffffffffffffL
8596  }
8597
8598  public static final class ProviderRequest.Builder {
8599    ctor public ProviderRequest.Builder();
8600    method @NonNull public android.location.provider.ProviderRequest build();
8601    method @NonNull public android.location.provider.ProviderRequest.Builder setIntervalMillis(@IntRange(from=0) long);
8602    method @NonNull public android.location.provider.ProviderRequest.Builder setLocationSettingsIgnored(boolean);
8603    method @NonNull public android.location.provider.ProviderRequest.Builder setLowPower(boolean);
8604    method @NonNull public android.location.provider.ProviderRequest.Builder setMaxUpdateDelayMillis(@IntRange(from=0) long);
8605    method @NonNull public android.location.provider.ProviderRequest.Builder setQuality(int);
8606    method @NonNull public android.location.provider.ProviderRequest.Builder setWorkSource(@NonNull android.os.WorkSource);
8607  }
8608
8609  public static interface ProviderRequest.ChangedListener {
8610    method public void onProviderRequestChanged(@NonNull String, @NonNull android.location.provider.ProviderRequest);
8611  }
8612
8613}
8614
8615package android.media {
8616
8617  public final class AudioAttributes implements android.os.Parcelable {
8618    method public int getAllFlags();
8619    method public android.os.Bundle getBundle();
8620    method public int getCapturePreset();
8621    method public int getSystemUsage();
8622    method public static boolean isSystemUsage(int);
8623    field @RequiresPermission(android.Manifest.permission.ACCESS_ULTRASOUND) public static final int CONTENT_TYPE_ULTRASOUND = 1997; // 0x7cd
8624    field public static final int FLAG_BEACON = 8; // 0x8
8625    field public static final int FLAG_BYPASS_INTERRUPTION_POLICY = 64; // 0x40
8626    field public static final int FLAG_BYPASS_MUTE = 128; // 0x80
8627    field public static final int FLAG_HW_HOTWORD = 32; // 0x20
8628    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_ANNOUNCEMENT = 1003; // 0x3eb
8629    field @RequiresPermission(allOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public static final int USAGE_CALL_ASSISTANT = 17; // 0x11
8630    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_EMERGENCY = 1000; // 0x3e8
8631    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_SAFETY = 1001; // 0x3e9
8632    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_VEHICLE_STATUS = 1002; // 0x3ea
8633  }
8634
8635  public static class AudioAttributes.Builder {
8636    method public android.media.AudioAttributes.Builder addBundle(@NonNull android.os.Bundle);
8637    method public android.media.AudioAttributes.Builder setCapturePreset(int);
8638    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioAttributes.Builder setHotwordModeEnabled(boolean);
8639    method public android.media.AudioAttributes.Builder setInternalCapturePreset(int);
8640    method @NonNull public android.media.AudioAttributes.Builder setInternalContentType(int);
8641    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioAttributes.Builder setSystemUsage(int);
8642  }
8643
8644  public class AudioDescriptor implements android.os.Parcelable {
8645    ctor public AudioDescriptor(int, int, @NonNull byte[]);
8646  }
8647
8648  public final class AudioDeviceAttributes implements android.os.Parcelable {
8649    ctor public AudioDeviceAttributes(@NonNull android.media.AudioDeviceInfo);
8650    ctor public AudioDeviceAttributes(int, int, @NonNull String);
8651    ctor public AudioDeviceAttributes(int, int, @NonNull String, @NonNull String, @NonNull java.util.List<android.media.AudioProfile>, @NonNull java.util.List<android.media.AudioDescriptor>);
8652    method public int describeContents();
8653    method public boolean equalTypeAddress(@Nullable Object);
8654    method @NonNull public String getAddress();
8655    method @NonNull public java.util.List<android.media.AudioDescriptor> getAudioDescriptors();
8656    method @NonNull public java.util.List<android.media.AudioProfile> getAudioProfiles();
8657    method @NonNull public String getName();
8658    method public int getRole();
8659    method public int getType();
8660    method public void writeToParcel(@NonNull android.os.Parcel, int);
8661    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioDeviceAttributes> CREATOR;
8662    field public static final int ROLE_INPUT = 1; // 0x1
8663    field public static final int ROLE_OUTPUT = 2; // 0x2
8664  }
8665
8666  public class AudioDeviceVolumeManager {
8667    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);
8668    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);
8669  }
8670
8671  public final class AudioFocusInfo implements android.os.Parcelable {
8672    method public int describeContents();
8673    method @NonNull public android.media.AudioAttributes getAttributes();
8674    method @NonNull public String getClientId();
8675    method public int getClientUid();
8676    method public int getFlags();
8677    method public int getGainRequest();
8678    method public int getLossReceived();
8679    method @NonNull public String getPackageName();
8680    method public void writeToParcel(android.os.Parcel, int);
8681    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioFocusInfo> CREATOR;
8682  }
8683
8684  public final class AudioFocusRequest {
8685    method public boolean locksFocus();
8686  }
8687
8688  public static final class AudioFocusRequest.Builder {
8689    method @NonNull public android.media.AudioFocusRequest.Builder setLocksFocus(boolean);
8690  }
8691
8692  public class AudioManager {
8693    method @Deprecated public int abandonAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes);
8694    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void addAssistantServicesUids(@NonNull int[]);
8695    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);
8696    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;
8697    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;
8698    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;
8699    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;
8700    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void addOnStreamAliasingChangedListener(@NonNull java.util.concurrent.Executor, @NonNull Runnable);
8701    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void cancelMuteAwaitConnection(@NonNull android.media.AudioDeviceAttributes) throws java.lang.IllegalStateException;
8702    method public void clearAudioServerStateCallback();
8703    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean clearPreferredDevicesForCapturePreset(int);
8704    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int dispatchAudioFocusChange(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy);
8705    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int[] getActiveAssistantServicesUids();
8706    method @IntRange(from=0) public long getAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo);
8707    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int[] getAssistantServicesUids();
8708    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static java.util.List<android.media.audiopolicy.AudioProductStrategy> getAudioProductStrategies();
8709    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static java.util.List<android.media.audiopolicy.AudioVolumeGroup> getAudioVolumeGroups();
8710    method @NonNull @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public android.media.AudioRecord getCallDownlinkExtractionAudioRecord(@NonNull android.media.AudioFormat);
8711    method @NonNull @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public android.media.AudioTrack getCallUplinkInjectionAudioTrack(@NonNull android.media.AudioFormat);
8712    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);
8713    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);
8714    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public java.util.List<java.lang.Integer> getIndependentStreamTypes();
8715    method @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public int getLastAudibleStreamVolume(int);
8716    method @IntRange(from=0) @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public int getLastAudibleVolumeForVolumeGroup(int);
8717    method @IntRange(from=0) public long getMaxAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo);
8718    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMaxVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
8719    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMinVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
8720    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioDeviceAttributes getMutingExpectedDevice();
8721    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceAttributes> getNonDefaultDevicesForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
8722    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioDeviceAttributes getPreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
8723    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceAttributes> getPreferredDevicesForCapturePreset(int);
8724    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceAttributes> getPreferredDevicesForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
8725    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public int getStreamTypeAlias(int);
8726    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int[] getSupportedSystemUsages();
8727    method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public int getVolumeGroupMaxVolumeIndex(int);
8728    method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public int getVolumeGroupMinVolumeIndex(int);
8729    method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public int getVolumeGroupVolumeIndex(int);
8730    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
8731    method public boolean isAudioServerRunning();
8732    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean isBluetoothVariableLatencyEnabled();
8733    method public boolean isHdmiSystemAudioSupported();
8734    method @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public boolean isHotwordStreamSupported(boolean);
8735    method @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public boolean isPstnCallAudioInterceptable();
8736    method @RequiresPermission(android.Manifest.permission.ACCESS_ULTRASOUND) public boolean isUltrasoundSupported();
8737    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;
8738    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int registerAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy);
8739    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void registerMuteAwaitConnectionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.MuteAwaitConnectionCallback);
8740    method public void registerVolumeGroupCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.VolumeGroupCallback);
8741    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeAssistantServicesUids(@NonNull int[]);
8742    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean removeDeviceAsNonDefaultForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull android.media.AudioDeviceAttributes);
8743    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, "android.permission.QUERY_AUDIO_STATE"}) public void removeOnDevicesForAttributesChangedListener(@NonNull android.media.AudioManager.OnDevicesForAttributesChangedListener);
8744    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnNonDefaultDevicesForStrategyChangedListener(@NonNull android.media.AudioManager.OnNonDefaultDevicesForStrategyChangedListener);
8745    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDeviceForStrategyChangedListener(@NonNull android.media.AudioManager.OnPreferredDeviceForStrategyChangedListener);
8746    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDevicesForCapturePresetChangedListener(@NonNull android.media.AudioManager.OnPreferredDevicesForCapturePresetChangedListener);
8747    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDevicesForStrategyChangedListener(@NonNull android.media.AudioManager.OnPreferredDevicesForStrategyChangedListener);
8748    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void removeOnStreamAliasingChangedListener(@NonNull Runnable);
8749    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean removePreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
8750    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;
8751    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;
8752    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int requestAudioFocus(@NonNull android.media.AudioFocusRequest, @Nullable android.media.audiopolicy.AudioPolicy);
8753    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setActiveAssistantServiceUids(@NonNull int[]);
8754    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo, @IntRange(from=0) long);
8755    method public void setAudioServerStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.AudioServerStateCallback);
8756    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setBluetoothVariableLatencyEnabled(boolean);
8757    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setDeviceAsNonDefaultForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull android.media.AudioDeviceAttributes);
8758    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED}) public void setDeviceVolumeBehavior(@NonNull android.media.AudioDeviceAttributes, int);
8759    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setFocusRequestResult(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy);
8760    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDeviceForCapturePreset(int, @NonNull android.media.AudioDeviceAttributes);
8761    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull android.media.AudioDeviceAttributes);
8762    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDevicesForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
8763    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setSupportedSystemUsages(@NonNull int[]);
8764    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public void setVolumeGroupVolumeIndex(int, int, int);
8765    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setVolumeIndexForAttributes(@NonNull android.media.AudioAttributes, int, int);
8766    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean supportsBluetoothVariableLatency();
8767    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy);
8768    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterAudioPolicyAsync(@NonNull android.media.audiopolicy.AudioPolicy);
8769    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterMuteAwaitConnectionCallback(@NonNull android.media.AudioManager.MuteAwaitConnectionCallback);
8770    method public void unregisterVolumeGroupCallback(@NonNull android.media.AudioManager.VolumeGroupCallback);
8771    field public static final String ACTION_VOLUME_CHANGED = "android.media.VOLUME_CHANGED_ACTION";
8772    field public static final int AUDIOFOCUS_FLAG_DELAY_OK = 1; // 0x1
8773    field public static final int AUDIOFOCUS_FLAG_LOCK = 4; // 0x4
8774    field public static final int AUDIOFOCUS_FLAG_PAUSES_ON_DUCKABLE_LOSS = 2; // 0x2
8775    field public static final int DEVICE_VOLUME_BEHAVIOR_ABSOLUTE = 3; // 0x3
8776    field public static final int DEVICE_VOLUME_BEHAVIOR_ABSOLUTE_ADJUST_ONLY = 5; // 0x5
8777    field public static final int DEVICE_VOLUME_BEHAVIOR_ABSOLUTE_MULTI_MODE = 4; // 0x4
8778    field public static final int DEVICE_VOLUME_BEHAVIOR_FIXED = 2; // 0x2
8779    field public static final int DEVICE_VOLUME_BEHAVIOR_FULL = 1; // 0x1
8780    field public static final int DEVICE_VOLUME_BEHAVIOR_VARIABLE = 0; // 0x0
8781    field public static final String EXTRA_VOLUME_STREAM_TYPE = "android.media.EXTRA_VOLUME_STREAM_TYPE";
8782    field public static final String EXTRA_VOLUME_STREAM_VALUE = "android.media.EXTRA_VOLUME_STREAM_VALUE";
8783    field public static final int FLAG_BLUETOOTH_ABS_VOLUME = 64; // 0x40
8784    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int STREAM_ASSISTANT = 11; // 0xb
8785    field public static final int STREAM_BLUETOOTH_SCO = 6; // 0x6
8786    field public static final int SUCCESS = 0; // 0x0
8787  }
8788
8789  public abstract static class AudioManager.AudioServerStateCallback {
8790    ctor public AudioManager.AudioServerStateCallback();
8791    method public void onAudioServerDown();
8792    method public void onAudioServerUp();
8793  }
8794
8795  public abstract static class AudioManager.MuteAwaitConnectionCallback {
8796    ctor public AudioManager.MuteAwaitConnectionCallback();
8797    method public void onMutedUntilConnection(@NonNull android.media.AudioDeviceAttributes, @NonNull int[]);
8798    method public void onUnmutedEvent(int, @NonNull android.media.AudioDeviceAttributes, @NonNull int[]);
8799    field public static final int EVENT_CANCEL = 3; // 0x3
8800    field public static final int EVENT_CONNECTION = 1; // 0x1
8801    field public static final int EVENT_TIMEOUT = 2; // 0x2
8802  }
8803
8804  public static interface AudioManager.OnDevicesForAttributesChangedListener {
8805    method public void onDevicesForAttributesChanged(@NonNull android.media.AudioAttributes, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
8806  }
8807
8808  public static interface AudioManager.OnNonDefaultDevicesForStrategyChangedListener {
8809    method public void onNonDefaultDevicesForStrategyChanged(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
8810  }
8811
8812  @Deprecated public static interface AudioManager.OnPreferredDeviceForStrategyChangedListener {
8813    method @Deprecated public void onPreferredDeviceForStrategyChanged(@NonNull android.media.audiopolicy.AudioProductStrategy, @Nullable android.media.AudioDeviceAttributes);
8814  }
8815
8816  public static interface AudioManager.OnPreferredDevicesForCapturePresetChangedListener {
8817    method public void onPreferredDevicesForCapturePresetChanged(int, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
8818  }
8819
8820  public static interface AudioManager.OnPreferredDevicesForStrategyChangedListener {
8821    method public void onPreferredDevicesForStrategyChanged(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
8822  }
8823
8824  public abstract static class AudioManager.VolumeGroupCallback {
8825    ctor public AudioManager.VolumeGroupCallback();
8826    method public void onAudioVolumeGroupChanged(int, int);
8827  }
8828
8829  public final class AudioPlaybackConfiguration implements android.os.Parcelable {
8830    method public int getChannelMask();
8831    method public int getClientPid();
8832    method public int getClientUid();
8833    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMutedBy();
8834    method public int getPlayerInterfaceId();
8835    method public android.media.PlayerProxy getPlayerProxy();
8836    method public int getPlayerState();
8837    method public int getPlayerType();
8838    method @IntRange(from=0) public int getSampleRate();
8839    method @IntRange(from=0) public int getSessionId();
8840    method public boolean isActive();
8841    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean isMuted();
8842    method public boolean isSpatialized();
8843    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_APP_OPS = 8; // 0x8
8844    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_CLIENT_VOLUME = 16; // 0x10
8845    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_MASTER = 1; // 0x1
8846    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_STREAM_MUTED = 4; // 0x4
8847    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_STREAM_VOLUME = 2; // 0x2
8848    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_VOLUME_SHAPER = 32; // 0x20
8849    field public static final int PLAYER_STATE_IDLE = 1; // 0x1
8850    field public static final int PLAYER_STATE_PAUSED = 3; // 0x3
8851    field public static final int PLAYER_STATE_RELEASED = 0; // 0x0
8852    field public static final int PLAYER_STATE_STARTED = 2; // 0x2
8853    field public static final int PLAYER_STATE_STOPPED = 4; // 0x4
8854    field public static final int PLAYER_STATE_UNKNOWN = -1; // 0xffffffff
8855    field public static final int PLAYER_TYPE_AAUDIO = 13; // 0xd
8856    field public static final int PLAYER_TYPE_JAM_AUDIOTRACK = 1; // 0x1
8857    field public static final int PLAYER_TYPE_JAM_MEDIAPLAYER = 2; // 0x2
8858    field public static final int PLAYER_TYPE_JAM_SOUNDPOOL = 3; // 0x3
8859    field public static final int PLAYER_TYPE_SLES_AUDIOPLAYER_BUFFERQUEUE = 11; // 0xb
8860    field public static final int PLAYER_TYPE_SLES_AUDIOPLAYER_URI_FD = 12; // 0xc
8861    field public static final int PLAYER_TYPE_UNKNOWN = -1; // 0xffffffff
8862  }
8863
8864  public class AudioProfile implements android.os.Parcelable {
8865    ctor public AudioProfile(int, @NonNull int[], @NonNull int[], @NonNull int[], int);
8866  }
8867
8868  public class AudioRecord implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection {
8869    ctor @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public AudioRecord(android.media.AudioAttributes, android.media.AudioFormat, int, int) throws java.lang.IllegalArgumentException;
8870    method public static long getMaxSharedAudioHistoryMillis();
8871    method public boolean isHotwordLookbackStream();
8872    method public boolean isHotwordStream();
8873    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.MediaSyncEvent shareAudioHistory(@NonNull String, @IntRange(from=0) long);
8874  }
8875
8876  public static class AudioRecord.Builder {
8877    method public android.media.AudioRecord.Builder setAudioAttributes(@NonNull android.media.AudioAttributes) throws java.lang.IllegalArgumentException;
8878    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioRecord.Builder setMaxSharedAudioHistoryMillis(long) throws java.lang.IllegalArgumentException;
8879    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioRecord.Builder setRequestHotwordLookbackStream(boolean);
8880    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioRecord.Builder setRequestHotwordStream(boolean);
8881    method public android.media.AudioRecord.Builder setSessionId(int) throws java.lang.IllegalArgumentException;
8882    method @NonNull public android.media.AudioRecord.Builder setSharedAudioEvent(@NonNull android.media.MediaSyncEvent) throws java.lang.IllegalArgumentException;
8883  }
8884
8885  public final class AudioRecordingConfiguration implements android.os.Parcelable {
8886    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getClientUid();
8887  }
8888
8889  public class AudioTrack implements android.media.AudioRouting android.media.VolumeAutomation {
8890    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int ENCAPSULATION_MODE_HANDLE = 2; // 0x2
8891  }
8892
8893  public static class AudioTrack.Builder {
8894    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioTrack.Builder setTunerConfiguration(@NonNull android.media.AudioTrack.TunerConfiguration);
8895  }
8896
8897  public static class AudioTrack.TunerConfiguration {
8898    ctor @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public AudioTrack.TunerConfiguration(@IntRange(from=0) int, @IntRange(from=1) int);
8899    method @IntRange(from=1) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getContentId();
8900    method @IntRange(from=1) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getSyncId();
8901    field public static final int CONTENT_ID_NONE = 0; // 0x0
8902  }
8903
8904  public class HwAudioSource {
8905    method public boolean isPlaying();
8906    method public void start();
8907    method public void stop();
8908  }
8909
8910  public static final class HwAudioSource.Builder {
8911    ctor public HwAudioSource.Builder();
8912    method @NonNull public android.media.HwAudioSource build();
8913    method @NonNull public android.media.HwAudioSource.Builder setAudioAttributes(@NonNull android.media.AudioAttributes);
8914    method @NonNull public android.media.HwAudioSource.Builder setAudioDeviceInfo(@NonNull android.media.AudioDeviceInfo);
8915  }
8916
8917  public final class MediaCodec {
8918    method @NonNull @RequiresPermission(android.Manifest.permission.MEDIA_RESOURCE_OVERRIDE_PID) public static android.media.MediaCodec createByCodecNameForClient(@NonNull String, int, int) throws java.io.IOException;
8919  }
8920
8921  public class MediaPlayer implements android.media.AudioRouting android.media.VolumeAutomation {
8922    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);
8923  }
8924
8925  public static interface MediaPlayer.OnRtpRxNoticeListener {
8926    method public void onRtpRxNotice(@NonNull android.media.MediaPlayer, int, @NonNull int[]);
8927  }
8928
8929  public final class MediaRecorder.AudioSource {
8930    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int ECHO_REFERENCE = 1997; // 0x7cd
8931    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public static final int HOTWORD = 1999; // 0x7cf
8932    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int RADIO_TUNER = 1998; // 0x7ce
8933    field @RequiresPermission(android.Manifest.permission.ACCESS_ULTRASOUND) public static final int ULTRASOUND = 2000; // 0x7d0
8934  }
8935
8936  public final class MediaRouter2 {
8937    method @NonNull public java.util.List<android.media.MediaRoute2Info> getAllRoutes();
8938    method @Nullable public String getClientPackageName();
8939    method @Nullable @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public static android.media.MediaRouter2 getInstance(@NonNull android.content.Context, @NonNull String);
8940    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void setRouteVolume(@NonNull android.media.MediaRoute2Info, int);
8941    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void startScan();
8942    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void stopScan();
8943    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void transfer(@NonNull android.media.MediaRouter2.RoutingController, @NonNull android.media.MediaRoute2Info);
8944  }
8945
8946  public abstract static class MediaRouter2.RouteCallback {
8947    method public void onPreferredFeaturesChanged(@NonNull java.util.List<java.lang.String>);
8948  }
8949
8950  public class MediaSyncEvent implements android.os.Parcelable {
8951    field public static final int SYNC_EVENT_SHARE_AUDIO_HISTORY = 100; // 0x64
8952  }
8953
8954  public final class MediaTranscodingManager {
8955    method @Nullable public android.media.MediaTranscodingManager.TranscodingSession enqueueRequest(@NonNull android.media.MediaTranscodingManager.TranscodingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.media.MediaTranscodingManager.OnTranscodingFinishedListener);
8956  }
8957
8958  @java.lang.FunctionalInterface public static interface MediaTranscodingManager.OnTranscodingFinishedListener {
8959    method public void onTranscodingFinished(@NonNull android.media.MediaTranscodingManager.TranscodingSession);
8960  }
8961
8962  public abstract static class MediaTranscodingManager.TranscodingRequest {
8963    method public int getClientPid();
8964    method public int getClientUid();
8965    method @Nullable public android.os.ParcelFileDescriptor getDestinationFileDescriptor();
8966    method @NonNull public android.net.Uri getDestinationUri();
8967    method @Nullable public android.os.ParcelFileDescriptor getSourceFileDescriptor();
8968    method @NonNull public android.net.Uri getSourceUri();
8969  }
8970
8971  public static class MediaTranscodingManager.TranscodingRequest.VideoFormatResolver {
8972    ctor public MediaTranscodingManager.TranscodingRequest.VideoFormatResolver(@NonNull android.media.ApplicationMediaCapabilities, @NonNull android.media.MediaFormat);
8973    method @Nullable public android.media.MediaFormat resolveVideoFormat();
8974    method public boolean shouldTranscode();
8975  }
8976
8977  public static final class MediaTranscodingManager.TranscodingSession {
8978    method public boolean addClientUid(int);
8979    method public void cancel();
8980    method public void clearOnProgressUpdateListener();
8981    method @NonNull public java.util.List<java.lang.Integer> getClientUids();
8982    method public int getErrorCode();
8983    method @IntRange(from=0, to=100) public int getProgress();
8984    method public int getResult();
8985    method public int getSessionId();
8986    method public int getStatus();
8987    method public void setOnProgressUpdateListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaTranscodingManager.TranscodingSession.OnProgressUpdateListener);
8988    field public static final int ERROR_DROPPED_BY_SERVICE = 1; // 0x1
8989    field public static final int ERROR_NONE = 0; // 0x0
8990    field public static final int ERROR_SERVICE_DIED = 2; // 0x2
8991    field public static final int RESULT_CANCELED = 4; // 0x4
8992    field public static final int RESULT_ERROR = 3; // 0x3
8993    field public static final int RESULT_NONE = 1; // 0x1
8994    field public static final int RESULT_SUCCESS = 2; // 0x2
8995    field public static final int STATUS_FINISHED = 3; // 0x3
8996    field public static final int STATUS_PAUSED = 4; // 0x4
8997    field public static final int STATUS_PENDING = 1; // 0x1
8998    field public static final int STATUS_RUNNING = 2; // 0x2
8999  }
9000
9001  @java.lang.FunctionalInterface public static interface MediaTranscodingManager.TranscodingSession.OnProgressUpdateListener {
9002    method public void onProgressUpdate(@NonNull android.media.MediaTranscodingManager.TranscodingSession, @IntRange(from=0, to=100) int);
9003  }
9004
9005  public static final class MediaTranscodingManager.VideoTranscodingRequest extends android.media.MediaTranscodingManager.TranscodingRequest {
9006    method @NonNull public android.media.MediaFormat getVideoTrackFormat();
9007  }
9008
9009  public static final class MediaTranscodingManager.VideoTranscodingRequest.Builder {
9010    ctor public MediaTranscodingManager.VideoTranscodingRequest.Builder(@NonNull android.net.Uri, @NonNull android.net.Uri, @NonNull android.media.MediaFormat);
9011    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest build();
9012    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setClientPid(int);
9013    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setClientUid(int);
9014    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setDestinationFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
9015    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setSourceFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
9016  }
9017
9018  public final class NearbyDevice implements android.os.Parcelable {
9019    ctor public NearbyDevice(@NonNull String, int);
9020    method public int describeContents();
9021    method @NonNull public String getMediaRoute2Id();
9022    method public int getRangeZone();
9023    method public void writeToParcel(@NonNull android.os.Parcel, int);
9024    field @NonNull public static final android.os.Parcelable.Creator<android.media.NearbyDevice> CREATOR;
9025    field public static final int RANGE_CLOSE = 3; // 0x3
9026    field public static final int RANGE_FAR = 1; // 0x1
9027    field public static final int RANGE_LONG = 2; // 0x2
9028    field public static final int RANGE_UNKNOWN = 0; // 0x0
9029    field public static final int RANGE_WITHIN_REACH = 4; // 0x4
9030  }
9031
9032  public interface NearbyMediaDevicesProvider {
9033    method public void registerNearbyDevicesCallback(@NonNull java.util.function.Consumer<java.util.List<android.media.NearbyDevice>>);
9034    method public void unregisterNearbyDevicesCallback(@NonNull java.util.function.Consumer<java.util.List<android.media.NearbyDevice>>);
9035  }
9036
9037  public class PlayerProxy {
9038    method public void pause();
9039    method public void setPan(float);
9040    method public void setStartDelayMs(int);
9041    method public void setVolume(float);
9042    method public void start();
9043    method public void stop();
9044  }
9045
9046  public class RingtoneManager {
9047    method @RequiresPermission(android.Manifest.permission.WRITE_SETTINGS) public static void ensureDefaultRingtones(@NonNull android.content.Context);
9048  }
9049
9050  public final class RouteDiscoveryPreference implements android.os.Parcelable {
9051    field public static final android.media.RouteDiscoveryPreference EMPTY;
9052  }
9053
9054  public class Spatializer {
9055    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void addCompatibleAudioDevice(@NonNull android.media.AudioDeviceAttributes);
9056    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void addOnHeadTrackingModeChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnHeadTrackingModeChangedListener);
9057    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void clearOnHeadToSoundstagePoseUpdatedListener();
9058    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void clearOnSpatializerOutputChangedListener();
9059    method @NonNull @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public java.util.List<android.media.AudioDeviceAttributes> getCompatibleAudioDevices();
9060    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getDesiredHeadTrackingMode();
9061    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void getEffectParameter(int, @NonNull byte[]);
9062    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getHeadTrackingMode();
9063    method @IntRange(from=0) @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getOutput();
9064    method @NonNull @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public java.util.List<java.lang.Integer> getSupportedHeadTrackingModes();
9065    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public boolean hasHeadTracker(@NonNull android.media.AudioDeviceAttributes);
9066    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public boolean isAvailableForDevice(@NonNull android.media.AudioDeviceAttributes);
9067    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public boolean isHeadTrackerEnabled(@NonNull android.media.AudioDeviceAttributes);
9068    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void recenterHeadTracker();
9069    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void removeCompatibleAudioDevice(@NonNull android.media.AudioDeviceAttributes);
9070    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void removeOnHeadTrackingModeChangedListener(@NonNull android.media.Spatializer.OnHeadTrackingModeChangedListener);
9071    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setDesiredHeadTrackingMode(int);
9072    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setEffectParameter(int, @NonNull byte[]);
9073    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setEnabled(boolean);
9074    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setGlobalTransform(@NonNull float[]);
9075    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setHeadTrackerEnabled(boolean, @NonNull android.media.AudioDeviceAttributes);
9076    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setOnHeadToSoundstagePoseUpdatedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnHeadToSoundstagePoseUpdatedListener);
9077    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setOnSpatializerOutputChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnSpatializerOutputChangedListener);
9078    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_DISABLED = -1; // 0xffffffff
9079    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_OTHER = 0; // 0x0
9080    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_RELATIVE_DEVICE = 2; // 0x2
9081    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_RELATIVE_WORLD = 1; // 0x1
9082    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_UNSUPPORTED = -2; // 0xfffffffe
9083  }
9084
9085  public static interface Spatializer.OnHeadToSoundstagePoseUpdatedListener {
9086    method public void onHeadToSoundstagePoseUpdated(@NonNull android.media.Spatializer, @NonNull float[]);
9087  }
9088
9089  public static interface Spatializer.OnHeadTrackingModeChangedListener {
9090    method public void onDesiredHeadTrackingModeChanged(@NonNull android.media.Spatializer, int);
9091    method public void onHeadTrackingModeChanged(@NonNull android.media.Spatializer, int);
9092  }
9093
9094  public static interface Spatializer.OnSpatializerOutputChangedListener {
9095    method public void onSpatializerOutputChanged(@NonNull android.media.Spatializer, @IntRange(from=0) int);
9096  }
9097
9098  public final class VolumeInfo implements android.os.Parcelable {
9099    method public int describeContents();
9100    method @NonNull public static android.media.VolumeInfo getDefaultVolumeInfo();
9101    method public int getMaxVolumeIndex();
9102    method public int getMinVolumeIndex();
9103    method public int getStreamType();
9104    method @NonNull public android.media.audiopolicy.AudioVolumeGroup getVolumeGroup();
9105    method public int getVolumeIndex();
9106    method public boolean hasMuteCommand();
9107    method public boolean hasStreamType();
9108    method public boolean hasVolumeGroup();
9109    method public boolean isMuted();
9110    method public void writeToParcel(@NonNull android.os.Parcel, int);
9111    field @NonNull public static final android.os.Parcelable.Creator<android.media.VolumeInfo> CREATOR;
9112    field public static final int INDEX_NOT_SET = -100; // 0xffffff9c
9113  }
9114
9115  public static final class VolumeInfo.Builder {
9116    ctor public VolumeInfo.Builder(int);
9117    ctor public VolumeInfo.Builder(@NonNull android.media.audiopolicy.AudioVolumeGroup);
9118    ctor public VolumeInfo.Builder(@NonNull android.media.VolumeInfo);
9119    method @NonNull public android.media.VolumeInfo build();
9120    method @NonNull public android.media.VolumeInfo.Builder setMaxVolumeIndex(int);
9121    method @NonNull public android.media.VolumeInfo.Builder setMinVolumeIndex(int);
9122    method @NonNull public android.media.VolumeInfo.Builder setMuted(boolean);
9123    method @NonNull public android.media.VolumeInfo.Builder setVolumeIndex(int);
9124  }
9125
9126}
9127
9128package android.media.audiofx {
9129
9130  public class AudioEffect {
9131    ctor @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public AudioEffect(@NonNull java.util.UUID, @NonNull android.media.AudioDeviceAttributes);
9132    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static boolean isEffectSupportedForDevice(@NonNull java.util.UUID, @NonNull android.media.AudioDeviceAttributes);
9133  }
9134
9135}
9136
9137package android.media.audiopolicy {
9138
9139  public class AudioMix {
9140    method public int getMixState();
9141    field public static final int MIX_STATE_DISABLED = -1; // 0xffffffff
9142    field public static final int MIX_STATE_IDLE = 0; // 0x0
9143    field public static final int MIX_STATE_MIXING = 1; // 0x1
9144    field public static final int ROUTE_FLAG_LOOP_BACK = 2; // 0x2
9145    field public static final int ROUTE_FLAG_RENDER = 1; // 0x1
9146  }
9147
9148  public static class AudioMix.Builder {
9149    ctor public AudioMix.Builder(android.media.audiopolicy.AudioMixingRule) throws java.lang.IllegalArgumentException;
9150    method public android.media.audiopolicy.AudioMix build() throws java.lang.IllegalArgumentException;
9151    method public android.media.audiopolicy.AudioMix.Builder setDevice(@NonNull android.media.AudioDeviceInfo) throws java.lang.IllegalArgumentException;
9152    method public android.media.audiopolicy.AudioMix.Builder setFormat(android.media.AudioFormat) throws java.lang.IllegalArgumentException;
9153    method public android.media.audiopolicy.AudioMix.Builder setRouteFlags(int) throws java.lang.IllegalArgumentException;
9154  }
9155
9156  public class AudioMixingRule {
9157    method public int getTargetMixRole();
9158    field public static final int MIX_ROLE_INJECTOR = 1; // 0x1
9159    field public static final int MIX_ROLE_PLAYERS = 0; // 0x0
9160    field public static final int RULE_MATCH_ATTRIBUTE_CAPTURE_PRESET = 2; // 0x2
9161    field public static final int RULE_MATCH_ATTRIBUTE_USAGE = 1; // 0x1
9162    field public static final int RULE_MATCH_AUDIO_SESSION_ID = 16; // 0x10
9163    field public static final int RULE_MATCH_UID = 4; // 0x4
9164    field public static final int RULE_MATCH_USERID = 8; // 0x8
9165  }
9166
9167  public static class AudioMixingRule.Builder {
9168    ctor public AudioMixingRule.Builder();
9169    method public android.media.audiopolicy.AudioMixingRule.Builder addMixRule(int, Object) throws java.lang.IllegalArgumentException;
9170    method public android.media.audiopolicy.AudioMixingRule.Builder addRule(android.media.AudioAttributes, int) throws java.lang.IllegalArgumentException;
9171    method @NonNull public android.media.audiopolicy.AudioMixingRule.Builder allowPrivilegedPlaybackCapture(boolean);
9172    method public android.media.audiopolicy.AudioMixingRule build();
9173    method public android.media.audiopolicy.AudioMixingRule.Builder excludeMixRule(int, Object) throws java.lang.IllegalArgumentException;
9174    method public android.media.audiopolicy.AudioMixingRule.Builder excludeRule(android.media.AudioAttributes, int) throws java.lang.IllegalArgumentException;
9175    method @NonNull public android.media.audiopolicy.AudioMixingRule.Builder setTargetMixRole(int);
9176  }
9177
9178  public class AudioPolicy {
9179    method public int attachMixes(@NonNull java.util.List<android.media.audiopolicy.AudioMix>);
9180    method public android.media.AudioRecord createAudioRecordSink(android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
9181    method public android.media.AudioTrack createAudioTrackSource(android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
9182    method public int detachMixes(@NonNull java.util.List<android.media.audiopolicy.AudioMix>);
9183    method public int getFocusDuckingBehavior();
9184    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioFocusInfo> getFocusStack();
9185    method public int getStatus();
9186    method public boolean removeUidDeviceAffinity(int);
9187    method public boolean removeUserIdDeviceAffinity(int);
9188    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean sendFocusLoss(@NonNull android.media.AudioFocusInfo) throws java.lang.IllegalStateException;
9189    method public int setFocusDuckingBehavior(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
9190    method public void setRegistration(String);
9191    method public boolean setUidDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>);
9192    method public boolean setUserIdDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>);
9193    method public String toLogFriendlyString();
9194    field public static final int FOCUS_POLICY_DUCKING_DEFAULT = 0; // 0x0
9195    field public static final int FOCUS_POLICY_DUCKING_IN_APP = 0; // 0x0
9196    field public static final int FOCUS_POLICY_DUCKING_IN_POLICY = 1; // 0x1
9197    field public static final int POLICY_STATUS_REGISTERED = 2; // 0x2
9198    field public static final int POLICY_STATUS_UNREGISTERED = 1; // 0x1
9199  }
9200
9201  public abstract static class AudioPolicy.AudioPolicyFocusListener {
9202    ctor public AudioPolicy.AudioPolicyFocusListener();
9203    method public void onAudioFocusAbandon(android.media.AudioFocusInfo);
9204    method public void onAudioFocusGrant(android.media.AudioFocusInfo, int);
9205    method public void onAudioFocusLoss(android.media.AudioFocusInfo, boolean);
9206    method public void onAudioFocusRequest(android.media.AudioFocusInfo, int);
9207  }
9208
9209  public abstract static class AudioPolicy.AudioPolicyStatusListener {
9210    ctor public AudioPolicy.AudioPolicyStatusListener();
9211    method public void onMixStateUpdate(android.media.audiopolicy.AudioMix);
9212    method public void onStatusChange();
9213  }
9214
9215  public abstract static class AudioPolicy.AudioPolicyVolumeCallback {
9216    ctor public AudioPolicy.AudioPolicyVolumeCallback();
9217    method public void onVolumeAdjustment(int);
9218  }
9219
9220  public static class AudioPolicy.Builder {
9221    ctor public AudioPolicy.Builder(android.content.Context);
9222    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder addMix(@NonNull android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
9223    method @NonNull public android.media.audiopolicy.AudioPolicy build();
9224    method public void setAudioPolicyFocusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyFocusListener);
9225    method public void setAudioPolicyStatusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyStatusListener);
9226    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setAudioPolicyVolumeCallback(@NonNull android.media.audiopolicy.AudioPolicy.AudioPolicyVolumeCallback);
9227    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setIsAudioFocusPolicy(boolean);
9228    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setLooper(@NonNull android.os.Looper) throws java.lang.IllegalArgumentException;
9229  }
9230
9231  public final class AudioProductStrategy implements android.os.Parcelable {
9232    method @NonNull public static android.media.audiopolicy.AudioProductStrategy createInvalidAudioProductStrategy(int);
9233    method public int describeContents();
9234    method @NonNull public android.media.AudioAttributes getAudioAttributes();
9235    method public int getId();
9236    method @NonNull public String getName();
9237    method public boolean supportsAudioAttributes(@NonNull android.media.AudioAttributes);
9238    method public void writeToParcel(@NonNull android.os.Parcel, int);
9239    field @NonNull public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioProductStrategy> CREATOR;
9240  }
9241
9242  public final class AudioVolumeGroup implements android.os.Parcelable {
9243    method public int describeContents();
9244    method @NonNull public java.util.List<android.media.AudioAttributes> getAudioAttributes();
9245    method public int getId();
9246    method @NonNull public int[] getLegacyStreamTypes();
9247    method @NonNull public String name();
9248    method public void writeToParcel(@NonNull android.os.Parcel, int);
9249    field public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioVolumeGroup> CREATOR;
9250    field public static final int DEFAULT_VOLUME_GROUP = -1; // 0xffffffff
9251  }
9252
9253}
9254
9255package android.media.musicrecognition {
9256
9257  public class MusicRecognitionManager {
9258    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);
9259    field public static final int RECOGNITION_FAILED_AUDIO_UNAVAILABLE = 7; // 0x7
9260    field public static final int RECOGNITION_FAILED_NOT_FOUND = 1; // 0x1
9261    field public static final int RECOGNITION_FAILED_NO_CONNECTIVITY = 2; // 0x2
9262    field public static final int RECOGNITION_FAILED_SERVICE_KILLED = 5; // 0x5
9263    field public static final int RECOGNITION_FAILED_SERVICE_UNAVAILABLE = 3; // 0x3
9264    field public static final int RECOGNITION_FAILED_TIMEOUT = 6; // 0x6
9265    field public static final int RECOGNITION_FAILED_UNKNOWN = -1; // 0xffffffff
9266  }
9267
9268  public static interface MusicRecognitionManager.RecognitionCallback {
9269    method public void onAudioStreamClosed();
9270    method public void onRecognitionFailed(@NonNull android.media.musicrecognition.RecognitionRequest, int);
9271    method public void onRecognitionSucceeded(@NonNull android.media.musicrecognition.RecognitionRequest, @NonNull android.media.MediaMetadata, @Nullable android.os.Bundle);
9272  }
9273
9274  public abstract class MusicRecognitionService extends android.app.Service {
9275    ctor public MusicRecognitionService();
9276    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
9277    method public abstract void onRecognize(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @NonNull android.media.musicrecognition.MusicRecognitionService.Callback);
9278  }
9279
9280  public static interface MusicRecognitionService.Callback {
9281    method public void onRecognitionFailed(int);
9282    method public void onRecognitionSucceeded(@NonNull android.media.MediaMetadata, @Nullable android.os.Bundle);
9283  }
9284
9285  public final class RecognitionRequest implements android.os.Parcelable {
9286    method public int describeContents();
9287    method @NonNull public android.media.AudioAttributes getAudioAttributes();
9288    method @NonNull public android.media.AudioFormat getAudioFormat();
9289    method public int getCaptureSession();
9290    method public int getIgnoreBeginningFrames();
9291    method public int getMaxAudioLengthSeconds();
9292    method public void writeToParcel(@NonNull android.os.Parcel, int);
9293    field @NonNull public static final android.os.Parcelable.Creator<android.media.musicrecognition.RecognitionRequest> CREATOR;
9294  }
9295
9296  public static final class RecognitionRequest.Builder {
9297    ctor public RecognitionRequest.Builder();
9298    method @NonNull public android.media.musicrecognition.RecognitionRequest build();
9299    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setAudioAttributes(@NonNull android.media.AudioAttributes);
9300    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setAudioFormat(@NonNull android.media.AudioFormat);
9301    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setCaptureSession(int);
9302    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setIgnoreBeginningFrames(int);
9303    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setMaxAudioLengthSeconds(int);
9304  }
9305
9306}
9307
9308package android.media.session {
9309
9310  public final class MediaSessionManager {
9311    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void addOnMediaKeyEventDispatchedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.session.MediaSessionManager.OnMediaKeyEventDispatchedListener);
9312    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void removeOnMediaKeyEventDispatchedListener(@NonNull android.media.session.MediaSessionManager.OnMediaKeyEventDispatchedListener);
9313    method @RequiresPermission(android.Manifest.permission.SET_MEDIA_KEY_LISTENER) public void setOnMediaKeyListener(android.media.session.MediaSessionManager.OnMediaKeyListener, @Nullable android.os.Handler);
9314    method @RequiresPermission(android.Manifest.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER) public void setOnVolumeKeyLongPressListener(android.media.session.MediaSessionManager.OnVolumeKeyLongPressListener, @Nullable android.os.Handler);
9315  }
9316
9317  public static interface MediaSessionManager.OnMediaKeyEventDispatchedListener {
9318    method public void onMediaKeyEventDispatched(@NonNull android.view.KeyEvent, @NonNull String, @Nullable android.media.session.MediaSession.Token);
9319  }
9320
9321  public static interface MediaSessionManager.OnMediaKeyListener {
9322    method public boolean onMediaKey(android.view.KeyEvent);
9323  }
9324
9325  public static interface MediaSessionManager.OnVolumeKeyLongPressListener {
9326    method public void onVolumeKeyLongPress(android.view.KeyEvent);
9327  }
9328
9329}
9330
9331package android.media.soundtrigger {
9332
9333  public abstract class SoundTriggerDetectionService extends android.app.Service {
9334    ctor public SoundTriggerDetectionService();
9335    method public final android.os.IBinder onBind(android.content.Intent);
9336    method @MainThread public void onConnected(@NonNull java.util.UUID, @Nullable android.os.Bundle);
9337    method @MainThread public void onDisconnected(@NonNull java.util.UUID, @Nullable android.os.Bundle);
9338    method @MainThread public void onError(@NonNull java.util.UUID, @Nullable android.os.Bundle, int, int);
9339    method @MainThread public void onGenericRecognitionEvent(@NonNull java.util.UUID, @Nullable android.os.Bundle, int, @NonNull android.hardware.soundtrigger.SoundTrigger.RecognitionEvent);
9340    method @MainThread public abstract void onStopOperation(@NonNull java.util.UUID, @Nullable android.os.Bundle, int);
9341    method public final void operationFinished(@Nullable java.util.UUID, int);
9342  }
9343
9344  @Deprecated public final class SoundTriggerDetector {
9345    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public boolean startRecognition(int);
9346    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public boolean stopRecognition();
9347    field @Deprecated public static final int RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS = 2; // 0x2
9348    field @Deprecated public static final int RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO = 1; // 0x1
9349    field @Deprecated public static final int RECOGNITION_FLAG_ENABLE_AUDIO_ECHO_CANCELLATION = 4; // 0x4
9350    field @Deprecated public static final int RECOGNITION_FLAG_ENABLE_AUDIO_NOISE_SUPPRESSION = 8; // 0x8
9351    field @Deprecated public static final int RECOGNITION_FLAG_RUN_IN_BATTERY_SAVER = 16; // 0x10
9352  }
9353
9354  @Deprecated public abstract static class SoundTriggerDetector.Callback {
9355    ctor @Deprecated public SoundTriggerDetector.Callback();
9356    method @Deprecated public abstract void onAvailabilityChanged(int);
9357    method @Deprecated public abstract void onDetected(@NonNull android.media.soundtrigger.SoundTriggerDetector.EventPayload);
9358    method @Deprecated public abstract void onError();
9359    method @Deprecated public abstract void onRecognitionPaused();
9360    method @Deprecated public abstract void onRecognitionResumed();
9361  }
9362
9363  @Deprecated public static class SoundTriggerDetector.EventPayload {
9364    method @Deprecated @Nullable public android.media.AudioFormat getCaptureAudioFormat();
9365    method @Deprecated @Nullable public byte[] getTriggerAudio();
9366  }
9367
9368  public final class SoundTriggerManager {
9369    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);
9370    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public void deleteModel(java.util.UUID);
9371    method public int getDetectionServiceOperationsTimeout();
9372    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.media.soundtrigger.SoundTriggerManager.Model getModel(java.util.UUID);
9373    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.hardware.soundtrigger.SoundTrigger.ModuleProperties getModuleProperties();
9374    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int getParameter(@NonNull java.util.UUID, int);
9375    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.hardware.soundtrigger.SoundTrigger.ModelParamRange queryParameter(@Nullable java.util.UUID, int);
9376    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int setParameter(@Nullable java.util.UUID, int, int);
9377    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public void updateModel(android.media.soundtrigger.SoundTriggerManager.Model);
9378  }
9379
9380  public static class SoundTriggerManager.Model {
9381    method @NonNull public static android.media.soundtrigger.SoundTriggerManager.Model create(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], int);
9382    method @NonNull public static android.media.soundtrigger.SoundTriggerManager.Model create(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[]);
9383    method @Nullable public byte[] getModelData();
9384    method @NonNull public java.util.UUID getModelUuid();
9385    method @NonNull public java.util.UUID getVendorUuid();
9386    method public int getVersion();
9387  }
9388
9389}
9390
9391package android.media.tv {
9392
9393  public final class DvbDeviceInfo implements android.os.Parcelable {
9394    ctor public DvbDeviceInfo(int, int);
9395    method public int describeContents();
9396    method @IntRange(from=0) public int getAdapterId();
9397    method @IntRange(from=0) public int getDeviceId();
9398    method public void writeToParcel(@NonNull android.os.Parcel, int);
9399    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.DvbDeviceInfo> CREATOR;
9400  }
9401
9402  public final class TunedInfo implements android.os.Parcelable {
9403    method public int describeContents();
9404    method public int getAppTag();
9405    method public int getAppType();
9406    method @Nullable public android.net.Uri getChannelUri();
9407    method @NonNull public String getInputId();
9408    method public boolean isMainSession();
9409    method public boolean isRecordingSession();
9410    method public boolean isVisible();
9411    method public void writeToParcel(@NonNull android.os.Parcel, int);
9412    field public static final int APP_TAG_SELF = 0; // 0x0
9413    field public static final int APP_TYPE_NON_SYSTEM = 3; // 0x3
9414    field public static final int APP_TYPE_SELF = 1; // 0x1
9415    field public static final int APP_TYPE_SYSTEM = 2; // 0x2
9416    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TunedInfo> CREATOR;
9417  }
9418
9419  public final class TvContentRatingSystemInfo implements android.os.Parcelable {
9420    method public static android.media.tv.TvContentRatingSystemInfo createTvContentRatingSystemInfo(int, android.content.pm.ApplicationInfo);
9421    method public int describeContents();
9422    method public android.net.Uri getXmlUri();
9423    method public boolean isSystemDefined();
9424    method public void writeToParcel(android.os.Parcel, int);
9425  }
9426
9427  public final class TvContract {
9428    method public static android.net.Uri buildChannelsUriForInput(@Nullable String, boolean);
9429    method public static android.net.Uri buildChannelsUriForInput(@Nullable String, @Nullable String, boolean);
9430    field public static final String ACTION_CHANNEL_BROWSABLE_REQUESTED = "android.media.tv.action.CHANNEL_BROWSABLE_REQUESTED";
9431    field public static final String EXTRA_BLOCKED_PACKAGES = "android.media.tv.extra.BLOCKED_PACKAGES";
9432    field public static final String EXTRA_COLUMN_NAME = "android.media.tv.extra.COLUMN_NAME";
9433    field public static final String EXTRA_DATA_TYPE = "android.media.tv.extra.DATA_TYPE";
9434    field public static final String EXTRA_DEFAULT_VALUE = "android.media.tv.extra.DEFAULT_VALUE";
9435    field public static final String EXTRA_EXISTING_COLUMN_NAMES = "android.media.tv.extra.EXISTING_COLUMN_NAMES";
9436    field public static final String EXTRA_PACKAGE_NAME = "android.media.tv.extra.PACKAGE_NAME";
9437    field public static final String EXTRA_RESULT_CODE = "android.media.tv.extra.RESULT_CODE";
9438    field public static final String METHOD_ADD_COLUMN = "add_column";
9439    field public static final String METHOD_BLOCK_PACKAGE = "block_package";
9440    field public static final String METHOD_GET_BLOCKED_PACKAGES = "get_blocked_packages";
9441    field public static final String METHOD_GET_COLUMNS = "get_columns";
9442    field public static final String METHOD_UNBLOCK_PACKAGE = "unblock_package";
9443    field public static final int RESULT_ERROR_INVALID_ARGUMENT = 2; // 0x2
9444    field public static final int RESULT_ERROR_IO = 1; // 0x1
9445    field public static final int RESULT_OK = 0; // 0x0
9446  }
9447
9448  public static final class TvContract.WatchedPrograms implements android.media.tv.TvContract.BaseTvColumns {
9449    field public static final String COLUMN_CHANNEL_ID = "channel_id";
9450    field public static final String COLUMN_DESCRIPTION = "description";
9451    field public static final String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis";
9452    field public static final String COLUMN_INTERNAL_SESSION_TOKEN = "session_token";
9453    field public static final String COLUMN_INTERNAL_TUNE_PARAMS = "tune_params";
9454    field public static final String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis";
9455    field public static final String COLUMN_TITLE = "title";
9456    field public static final String COLUMN_WATCH_END_TIME_UTC_MILLIS = "watch_end_time_utc_millis";
9457    field public static final String COLUMN_WATCH_START_TIME_UTC_MILLIS = "watch_start_time_utc_millis";
9458    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/watched_program";
9459    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/watched_program";
9460    field public static final android.net.Uri CONTENT_URI;
9461  }
9462
9463  public final class TvInputHardwareInfo implements android.os.Parcelable {
9464    method public int describeContents();
9465    method public String getAudioAddress();
9466    method public int getAudioType();
9467    method public int getCableConnectionStatus();
9468    method public int getDeviceId();
9469    method public int getHdmiPortId();
9470    method public int getType();
9471    method public void readFromParcel(android.os.Parcel);
9472    method public void writeToParcel(android.os.Parcel, int);
9473    field public static final int CABLE_CONNECTION_STATUS_CONNECTED = 1; // 0x1
9474    field public static final int CABLE_CONNECTION_STATUS_DISCONNECTED = 2; // 0x2
9475    field public static final int CABLE_CONNECTION_STATUS_UNKNOWN = 0; // 0x0
9476    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvInputHardwareInfo> CREATOR;
9477    field public static final int TV_INPUT_TYPE_COMPONENT = 6; // 0x6
9478    field public static final int TV_INPUT_TYPE_COMPOSITE = 3; // 0x3
9479    field public static final int TV_INPUT_TYPE_DISPLAY_PORT = 10; // 0xa
9480    field public static final int TV_INPUT_TYPE_DVI = 8; // 0x8
9481    field public static final int TV_INPUT_TYPE_HDMI = 9; // 0x9
9482    field public static final int TV_INPUT_TYPE_OTHER_HARDWARE = 1; // 0x1
9483    field public static final int TV_INPUT_TYPE_SCART = 5; // 0x5
9484    field public static final int TV_INPUT_TYPE_SVIDEO = 4; // 0x4
9485    field public static final int TV_INPUT_TYPE_TUNER = 2; // 0x2
9486    field public static final int TV_INPUT_TYPE_VGA = 7; // 0x7
9487  }
9488
9489  public static final class TvInputHardwareInfo.Builder {
9490    ctor public TvInputHardwareInfo.Builder();
9491    method public android.media.tv.TvInputHardwareInfo.Builder audioAddress(String);
9492    method public android.media.tv.TvInputHardwareInfo.Builder audioType(int);
9493    method public android.media.tv.TvInputHardwareInfo build();
9494    method public android.media.tv.TvInputHardwareInfo.Builder cableConnectionStatus(int);
9495    method public android.media.tv.TvInputHardwareInfo.Builder deviceId(int);
9496    method public android.media.tv.TvInputHardwareInfo.Builder hdmiPortId(int);
9497    method public android.media.tv.TvInputHardwareInfo.Builder type(int);
9498  }
9499
9500  public final class TvInputInfo implements android.os.Parcelable {
9501    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;
9502    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;
9503    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;
9504    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;
9505    method public android.hardware.hdmi.HdmiDeviceInfo getHdmiDeviceInfo();
9506    method public boolean isConnectedToHdmiSwitch();
9507    method public boolean isHardwareInput();
9508    method public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.Context, int);
9509  }
9510
9511  public static final class TvInputInfo.Builder {
9512    method public android.media.tv.TvInputInfo.Builder setHdmiDeviceInfo(android.hardware.hdmi.HdmiDeviceInfo);
9513    method public android.media.tv.TvInputInfo.Builder setIcon(android.graphics.drawable.Icon);
9514    method public android.media.tv.TvInputInfo.Builder setIcon(android.graphics.drawable.Icon, int);
9515    method public android.media.tv.TvInputInfo.Builder setLabel(CharSequence);
9516    method public android.media.tv.TvInputInfo.Builder setLabel(@StringRes int);
9517    method public android.media.tv.TvInputInfo.Builder setParentId(String);
9518    method public android.media.tv.TvInputInfo.Builder setTvInputHardwareInfo(android.media.tv.TvInputHardwareInfo);
9519  }
9520
9521  public static final class TvInputInfo.TvInputSettings {
9522    method public static java.util.Map<java.lang.String,java.lang.String> getCustomLabels(android.content.Context, int);
9523    method public static java.util.Set<java.lang.String> getHiddenTvInputIds(android.content.Context, int);
9524    method public static void putCustomLabels(android.content.Context, java.util.Map<java.lang.String,java.lang.String>, int);
9525    method public static void putHiddenTvInputs(android.content.Context, java.util.Set<java.lang.String>, int);
9526  }
9527
9528  public final class TvInputManager {
9529    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);
9530    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);
9531    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void addBlockedRating(@NonNull android.media.tv.TvContentRating);
9532    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public boolean captureFrame(String, android.view.Surface, android.media.tv.TvStreamConfig);
9533    method @NonNull @RequiresPermission(android.Manifest.permission.TIS_EXTENSION_INTERFACE) public java.util.List<java.lang.String> getAvailableExtensionInterfaceNames(@NonNull String);
9534    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public java.util.List<android.media.tv.TvStreamConfig> getAvailableTvStreamConfigList(String);
9535    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public int getClientPid(@NonNull String);
9536    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public int getClientPriority(int, @NonNull String);
9537    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public int getClientPriority(int);
9538    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TUNED_INFO) public java.util.List<android.media.tv.TunedInfo> getCurrentTunedInfos();
9539    method @NonNull @RequiresPermission("android.permission.DVB_DEVICE") public java.util.List<android.media.tv.DvbDeviceInfo> getDvbDeviceList();
9540    method @Nullable @RequiresPermission(android.Manifest.permission.TIS_EXTENSION_INTERFACE) public android.os.IBinder getExtensionInterface(@NonNull String, @NonNull String);
9541    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public java.util.List<android.media.tv.TvInputHardwareInfo> getHardwareList();
9542    method @RequiresPermission(android.Manifest.permission.READ_CONTENT_RATING_SYSTEMS) public java.util.List<android.media.tv.TvContentRatingSystemInfo> getTvContentRatingSystemList();
9543    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public boolean isSingleSessionActive();
9544    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyPreviewProgramAddedToWatchNext(String, long, long);
9545    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyPreviewProgramBrowsableDisabled(String, long);
9546    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyWatchNextProgramBrowsableDisabled(String, long);
9547    method @Nullable @RequiresPermission("android.permission.DVB_DEVICE") public android.os.ParcelFileDescriptor openDvbDevice(@NonNull android.media.tv.DvbDeviceInfo, int);
9548    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public void releaseTvInputHardware(int, android.media.tv.TvInputManager.Hardware);
9549    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void removeBlockedRating(@NonNull android.media.tv.TvContentRating);
9550    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void setParentalControlsEnabled(boolean);
9551  }
9552
9553  public static final class TvInputManager.Hardware {
9554    method public void overrideAudioSink(int, String, int, int, int);
9555    method public void overrideAudioSink(@NonNull android.media.AudioDeviceInfo, @IntRange(from=0) int, int, int);
9556    method public void setStreamVolume(float);
9557    method public boolean setSurface(android.view.Surface, android.media.tv.TvStreamConfig);
9558  }
9559
9560  public abstract static class TvInputManager.HardwareCallback {
9561    ctor public TvInputManager.HardwareCallback();
9562    method public abstract void onReleased();
9563    method public abstract void onStreamConfigChanged(android.media.tv.TvStreamConfig[]);
9564  }
9565
9566  public abstract static class TvInputManager.TvInputCallback {
9567    method @RequiresPermission(android.Manifest.permission.ACCESS_TUNED_INFO) public void onCurrentTunedInfosUpdated(@NonNull java.util.List<android.media.tv.TunedInfo>);
9568  }
9569
9570  public abstract class TvInputService extends android.app.Service {
9571    method @Nullable public android.os.IBinder createExtension();
9572    method @NonNull public java.util.List<java.lang.String> getAvailableExtensionInterfaceNames();
9573    method @Nullable public android.os.IBinder getExtensionInterface(@NonNull String);
9574    method @Nullable public String getExtensionInterfacePermission(@NonNull String);
9575    method @Nullable public android.media.tv.TvInputInfo onHardwareAdded(android.media.tv.TvInputHardwareInfo);
9576    method @Nullable public String onHardwareRemoved(android.media.tv.TvInputHardwareInfo);
9577    method @Nullable public android.media.tv.TvInputInfo onHdmiDeviceAdded(android.hardware.hdmi.HdmiDeviceInfo);
9578    method @Nullable public String onHdmiDeviceRemoved(android.hardware.hdmi.HdmiDeviceInfo);
9579    method public void onHdmiDeviceUpdated(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
9580  }
9581
9582  public abstract static class TvInputService.RecordingSession {
9583    method public void notifySessionEvent(@NonNull String, android.os.Bundle);
9584  }
9585
9586  public abstract static class TvInputService.Session implements android.view.KeyEvent.Callback {
9587    method public void notifySessionEvent(@NonNull String, android.os.Bundle);
9588    method public void onSetMain(boolean);
9589  }
9590
9591  public abstract static class TvRecordingClient.RecordingCallback {
9592    method public void onEvent(String, String, android.os.Bundle);
9593  }
9594
9595  public class TvStreamConfig implements android.os.Parcelable {
9596    method public int describeContents();
9597    method public int getGeneration();
9598    method public int getMaxHeight();
9599    method public int getMaxWidth();
9600    method public int getStreamId();
9601    method public int getType();
9602    method public void writeToParcel(android.os.Parcel, int);
9603    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvStreamConfig> CREATOR;
9604    field public static final int STREAM_TYPE_BUFFER_PRODUCER = 2; // 0x2
9605    field public static final int STREAM_TYPE_INDEPENDENT_VIDEO_SOURCE = 1; // 0x1
9606  }
9607
9608  public static final class TvStreamConfig.Builder {
9609    ctor public TvStreamConfig.Builder();
9610    method public android.media.tv.TvStreamConfig build();
9611    method public android.media.tv.TvStreamConfig.Builder generation(int);
9612    method public android.media.tv.TvStreamConfig.Builder maxHeight(int);
9613    method public android.media.tv.TvStreamConfig.Builder maxWidth(int);
9614    method public android.media.tv.TvStreamConfig.Builder streamId(int);
9615    method public android.media.tv.TvStreamConfig.Builder type(int);
9616  }
9617
9618  public class TvView extends android.view.ViewGroup {
9619    method @RequiresPermission("android.permission.CHANGE_HDMI_CEC_ACTIVE_SOURCE") public void setMain();
9620    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void unblockContent(android.media.tv.TvContentRating);
9621  }
9622
9623  public abstract static class TvView.TvInputCallback {
9624    method public void onEvent(String, String, android.os.Bundle);
9625  }
9626
9627}
9628
9629package android.media.tv.tuner {
9630
9631  public class DemuxCapabilities {
9632    method public int getAudioFilterCount();
9633    method public int getDemuxCount();
9634    method public int getFilterCapabilities();
9635    method @NonNull public int[] getFilterTypeCapabilityList();
9636    method @NonNull @Size(5) public int[] getLinkCapabilities();
9637    method public int getPcrFilterCount();
9638    method public int getPesFilterCount();
9639    method public int getPlaybackCount();
9640    method public int getRecordCount();
9641    method public int getSectionFilterCount();
9642    method public long getSectionFilterLength();
9643    method public int getTsFilterCount();
9644    method public int getVideoFilterCount();
9645    method public boolean isTimeFilterSupported();
9646  }
9647
9648  public class DemuxInfo {
9649    ctor public DemuxInfo(int);
9650    method public int getFilterTypes();
9651    method public void setFilterTypes(int);
9652  }
9653
9654  public class Descrambler implements java.lang.AutoCloseable {
9655    method public int addPid(int, int, @Nullable android.media.tv.tuner.filter.Filter);
9656    method public void close();
9657    method public static boolean isValidKeyToken(@NonNull byte[]);
9658    method public int removePid(int, int, @Nullable android.media.tv.tuner.filter.Filter);
9659    method public int setKeyToken(@NonNull byte[]);
9660    field public static final int PID_TYPE_MMTP = 2; // 0x2
9661    field public static final int PID_TYPE_T = 1; // 0x1
9662  }
9663
9664  public class Lnb implements java.lang.AutoCloseable {
9665    method public void addCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
9666    method public void close();
9667    method public boolean removeCallback(@NonNull android.media.tv.tuner.LnbCallback);
9668    method public int sendDiseqcMessage(@NonNull byte[]);
9669    method public int setSatellitePosition(int);
9670    method public int setTone(int);
9671    method public int setVoltage(int);
9672    field public static final int EVENT_TYPE_DISEQC_RX_OVERFLOW = 0; // 0x0
9673    field public static final int EVENT_TYPE_DISEQC_RX_PARITY_ERROR = 2; // 0x2
9674    field public static final int EVENT_TYPE_DISEQC_RX_TIMEOUT = 1; // 0x1
9675    field public static final int EVENT_TYPE_LNB_OVERLOAD = 3; // 0x3
9676    field public static final int POSITION_A = 1; // 0x1
9677    field public static final int POSITION_B = 2; // 0x2
9678    field public static final int POSITION_UNDEFINED = 0; // 0x0
9679    field public static final int TONE_CONTINUOUS = 1; // 0x1
9680    field public static final int TONE_NONE = 0; // 0x0
9681    field public static final int VOLTAGE_11V = 2; // 0x2
9682    field public static final int VOLTAGE_12V = 3; // 0x3
9683    field public static final int VOLTAGE_13V = 4; // 0x4
9684    field public static final int VOLTAGE_14V = 5; // 0x5
9685    field public static final int VOLTAGE_15V = 6; // 0x6
9686    field public static final int VOLTAGE_18V = 7; // 0x7
9687    field public static final int VOLTAGE_19V = 8; // 0x8
9688    field public static final int VOLTAGE_5V = 1; // 0x1
9689    field public static final int VOLTAGE_NONE = 0; // 0x0
9690  }
9691
9692  public interface LnbCallback {
9693    method public void onDiseqcMessage(@NonNull byte[]);
9694    method public void onEvent(int);
9695  }
9696
9697  public class Tuner implements java.lang.AutoCloseable {
9698    ctor @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public Tuner(@NonNull android.content.Context, @Nullable String, int);
9699    method public int applyFrontend(@NonNull android.media.tv.tuner.frontend.FrontendInfo);
9700    method public int cancelScanning();
9701    method public int cancelTuning();
9702    method public void clearOnTuneEventListener();
9703    method public void clearResourceLostListener();
9704    method public void close();
9705    method public void closeFrontend();
9706    method public int configureDemux(@Nullable android.media.tv.tuner.DemuxInfo);
9707    method public int connectCiCam(int);
9708    method public int connectFrontendToCiCam(int);
9709    method public int disconnectCiCam();
9710    method public int disconnectFrontendToCiCam(int);
9711    method public int getAvSyncHwId(@NonNull android.media.tv.tuner.filter.Filter);
9712    method public long getAvSyncTime(int);
9713    method @Nullable public java.util.List<android.media.tv.tuner.frontend.FrontendInfo> getAvailableFrontendInfos();
9714    method @Nullable public android.media.tv.tuner.DemuxInfo getCurrentDemuxInfo();
9715    method @Nullable public String getCurrentFrontendHardwareInfo();
9716    method @Nullable public android.media.tv.tuner.DemuxCapabilities getDemuxCapabilities();
9717    method @Nullable public android.media.tv.tuner.frontend.FrontendInfo getFrontendInfo();
9718    method @Nullable public android.media.tv.tuner.frontend.FrontendStatus getFrontendStatus(@NonNull int[]);
9719    method @NonNull public java.util.List<android.media.tv.tuner.frontend.FrontendStatusReadiness> getFrontendStatusReadiness(@NonNull int[]);
9720    method @IntRange(from=0xffffffff) public int getMaxNumberOfFrontends(int);
9721    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public boolean hasUnusedFrontend(int);
9722    method public boolean isLnaSupported();
9723    method public boolean isLowestPriority(int);
9724    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_DESCRAMBLER) public android.media.tv.tuner.Descrambler openDescrambler();
9725    method @Nullable public android.media.tv.tuner.dvr.DvrPlayback openDvrPlayback(long, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.dvr.OnPlaybackStatusChangedListener);
9726    method @Nullable public android.media.tv.tuner.dvr.DvrRecorder openDvrRecorder(long, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.dvr.OnRecordStatusChangedListener);
9727    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);
9728    method @Nullable public android.media.tv.tuner.Lnb openLnb(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
9729    method @Nullable public android.media.tv.tuner.Lnb openLnbByName(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
9730    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);
9731    method @Nullable public android.media.tv.tuner.filter.TimeFilter openTimeFilter();
9732    method public int removeOutputPid(@IntRange(from=0) int);
9733    method public int scan(@NonNull android.media.tv.tuner.frontend.FrontendSettings, int, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.ScanCallback);
9734    method public int setLnaEnabled(boolean);
9735    method public int setMaxNumberOfFrontends(int, @IntRange(from=0) int);
9736    method public void setOnTuneEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.OnTuneEventListener);
9737    method public void setResourceLostListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.Tuner.OnResourceLostListener);
9738    method public void shareFrontendFromTuner(@NonNull android.media.tv.tuner.Tuner);
9739    method public int transferOwner(@NonNull android.media.tv.tuner.Tuner);
9740    method public int tune(@NonNull android.media.tv.tuner.frontend.FrontendSettings);
9741    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public void updateResourcePriority(int, int);
9742    field public static final int INVALID_AV_SYNC_ID = -1; // 0xffffffff
9743    field public static final int INVALID_FILTER_ID = -1; // 0xffffffff
9744    field public static final long INVALID_FILTER_ID_LONG = -1L; // 0xffffffffffffffffL
9745    field public static final int INVALID_FIRST_MACROBLOCK_IN_SLICE = -1; // 0xffffffff
9746    field public static final int INVALID_FRONTEND_ID = -1; // 0xffffffff
9747    field public static final int INVALID_FRONTEND_SETTING_FREQUENCY = -1; // 0xffffffff
9748    field public static final int INVALID_LTS_ID = -1; // 0xffffffff
9749    field public static final int INVALID_MMTP_RECORD_EVENT_MPT_SEQUENCE_NUM = -1; // 0xffffffff
9750    field public static final int INVALID_STREAM_ID = 65535; // 0xffff
9751    field public static final long INVALID_TIMESTAMP = -1L; // 0xffffffffffffffffL
9752    field public static final int INVALID_TS_PID = 65535; // 0xffff
9753    field public static final int RESULT_INVALID_ARGUMENT = 4; // 0x4
9754    field public static final int RESULT_INVALID_STATE = 3; // 0x3
9755    field public static final int RESULT_NOT_INITIALIZED = 2; // 0x2
9756    field public static final int RESULT_OUT_OF_MEMORY = 5; // 0x5
9757    field public static final int RESULT_SUCCESS = 0; // 0x0
9758    field public static final int RESULT_UNAVAILABLE = 1; // 0x1
9759    field public static final int RESULT_UNKNOWN_ERROR = 6; // 0x6
9760    field public static final int SCAN_TYPE_AUTO = 1; // 0x1
9761    field public static final int SCAN_TYPE_BLIND = 2; // 0x2
9762    field public static final int SCAN_TYPE_UNDEFINED = 0; // 0x0
9763    field @NonNull public static final byte[] VOID_KEYTOKEN;
9764  }
9765
9766  public static interface Tuner.OnResourceLostListener {
9767    method public void onResourceLost(@NonNull android.media.tv.tuner.Tuner);
9768  }
9769
9770  public final class TunerVersionChecker {
9771    method public static int getTunerVersion();
9772    field public static final int TUNER_VERSION_1_0 = 65536; // 0x10000
9773    field public static final int TUNER_VERSION_1_1 = 65537; // 0x10001
9774    field public static final int TUNER_VERSION_2_0 = 131072; // 0x20000
9775    field public static final int TUNER_VERSION_3_0 = 196608; // 0x30000
9776    field public static final int TUNER_VERSION_UNKNOWN = 0; // 0x0
9777  }
9778
9779}
9780
9781package android.media.tv.tuner.dvr {
9782
9783  public class DvrPlayback implements java.lang.AutoCloseable {
9784    method @Deprecated public int attachFilter(@NonNull android.media.tv.tuner.filter.Filter);
9785    method public void close();
9786    method public int configure(@NonNull android.media.tv.tuner.dvr.DvrSettings);
9787    method @Deprecated public int detachFilter(@NonNull android.media.tv.tuner.filter.Filter);
9788    method public int flush();
9789    method public long read(long);
9790    method public long read(@NonNull byte[], long, long);
9791    method public long seek(long);
9792    method public void setFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
9793    method public int setPlaybackBufferStatusCheckIntervalHint(long);
9794    method public int start();
9795    method public int stop();
9796    field public static final int PLAYBACK_STATUS_ALMOST_EMPTY = 2; // 0x2
9797    field public static final int PLAYBACK_STATUS_ALMOST_FULL = 4; // 0x4
9798    field public static final int PLAYBACK_STATUS_EMPTY = 1; // 0x1
9799    field public static final int PLAYBACK_STATUS_FULL = 8; // 0x8
9800  }
9801
9802  public class DvrRecorder implements java.lang.AutoCloseable {
9803    method public int attachFilter(@NonNull android.media.tv.tuner.filter.Filter);
9804    method public void close();
9805    method public int configure(@NonNull android.media.tv.tuner.dvr.DvrSettings);
9806    method public int detachFilter(@NonNull android.media.tv.tuner.filter.Filter);
9807    method public int flush();
9808    method public void setFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
9809    method public int setRecordBufferStatusCheckIntervalHint(long);
9810    method public int start();
9811    method public int stop();
9812    method public long write(long);
9813    method public long write(@NonNull byte[], long, long);
9814  }
9815
9816  public class DvrSettings {
9817    method @NonNull public static android.media.tv.tuner.dvr.DvrSettings.Builder builder();
9818    method public int getDataFormat();
9819    method public long getHighThreshold();
9820    method public long getLowThreshold();
9821    method public long getPacketSize();
9822    method public int getStatusMask();
9823    field public static final int DATA_FORMAT_ES = 2; // 0x2
9824    field public static final int DATA_FORMAT_PES = 1; // 0x1
9825    field public static final int DATA_FORMAT_SHV_TLV = 3; // 0x3
9826    field public static final int DATA_FORMAT_TS = 0; // 0x0
9827  }
9828
9829  public static final class DvrSettings.Builder {
9830    ctor public DvrSettings.Builder();
9831    method @NonNull public android.media.tv.tuner.dvr.DvrSettings build();
9832    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setDataFormat(int);
9833    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setHighThreshold(long);
9834    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setLowThreshold(long);
9835    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setPacketSize(long);
9836    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setStatusMask(int);
9837  }
9838
9839  public interface OnPlaybackStatusChangedListener {
9840    method public void onPlaybackStatusChanged(int);
9841  }
9842
9843  public interface OnRecordStatusChangedListener {
9844    method public void onRecordStatusChanged(int);
9845  }
9846
9847}
9848
9849package android.media.tv.tuner.filter {
9850
9851  public final class AlpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
9852    method @NonNull public static android.media.tv.tuner.filter.AlpFilterConfiguration.Builder builder();
9853    method public int getLengthType();
9854    method public int getPacketType();
9855    method public int getType();
9856    field public static final int LENGTH_TYPE_UNDEFINED = 0; // 0x0
9857    field public static final int LENGTH_TYPE_WITHOUT_ADDITIONAL_HEADER = 1; // 0x1
9858    field public static final int LENGTH_TYPE_WITH_ADDITIONAL_HEADER = 2; // 0x2
9859    field public static final int PACKET_TYPE_COMPRESSED = 2; // 0x2
9860    field public static final int PACKET_TYPE_EXTENSION = 6; // 0x6
9861    field public static final int PACKET_TYPE_IPV4 = 0; // 0x0
9862    field public static final int PACKET_TYPE_MPEG2_TS = 7; // 0x7
9863    field public static final int PACKET_TYPE_SIGNALING = 4; // 0x4
9864  }
9865
9866  public static final class AlpFilterConfiguration.Builder {
9867    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration build();
9868    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setLengthType(int);
9869    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setPacketType(int);
9870    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
9871  }
9872
9873  public class AudioDescriptor {
9874    method public byte getAdFade();
9875    method public byte getAdGainCenter();
9876    method public byte getAdGainFront();
9877    method public byte getAdGainSurround();
9878    method public byte getAdPan();
9879    method public char getAdVersionTextTag();
9880  }
9881
9882  public class AvSettings extends android.media.tv.tuner.filter.Settings {
9883    method @NonNull public static android.media.tv.tuner.filter.AvSettings.Builder builder(int, boolean);
9884    method public int getAudioStreamType();
9885    method public int getVideoStreamType();
9886    method public boolean isPassthrough();
9887    method public boolean useSecureMemory();
9888    field public static final int AUDIO_STREAM_TYPE_AAC = 6; // 0x6
9889    field public static final int AUDIO_STREAM_TYPE_AAC_ADTS = 16; // 0x10
9890    field public static final int AUDIO_STREAM_TYPE_AAC_HE_ADTS = 18; // 0x12
9891    field public static final int AUDIO_STREAM_TYPE_AAC_HE_LATM = 19; // 0x13
9892    field public static final int AUDIO_STREAM_TYPE_AAC_LATM = 17; // 0x11
9893    field public static final int AUDIO_STREAM_TYPE_AC3 = 7; // 0x7
9894    field public static final int AUDIO_STREAM_TYPE_AC4 = 9; // 0x9
9895    field public static final int AUDIO_STREAM_TYPE_DRA = 15; // 0xf
9896    field public static final int AUDIO_STREAM_TYPE_DTS = 10; // 0xa
9897    field public static final int AUDIO_STREAM_TYPE_DTS_HD = 11; // 0xb
9898    field public static final int AUDIO_STREAM_TYPE_EAC3 = 8; // 0x8
9899    field public static final int AUDIO_STREAM_TYPE_MP3 = 2; // 0x2
9900    field public static final int AUDIO_STREAM_TYPE_MPEG1 = 3; // 0x3
9901    field public static final int AUDIO_STREAM_TYPE_MPEG2 = 4; // 0x4
9902    field public static final int AUDIO_STREAM_TYPE_MPEGH = 5; // 0x5
9903    field public static final int AUDIO_STREAM_TYPE_OPUS = 13; // 0xd
9904    field public static final int AUDIO_STREAM_TYPE_PCM = 1; // 0x1
9905    field public static final int AUDIO_STREAM_TYPE_UNDEFINED = 0; // 0x0
9906    field public static final int AUDIO_STREAM_TYPE_VORBIS = 14; // 0xe
9907    field public static final int AUDIO_STREAM_TYPE_WMA = 12; // 0xc
9908    field public static final int VIDEO_STREAM_TYPE_AV1 = 10; // 0xa
9909    field public static final int VIDEO_STREAM_TYPE_AVC = 5; // 0x5
9910    field public static final int VIDEO_STREAM_TYPE_AVS = 11; // 0xb
9911    field public static final int VIDEO_STREAM_TYPE_AVS2 = 12; // 0xc
9912    field public static final int VIDEO_STREAM_TYPE_HEVC = 6; // 0x6
9913    field public static final int VIDEO_STREAM_TYPE_MPEG1 = 2; // 0x2
9914    field public static final int VIDEO_STREAM_TYPE_MPEG2 = 3; // 0x3
9915    field public static final int VIDEO_STREAM_TYPE_MPEG4P2 = 4; // 0x4
9916    field public static final int VIDEO_STREAM_TYPE_RESERVED = 1; // 0x1
9917    field public static final int VIDEO_STREAM_TYPE_UNDEFINED = 0; // 0x0
9918    field public static final int VIDEO_STREAM_TYPE_VC1 = 7; // 0x7
9919    field public static final int VIDEO_STREAM_TYPE_VP8 = 8; // 0x8
9920    field public static final int VIDEO_STREAM_TYPE_VP9 = 9; // 0x9
9921    field public static final int VIDEO_STREAM_TYPE_VVC = 13; // 0xd
9922  }
9923
9924  public static class AvSettings.Builder {
9925    method @NonNull public android.media.tv.tuner.filter.AvSettings build();
9926    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setAudioStreamType(int);
9927    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setPassthrough(boolean);
9928    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setUseSecureMemory(boolean);
9929    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setVideoStreamType(int);
9930  }
9931
9932  public class DownloadEvent extends android.media.tv.tuner.filter.FilterEvent {
9933    method public int getDataLength();
9934    method public int getDownloadId();
9935    method public int getItemFragmentIndex();
9936    method public int getItemId();
9937    method public int getLastItemFragmentIndex();
9938    method @IntRange(from=0) public int getMpuSequenceNumber();
9939  }
9940
9941  public class DownloadSettings extends android.media.tv.tuner.filter.Settings {
9942    method @NonNull public static android.media.tv.tuner.filter.DownloadSettings.Builder builder(int);
9943    method public int getDownloadId();
9944    method public boolean useDownloadId();
9945  }
9946
9947  public static class DownloadSettings.Builder {
9948    method @NonNull public android.media.tv.tuner.filter.DownloadSettings build();
9949    method @NonNull public android.media.tv.tuner.filter.DownloadSettings.Builder setDownloadId(int);
9950    method @NonNull public android.media.tv.tuner.filter.DownloadSettings.Builder setUseDownloadId(boolean);
9951  }
9952
9953  public class Filter implements java.lang.AutoCloseable {
9954    method @Nullable public String acquireSharedFilterToken();
9955    method public void close();
9956    method public int configure(@NonNull android.media.tv.tuner.filter.FilterConfiguration);
9957    method public int delayCallbackForDurationMillis(long);
9958    method public int delayCallbackUntilBytesAccumulated(int);
9959    method public int flush();
9960    method public void freeSharedFilterToken(@NonNull String);
9961    method @Deprecated public int getId();
9962    method public long getIdLong();
9963    method public int read(@NonNull byte[], long, long);
9964    method public int setDataSource(@Nullable android.media.tv.tuner.filter.Filter);
9965    method public int setMonitorEventMask(int);
9966    method public int start();
9967    method public int stop();
9968    field public static final int MONITOR_EVENT_IP_CID_CHANGE = 2; // 0x2
9969    field public static final int MONITOR_EVENT_SCRAMBLING_STATUS = 1; // 0x1
9970    field public static final int SCRAMBLING_STATUS_NOT_SCRAMBLED = 2; // 0x2
9971    field public static final int SCRAMBLING_STATUS_SCRAMBLED = 4; // 0x4
9972    field public static final int SCRAMBLING_STATUS_UNKNOWN = 1; // 0x1
9973    field public static final int STATUS_DATA_READY = 1; // 0x1
9974    field public static final int STATUS_HIGH_WATER = 4; // 0x4
9975    field public static final int STATUS_LOW_WATER = 2; // 0x2
9976    field public static final int STATUS_NO_DATA = 16; // 0x10
9977    field public static final int STATUS_OVERFLOW = 8; // 0x8
9978    field public static final int SUBTYPE_AUDIO = 3; // 0x3
9979    field public static final int SUBTYPE_DOWNLOAD = 5; // 0x5
9980    field public static final int SUBTYPE_IP = 13; // 0xd
9981    field public static final int SUBTYPE_IP_PAYLOAD = 12; // 0xc
9982    field public static final int SUBTYPE_MMTP = 10; // 0xa
9983    field public static final int SUBTYPE_NTP = 11; // 0xb
9984    field public static final int SUBTYPE_PAYLOAD_THROUGH = 14; // 0xe
9985    field public static final int SUBTYPE_PCR = 8; // 0x8
9986    field public static final int SUBTYPE_PES = 2; // 0x2
9987    field public static final int SUBTYPE_PTP = 16; // 0x10
9988    field public static final int SUBTYPE_RECORD = 6; // 0x6
9989    field public static final int SUBTYPE_SECTION = 1; // 0x1
9990    field public static final int SUBTYPE_TEMI = 9; // 0x9
9991    field public static final int SUBTYPE_TLV = 15; // 0xf
9992    field public static final int SUBTYPE_TS = 7; // 0x7
9993    field public static final int SUBTYPE_UNDEFINED = 0; // 0x0
9994    field public static final int SUBTYPE_VIDEO = 4; // 0x4
9995    field public static final int TYPE_ALP = 16; // 0x10
9996    field public static final int TYPE_IP = 4; // 0x4
9997    field public static final int TYPE_MMTP = 2; // 0x2
9998    field public static final int TYPE_TLV = 8; // 0x8
9999    field public static final int TYPE_TS = 1; // 0x1
10000    field public static final int TYPE_UNDEFINED = 0; // 0x0
10001  }
10002
10003  public interface FilterCallback {
10004    method public void onFilterEvent(@NonNull android.media.tv.tuner.filter.Filter, @NonNull android.media.tv.tuner.filter.FilterEvent[]);
10005    method public void onFilterStatusChanged(@NonNull android.media.tv.tuner.filter.Filter, int);
10006  }
10007
10008  public abstract class FilterConfiguration {
10009    method @Nullable public android.media.tv.tuner.filter.Settings getSettings();
10010    method public abstract int getType();
10011  }
10012
10013  public abstract class FilterEvent {
10014    ctor public FilterEvent();
10015  }
10016
10017  public final class IpCidChangeEvent extends android.media.tv.tuner.filter.FilterEvent {
10018    method public int getIpCid();
10019  }
10020
10021  public final class IpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
10022    method @NonNull public static android.media.tv.tuner.filter.IpFilterConfiguration.Builder builder();
10023    method @NonNull @Size(min=4, max=16) public byte[] getDstIpAddress();
10024    method public int getDstPort();
10025    method @IntRange(from=0, to=61439) public int getIpFilterContextId();
10026    method @NonNull @Size(min=4, max=16) public byte[] getSrcIpAddress();
10027    method public int getSrcPort();
10028    method public int getType();
10029    method public boolean isPassthrough();
10030    field public static final int INVALID_IP_FILTER_CONTEXT_ID = -1; // 0xffffffff
10031  }
10032
10033  public static final class IpFilterConfiguration.Builder {
10034    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration build();
10035    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setDstIpAddress(@NonNull byte[]);
10036    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setDstPort(int);
10037    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setIpFilterContextId(int);
10038    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setPassthrough(boolean);
10039    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
10040    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSrcIpAddress(@NonNull byte[]);
10041    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSrcPort(int);
10042  }
10043
10044  public class IpPayloadEvent extends android.media.tv.tuner.filter.FilterEvent {
10045    method public int getDataLength();
10046  }
10047
10048  public class MediaEvent extends android.media.tv.tuner.filter.FilterEvent {
10049    method protected void finalize();
10050    method public long getAudioHandle();
10051    method @NonNull public java.util.List<android.media.AudioPresentation> getAudioPresentations();
10052    method public long getAvDataId();
10053    method public long getDataLength();
10054    method public long getDts();
10055    method @Nullable public android.media.tv.tuner.filter.AudioDescriptor getExtraMetaData();
10056    method @Nullable public android.media.MediaCodec.LinearBlock getLinearBlock();
10057    method @IntRange(from=0) public int getMpuSequenceNumber();
10058    method public long getOffset();
10059    method public long getPts();
10060    method public int getScIndexMask();
10061    method public int getStreamId();
10062    method public boolean isDtsPresent();
10063    method public boolean isPrivateData();
10064    method public boolean isPtsPresent();
10065    method public boolean isSecureMemory();
10066    method public void release();
10067  }
10068
10069  public final class MmtpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
10070    method @NonNull public static android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder builder();
10071    method public int getMmtpPacketId();
10072    method public int getType();
10073  }
10074
10075  public static final class MmtpFilterConfiguration.Builder {
10076    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration build();
10077    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder setMmtpPacketId(int);
10078    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
10079  }
10080
10081  public class MmtpRecordEvent extends android.media.tv.tuner.filter.FilterEvent {
10082    method public long getDataLength();
10083    method public int getFirstMacroblockInSlice();
10084    method @IntRange(from=0) public int getMpuSequenceNumber();
10085    method public long getPts();
10086    method public int getScHevcIndexMask();
10087    method public int getTsIndexMask();
10088  }
10089
10090  public class PesEvent extends android.media.tv.tuner.filter.FilterEvent {
10091    method public int getDataLength();
10092    method @IntRange(from=0) public int getMpuSequenceNumber();
10093    method public int getStreamId();
10094  }
10095
10096  public class PesSettings extends android.media.tv.tuner.filter.Settings {
10097    method @NonNull public static android.media.tv.tuner.filter.PesSettings.Builder builder(int);
10098    method public int getStreamId();
10099    method public boolean isRaw();
10100  }
10101
10102  public static class PesSettings.Builder {
10103    method @NonNull public android.media.tv.tuner.filter.PesSettings build();
10104    method @NonNull public android.media.tv.tuner.filter.PesSettings.Builder setRaw(boolean);
10105    method @NonNull public android.media.tv.tuner.filter.PesSettings.Builder setStreamId(int);
10106  }
10107
10108  public class RecordSettings extends android.media.tv.tuner.filter.Settings {
10109    method @NonNull public static android.media.tv.tuner.filter.RecordSettings.Builder builder(int);
10110    method public int getScIndexMask();
10111    method public int getScIndexType();
10112    method public int getTsIndexMask();
10113    field public static final int INDEX_TYPE_NONE = 0; // 0x0
10114    field public static final int INDEX_TYPE_SC = 1; // 0x1
10115    field public static final int INDEX_TYPE_SC_AVC = 3; // 0x3
10116    field public static final int INDEX_TYPE_SC_HEVC = 2; // 0x2
10117    field public static final int INDEX_TYPE_SC_VVC = 4; // 0x4
10118    field public static final int MPT_INDEX_AUDIO = 262144; // 0x40000
10119    field public static final int MPT_INDEX_MPT = 65536; // 0x10000
10120    field public static final int MPT_INDEX_TIMESTAMP_TARGET_AUDIO = 1048576; // 0x100000
10121    field public static final int MPT_INDEX_TIMESTAMP_TARGET_VIDEO = 524288; // 0x80000
10122    field public static final int MPT_INDEX_VIDEO = 131072; // 0x20000
10123    field public static final int SC_HEVC_INDEX_AUD = 2; // 0x2
10124    field public static final int SC_HEVC_INDEX_SLICE_BLA_N_LP = 16; // 0x10
10125    field public static final int SC_HEVC_INDEX_SLICE_BLA_W_RADL = 8; // 0x8
10126    field public static final int SC_HEVC_INDEX_SLICE_CE_BLA_W_LP = 4; // 0x4
10127    field public static final int SC_HEVC_INDEX_SLICE_IDR_N_LP = 64; // 0x40
10128    field public static final int SC_HEVC_INDEX_SLICE_IDR_W_RADL = 32; // 0x20
10129    field public static final int SC_HEVC_INDEX_SLICE_TRAIL_CRA = 128; // 0x80
10130    field public static final int SC_HEVC_INDEX_SPS = 1; // 0x1
10131    field public static final int SC_INDEX_B_FRAME = 4; // 0x4
10132    field public static final int SC_INDEX_B_SLICE = 64; // 0x40
10133    field public static final int SC_INDEX_I_FRAME = 1; // 0x1
10134    field public static final int SC_INDEX_I_SLICE = 16; // 0x10
10135    field public static final int SC_INDEX_P_FRAME = 2; // 0x2
10136    field public static final int SC_INDEX_P_SLICE = 32; // 0x20
10137    field public static final int SC_INDEX_SEQUENCE = 8; // 0x8
10138    field public static final int SC_INDEX_SI_SLICE = 128; // 0x80
10139    field public static final int SC_INDEX_SP_SLICE = 256; // 0x100
10140    field public static final int SC_VVC_INDEX_AUD = 64; // 0x40
10141    field public static final int SC_VVC_INDEX_SLICE_CRA = 4; // 0x4
10142    field public static final int SC_VVC_INDEX_SLICE_GDR = 8; // 0x8
10143    field public static final int SC_VVC_INDEX_SLICE_IDR_N_LP = 2; // 0x2
10144    field public static final int SC_VVC_INDEX_SLICE_IDR_W_RADL = 1; // 0x1
10145    field public static final int SC_VVC_INDEX_SPS = 32; // 0x20
10146    field public static final int SC_VVC_INDEX_VPS = 16; // 0x10
10147    field public static final int TS_INDEX_ADAPTATION_EXTENSION_FLAG = 4096; // 0x1000
10148    field public static final int TS_INDEX_CHANGE_TO_EVEN_SCRAMBLED = 8; // 0x8
10149    field public static final int TS_INDEX_CHANGE_TO_NOT_SCRAMBLED = 4; // 0x4
10150    field public static final int TS_INDEX_CHANGE_TO_ODD_SCRAMBLED = 16; // 0x10
10151    field public static final int TS_INDEX_DISCONTINUITY_INDICATOR = 32; // 0x20
10152    field public static final int TS_INDEX_FIRST_PACKET = 1; // 0x1
10153    field public static final int TS_INDEX_INVALID = 0; // 0x0
10154    field public static final int TS_INDEX_OPCR_FLAG = 512; // 0x200
10155    field public static final int TS_INDEX_PAYLOAD_UNIT_START_INDICATOR = 2; // 0x2
10156    field public static final int TS_INDEX_PCR_FLAG = 256; // 0x100
10157    field public static final int TS_INDEX_PRIORITY_INDICATOR = 128; // 0x80
10158    field public static final int TS_INDEX_PRIVATE_DATA = 2048; // 0x800
10159    field public static final int TS_INDEX_RANDOM_ACCESS_INDICATOR = 64; // 0x40
10160    field public static final int TS_INDEX_SPLICING_POINT_FLAG = 1024; // 0x400
10161  }
10162
10163  public static class RecordSettings.Builder {
10164    method @NonNull public android.media.tv.tuner.filter.RecordSettings build();
10165    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setScIndexMask(int);
10166    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setScIndexType(int);
10167    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setTsIndexMask(int);
10168  }
10169
10170  public final class RestartEvent extends android.media.tv.tuner.filter.FilterEvent {
10171    method public int getStartId();
10172    field public static final int NEW_FILTER_FIRST_START_ID = 0; // 0x0
10173  }
10174
10175  public final class ScramblingStatusEvent extends android.media.tv.tuner.filter.FilterEvent {
10176    method public int getScramblingStatus();
10177  }
10178
10179  public class SectionEvent extends android.media.tv.tuner.filter.FilterEvent {
10180    method @Deprecated public int getDataLength();
10181    method public long getDataLengthLong();
10182    method public int getSectionNumber();
10183    method public int getTableId();
10184    method public int getVersion();
10185  }
10186
10187  public abstract class SectionSettings extends android.media.tv.tuner.filter.Settings {
10188    method public int getLengthFieldBitWidth();
10189    method public boolean isCrcEnabled();
10190    method public boolean isRaw();
10191    method public boolean isRepeat();
10192  }
10193
10194  public abstract static class SectionSettings.Builder<T extends android.media.tv.tuner.filter.SectionSettings.Builder<T>> {
10195    method @NonNull public T setBitWidthOfLengthField(@IntRange(from=0) int);
10196    method @NonNull public T setCrcEnabled(boolean);
10197    method @NonNull public T setRaw(boolean);
10198    method @NonNull public T setRepeat(boolean);
10199  }
10200
10201  public class SectionSettingsWithSectionBits extends android.media.tv.tuner.filter.SectionSettings {
10202    method @NonNull public static android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder builder(int);
10203    method @NonNull public byte[] getFilterBytes();
10204    method @NonNull public byte[] getMask();
10205    method @NonNull public byte[] getMode();
10206  }
10207
10208  public static class SectionSettingsWithSectionBits.Builder extends android.media.tv.tuner.filter.SectionSettings.Builder<android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder> {
10209    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits build();
10210    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setFilter(@NonNull byte[]);
10211    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setMask(@NonNull byte[]);
10212    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setMode(@NonNull byte[]);
10213  }
10214
10215  public class SectionSettingsWithTableInfo extends android.media.tv.tuner.filter.SectionSettings {
10216    method @NonNull public static android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder builder(int);
10217    method public int getTableId();
10218    method public int getVersion();
10219    field public static final int INVALID_TABLE_INFO_VERSION = -1; // 0xffffffff
10220  }
10221
10222  public static class SectionSettingsWithTableInfo.Builder extends android.media.tv.tuner.filter.SectionSettings.Builder<android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder> {
10223    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo build();
10224    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder setTableId(int);
10225    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder setVersion(int);
10226  }
10227
10228  public abstract class Settings {
10229    method public int getType();
10230  }
10231
10232  public final class SharedFilter implements java.lang.AutoCloseable {
10233    method public void close();
10234    method public int flush();
10235    method public int read(@NonNull byte[], long, long);
10236    method public int start();
10237    method public int stop();
10238    field public static final int STATUS_INACCESSIBLE = 128; // 0x80
10239  }
10240
10241  public interface SharedFilterCallback {
10242    method public void onFilterEvent(@NonNull android.media.tv.tuner.filter.SharedFilter, @NonNull android.media.tv.tuner.filter.FilterEvent[]);
10243    method public void onFilterStatusChanged(@NonNull android.media.tv.tuner.filter.SharedFilter, int);
10244  }
10245
10246  public class TemiEvent extends android.media.tv.tuner.filter.FilterEvent {
10247    method @NonNull public byte[] getDescriptorData();
10248    method public byte getDescriptorTag();
10249    method public long getPts();
10250  }
10251
10252  public class TimeFilter implements java.lang.AutoCloseable {
10253    method public int clearTimestamp();
10254    method public void close();
10255    method public long getSourceTime();
10256    method public long getTimeStamp();
10257    method public int setCurrentTimestamp(long);
10258  }
10259
10260  public final class TlvFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
10261    method @NonNull public static android.media.tv.tuner.filter.TlvFilterConfiguration.Builder builder();
10262    method public int getPacketType();
10263    method public int getType();
10264    method public boolean isCompressedIpPacket();
10265    method public boolean isPassthrough();
10266    field public static final int PACKET_TYPE_COMPRESSED = 3; // 0x3
10267    field public static final int PACKET_TYPE_IPV4 = 1; // 0x1
10268    field public static final int PACKET_TYPE_IPV6 = 2; // 0x2
10269    field public static final int PACKET_TYPE_NULL = 255; // 0xff
10270    field public static final int PACKET_TYPE_SIGNALING = 254; // 0xfe
10271  }
10272
10273  public static final class TlvFilterConfiguration.Builder {
10274    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration build();
10275    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setCompressedIpPacket(boolean);
10276    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setPacketType(int);
10277    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setPassthrough(boolean);
10278    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
10279  }
10280
10281  public final class TsFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
10282    method @NonNull public static android.media.tv.tuner.filter.TsFilterConfiguration.Builder builder();
10283    method public int getTpid();
10284    method public int getType();
10285  }
10286
10287  public static final class TsFilterConfiguration.Builder {
10288    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration build();
10289    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
10290    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration.Builder setTpid(int);
10291  }
10292
10293  public class TsRecordEvent extends android.media.tv.tuner.filter.FilterEvent {
10294    method public long getDataLength();
10295    method public int getFirstMacroblockInSlice();
10296    method public int getPacketId();
10297    method public long getPts();
10298    method public int getScIndexMask();
10299    method public int getTsIndexMask();
10300  }
10301
10302}
10303
10304package android.media.tv.tuner.frontend {
10305
10306  public class AnalogFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
10307    method public int getSifStandardCapability();
10308    method public int getSignalTypeCapability();
10309  }
10310
10311  public class AnalogFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
10312    method @NonNull public static android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder builder();
10313    method public int getAftFlag();
10314    method public int getSifStandard();
10315    method public int getSignalType();
10316    method public int getType();
10317    field public static final int AFT_FLAG_FALSE = 2; // 0x2
10318    field public static final int AFT_FLAG_TRUE = 1; // 0x1
10319    field public static final int AFT_FLAG_UNDEFINED = 0; // 0x0
10320    field public static final int SIF_AUTO = 1; // 0x1
10321    field public static final int SIF_BG = 2; // 0x2
10322    field public static final int SIF_BG_A2 = 4; // 0x4
10323    field public static final int SIF_BG_NICAM = 8; // 0x8
10324    field public static final int SIF_DK = 32; // 0x20
10325    field public static final int SIF_DK1_A2 = 64; // 0x40
10326    field public static final int SIF_DK2_A2 = 128; // 0x80
10327    field public static final int SIF_DK3_A2 = 256; // 0x100
10328    field public static final int SIF_DK_NICAM = 512; // 0x200
10329    field public static final int SIF_I = 16; // 0x10
10330    field public static final int SIF_I_NICAM = 32768; // 0x8000
10331    field public static final int SIF_L = 1024; // 0x400
10332    field public static final int SIF_L_NICAM = 65536; // 0x10000
10333    field public static final int SIF_L_PRIME = 131072; // 0x20000
10334    field public static final int SIF_M = 2048; // 0x800
10335    field public static final int SIF_M_A2 = 8192; // 0x2000
10336    field public static final int SIF_M_BTSC = 4096; // 0x1000
10337    field public static final int SIF_M_EIAJ = 16384; // 0x4000
10338    field public static final int SIF_UNDEFINED = 0; // 0x0
10339    field public static final int SIGNAL_TYPE_AUTO = 1; // 0x1
10340    field public static final int SIGNAL_TYPE_NTSC = 32; // 0x20
10341    field public static final int SIGNAL_TYPE_NTSC_443 = 64; // 0x40
10342    field public static final int SIGNAL_TYPE_PAL = 2; // 0x2
10343    field public static final int SIGNAL_TYPE_PAL_60 = 16; // 0x10
10344    field public static final int SIGNAL_TYPE_PAL_M = 4; // 0x4
10345    field public static final int SIGNAL_TYPE_PAL_N = 8; // 0x8
10346    field public static final int SIGNAL_TYPE_SECAM = 128; // 0x80
10347    field public static final int SIGNAL_TYPE_UNDEFINED = 0; // 0x0
10348  }
10349
10350  public static class AnalogFrontendSettings.Builder {
10351    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings build();
10352    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setAftFlag(int);
10353    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setFrequency(int);
10354    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setFrequencyLong(long);
10355    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setSifStandard(int);
10356    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setSignalType(int);
10357  }
10358
10359  public class Atsc3FrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
10360    method public int getBandwidthCapability();
10361    method public int getDemodOutputFormatCapability();
10362    method public int getFecCapability();
10363    method public int getModulationCapability();
10364    method public int getPlpCodeRateCapability();
10365    method public int getTimeInterleaveModeCapability();
10366  }
10367
10368  public class Atsc3FrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
10369    method @NonNull public static android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder builder();
10370    method public int getBandwidth();
10371    method public int getDemodOutputFormat();
10372    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings[] getPlpSettings();
10373    method public int getType();
10374    field public static final int BANDWIDTH_AUTO = 1; // 0x1
10375    field public static final int BANDWIDTH_BANDWIDTH_6MHZ = 2; // 0x2
10376    field public static final int BANDWIDTH_BANDWIDTH_7MHZ = 4; // 0x4
10377    field public static final int BANDWIDTH_BANDWIDTH_8MHZ = 8; // 0x8
10378    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
10379    field public static final int CODERATE_10_15 = 512; // 0x200
10380    field public static final int CODERATE_11_15 = 1024; // 0x400
10381    field public static final int CODERATE_12_15 = 2048; // 0x800
10382    field public static final int CODERATE_13_15 = 4096; // 0x1000
10383    field public static final int CODERATE_2_15 = 2; // 0x2
10384    field public static final int CODERATE_3_15 = 4; // 0x4
10385    field public static final int CODERATE_4_15 = 8; // 0x8
10386    field public static final int CODERATE_5_15 = 16; // 0x10
10387    field public static final int CODERATE_6_15 = 32; // 0x20
10388    field public static final int CODERATE_7_15 = 64; // 0x40
10389    field public static final int CODERATE_8_15 = 128; // 0x80
10390    field public static final int CODERATE_9_15 = 256; // 0x100
10391    field public static final int CODERATE_AUTO = 1; // 0x1
10392    field public static final int CODERATE_UNDEFINED = 0; // 0x0
10393    field public static final int DEMOD_OUTPUT_FORMAT_ATSC3_LINKLAYER_PACKET = 1; // 0x1
10394    field public static final int DEMOD_OUTPUT_FORMAT_BASEBAND_PACKET = 2; // 0x2
10395    field public static final int DEMOD_OUTPUT_FORMAT_UNDEFINED = 0; // 0x0
10396    field public static final int FEC_AUTO = 1; // 0x1
10397    field public static final int FEC_BCH_LDPC_16K = 2; // 0x2
10398    field public static final int FEC_BCH_LDPC_64K = 4; // 0x4
10399    field public static final int FEC_CRC_LDPC_16K = 8; // 0x8
10400    field public static final int FEC_CRC_LDPC_64K = 16; // 0x10
10401    field public static final int FEC_LDPC_16K = 32; // 0x20
10402    field public static final int FEC_LDPC_64K = 64; // 0x40
10403    field public static final int FEC_UNDEFINED = 0; // 0x0
10404    field public static final int MODULATION_AUTO = 1; // 0x1
10405    field public static final int MODULATION_MOD_1024QAM = 32; // 0x20
10406    field public static final int MODULATION_MOD_16QAM = 4; // 0x4
10407    field public static final int MODULATION_MOD_256QAM = 16; // 0x10
10408    field public static final int MODULATION_MOD_4096QAM = 64; // 0x40
10409    field public static final int MODULATION_MOD_64QAM = 8; // 0x8
10410    field public static final int MODULATION_MOD_QPSK = 2; // 0x2
10411    field public static final int MODULATION_UNDEFINED = 0; // 0x0
10412    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
10413    field public static final int TIME_INTERLEAVE_MODE_CTI = 2; // 0x2
10414    field public static final int TIME_INTERLEAVE_MODE_HTI = 4; // 0x4
10415    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
10416  }
10417
10418  public static class Atsc3FrontendSettings.Builder {
10419    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings build();
10420    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setBandwidth(int);
10421    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setDemodOutputFormat(int);
10422    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setFrequency(int);
10423    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setFrequencyLong(long);
10424    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setPlpSettings(@NonNull android.media.tv.tuner.frontend.Atsc3PlpSettings[]);
10425  }
10426
10427  public class Atsc3PlpInfo {
10428    method public boolean getLlsFlag();
10429    method public int getPlpId();
10430  }
10431
10432  public class Atsc3PlpSettings {
10433    method @NonNull public static android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder builder();
10434    method public int getCodeRate();
10435    method public int getFec();
10436    method public int getInterleaveMode();
10437    method public int getModulation();
10438    method public int getPlpId();
10439  }
10440
10441  public static class Atsc3PlpSettings.Builder {
10442    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings build();
10443    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setCodeRate(int);
10444    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setFec(int);
10445    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setInterleaveMode(int);
10446    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setModulation(int);
10447    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setPlpId(int);
10448  }
10449
10450  public class AtscFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
10451    method public int getModulationCapability();
10452  }
10453
10454  public class AtscFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
10455    method @NonNull public static android.media.tv.tuner.frontend.AtscFrontendSettings.Builder builder();
10456    method public int getModulation();
10457    method public int getType();
10458    field public static final int MODULATION_AUTO = 1; // 0x1
10459    field public static final int MODULATION_MOD_16VSB = 8; // 0x8
10460    field public static final int MODULATION_MOD_8VSB = 4; // 0x4
10461    field public static final int MODULATION_UNDEFINED = 0; // 0x0
10462  }
10463
10464  public static class AtscFrontendSettings.Builder {
10465    method @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings build();
10466    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setFrequency(int);
10467    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setFrequencyLong(long);
10468    method @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setModulation(int);
10469  }
10470
10471  public final class DtmbFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
10472    method public int getBandwidthCapability();
10473    method public int getCodeRateCapability();
10474    method public int getGuardIntervalCapability();
10475    method public int getModulationCapability();
10476    method public int getTimeInterleaveModeCapability();
10477    method public int getTransmissionModeCapability();
10478  }
10479
10480  public final class DtmbFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
10481    method @NonNull public static android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder builder();
10482    method public int getBandwidth();
10483    method public int getCodeRate();
10484    method public int getGuardInterval();
10485    method public int getModulation();
10486    method public int getTimeInterleaveMode();
10487    method public int getTransmissionMode();
10488    method public int getType();
10489    field public static final int BANDWIDTH_6MHZ = 4; // 0x4
10490    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
10491    field public static final int BANDWIDTH_AUTO = 1; // 0x1
10492    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
10493    field public static final int CODERATE_2_5 = 2; // 0x2
10494    field public static final int CODERATE_3_5 = 4; // 0x4
10495    field public static final int CODERATE_4_5 = 8; // 0x8
10496    field public static final int CODERATE_AUTO = 1; // 0x1
10497    field public static final int CODERATE_UNDEFINED = 0; // 0x0
10498    field public static final int GUARD_INTERVAL_AUTO = 1; // 0x1
10499    field public static final int GUARD_INTERVAL_PN_420_CONST = 16; // 0x10
10500    field public static final int GUARD_INTERVAL_PN_420_VARIOUS = 2; // 0x2
10501    field public static final int GUARD_INTERVAL_PN_595_CONST = 4; // 0x4
10502    field public static final int GUARD_INTERVAL_PN_945_CONST = 32; // 0x20
10503    field public static final int GUARD_INTERVAL_PN_945_VARIOUS = 8; // 0x8
10504    field public static final int GUARD_INTERVAL_PN_RESERVED = 64; // 0x40
10505    field public static final int GUARD_INTERVAL_UNDEFINED = 0; // 0x0
10506    field public static final int MODULATION_CONSTELLATION_16QAM = 8; // 0x8
10507    field public static final int MODULATION_CONSTELLATION_32QAM = 16; // 0x10
10508    field public static final int MODULATION_CONSTELLATION_4QAM = 2; // 0x2
10509    field public static final int MODULATION_CONSTELLATION_4QAM_NR = 4; // 0x4
10510    field public static final int MODULATION_CONSTELLATION_64QAM = 32; // 0x20
10511    field public static final int MODULATION_CONSTELLATION_AUTO = 1; // 0x1
10512    field public static final int MODULATION_CONSTELLATION_UNDEFINED = 0; // 0x0
10513    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
10514    field public static final int TIME_INTERLEAVE_MODE_TIMER_INT_240 = 2; // 0x2
10515    field public static final int TIME_INTERLEAVE_MODE_TIMER_INT_720 = 4; // 0x4
10516    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
10517    field public static final int TRANSMISSION_MODE_AUTO = 1; // 0x1
10518    field public static final int TRANSMISSION_MODE_C1 = 2; // 0x2
10519    field public static final int TRANSMISSION_MODE_C3780 = 4; // 0x4
10520    field public static final int TRANSMISSION_MODE_UNDEFINED = 0; // 0x0
10521  }
10522
10523  public static final class DtmbFrontendSettings.Builder {
10524    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings build();
10525    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setBandwidth(int);
10526    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setCodeRate(int);
10527    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setFrequency(int);
10528    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setFrequencyLong(long);
10529    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setGuardInterval(int);
10530    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setModulation(int);
10531    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setTimeInterleaveMode(int);
10532    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setTransmissionMode(int);
10533  }
10534
10535  public class DvbcFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
10536    method public int getAnnexCapability();
10537    method public long getCodeRateCapability();
10538    method @Deprecated public int getFecCapability();
10539    method public int getModulationCapability();
10540  }
10541
10542  public class DvbcFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
10543    method @NonNull public static android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder builder();
10544    method public int getAnnex();
10545    method public int getBandwidth();
10546    method public long getInnerFec();
10547    method public int getModulation();
10548    method public int getOuterFec();
10549    method public int getSpectralInversion();
10550    method public int getSymbolRate();
10551    method public int getTimeInterleaveMode();
10552    method public int getType();
10553    field public static final int ANNEX_A = 1; // 0x1
10554    field public static final int ANNEX_B = 2; // 0x2
10555    field public static final int ANNEX_C = 4; // 0x4
10556    field public static final int ANNEX_UNDEFINED = 0; // 0x0
10557    field public static final int BANDWIDTH_5MHZ = 1; // 0x1
10558    field public static final int BANDWIDTH_6MHZ = 2; // 0x2
10559    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
10560    field public static final int BANDWIDTH_8MHZ = 8; // 0x8
10561    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
10562    field public static final int MODULATION_AUTO = 1; // 0x1
10563    field public static final int MODULATION_MOD_128QAM = 16; // 0x10
10564    field public static final int MODULATION_MOD_16QAM = 2; // 0x2
10565    field public static final int MODULATION_MOD_256QAM = 32; // 0x20
10566    field public static final int MODULATION_MOD_32QAM = 4; // 0x4
10567    field public static final int MODULATION_MOD_64QAM = 8; // 0x8
10568    field public static final int MODULATION_UNDEFINED = 0; // 0x0
10569    field public static final int OUTER_FEC_OUTER_FEC_NONE = 1; // 0x1
10570    field public static final int OUTER_FEC_OUTER_FEC_RS = 2; // 0x2
10571    field public static final int OUTER_FEC_UNDEFINED = 0; // 0x0
10572    field @Deprecated public static final int SPECTRAL_INVERSION_INVERTED = 2; // 0x2
10573    field @Deprecated public static final int SPECTRAL_INVERSION_NORMAL = 1; // 0x1
10574    field @Deprecated public static final int SPECTRAL_INVERSION_UNDEFINED = 0; // 0x0
10575    field public static final int TIME_INTERLEAVE_MODE_128_1_0 = 2; // 0x2
10576    field public static final int TIME_INTERLEAVE_MODE_128_1_1 = 4; // 0x4
10577    field public static final int TIME_INTERLEAVE_MODE_128_2 = 128; // 0x80
10578    field public static final int TIME_INTERLEAVE_MODE_128_3 = 256; // 0x100
10579    field public static final int TIME_INTERLEAVE_MODE_128_4 = 512; // 0x200
10580    field public static final int TIME_INTERLEAVE_MODE_16_8 = 32; // 0x20
10581    field public static final int TIME_INTERLEAVE_MODE_32_4 = 16; // 0x10
10582    field public static final int TIME_INTERLEAVE_MODE_64_2 = 8; // 0x8
10583    field public static final int TIME_INTERLEAVE_MODE_8_16 = 64; // 0x40
10584    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
10585    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
10586  }
10587
10588  public static class DvbcFrontendSettings.Builder {
10589    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings build();
10590    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setAnnex(int);
10591    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setBandwidth(int);
10592    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setFrequency(int);
10593    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setFrequencyLong(long);
10594    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setInnerFec(long);
10595    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setModulation(int);
10596    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setOuterFec(int);
10597    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setSpectralInversion(int);
10598    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setSymbolRate(int);
10599    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setTimeInterleaveMode(int);
10600  }
10601
10602  public class DvbsCodeRate {
10603    method @NonNull public static android.media.tv.tuner.frontend.DvbsCodeRate.Builder builder();
10604    method public int getBitsPer1000Symbol();
10605    method public long getInnerFec();
10606    method public boolean isLinear();
10607    method public boolean isShortFrameEnabled();
10608  }
10609
10610  public static class DvbsCodeRate.Builder {
10611    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate build();
10612    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setBitsPer1000Symbol(int);
10613    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setInnerFec(long);
10614    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setLinear(boolean);
10615    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setShortFrameEnabled(boolean);
10616  }
10617
10618  public class DvbsFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
10619    method public long getInnerFecCapability();
10620    method public int getModulationCapability();
10621    method public int getStandardCapability();
10622  }
10623
10624  public class DvbsFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
10625    method @NonNull public static android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder builder();
10626    method public boolean canHandleDiseqcRxMessage();
10627    method @Nullable public android.media.tv.tuner.frontend.DvbsCodeRate getCodeRate();
10628    method public int getInputStreamId();
10629    method public int getModulation();
10630    method public int getPilot();
10631    method public int getRolloff();
10632    method public int getScanType();
10633    method public int getStandard();
10634    method public int getSymbolRate();
10635    method public int getType();
10636    method public int getVcmMode();
10637    field public static final int MODULATION_AUTO = 1; // 0x1
10638    field public static final int MODULATION_MOD_128APSK = 2048; // 0x800
10639    field public static final int MODULATION_MOD_16APSK = 256; // 0x100
10640    field public static final int MODULATION_MOD_16PSK = 16; // 0x10
10641    field public static final int MODULATION_MOD_16QAM = 8; // 0x8
10642    field public static final int MODULATION_MOD_256APSK = 4096; // 0x1000
10643    field public static final int MODULATION_MOD_32APSK = 512; // 0x200
10644    field public static final int MODULATION_MOD_32PSK = 32; // 0x20
10645    field public static final int MODULATION_MOD_64APSK = 1024; // 0x400
10646    field public static final int MODULATION_MOD_8APSK = 128; // 0x80
10647    field public static final int MODULATION_MOD_8PSK = 4; // 0x4
10648    field public static final int MODULATION_MOD_ACM = 64; // 0x40
10649    field public static final int MODULATION_MOD_QPSK = 2; // 0x2
10650    field public static final int MODULATION_MOD_RESERVED = 8192; // 0x2000
10651    field public static final int MODULATION_UNDEFINED = 0; // 0x0
10652    field public static final int PILOT_AUTO = 3; // 0x3
10653    field public static final int PILOT_OFF = 2; // 0x2
10654    field public static final int PILOT_ON = 1; // 0x1
10655    field public static final int PILOT_UNDEFINED = 0; // 0x0
10656    field public static final int ROLLOFF_0_10 = 5; // 0x5
10657    field public static final int ROLLOFF_0_15 = 4; // 0x4
10658    field public static final int ROLLOFF_0_20 = 3; // 0x3
10659    field public static final int ROLLOFF_0_25 = 2; // 0x2
10660    field public static final int ROLLOFF_0_35 = 1; // 0x1
10661    field public static final int ROLLOFF_0_5 = 6; // 0x6
10662    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
10663    field public static final int SCAN_TYPE_DIRECT = 1; // 0x1
10664    field public static final int SCAN_TYPE_DISEQC = 2; // 0x2
10665    field public static final int SCAN_TYPE_JESS = 4; // 0x4
10666    field public static final int SCAN_TYPE_UNDEFINED = 0; // 0x0
10667    field public static final int SCAN_TYPE_UNICABLE = 3; // 0x3
10668    field public static final int STANDARD_AUTO = 1; // 0x1
10669    field public static final int STANDARD_S = 2; // 0x2
10670    field public static final int STANDARD_S2 = 4; // 0x4
10671    field public static final int STANDARD_S2X = 8; // 0x8
10672    field public static final int VCM_MODE_AUTO = 1; // 0x1
10673    field public static final int VCM_MODE_MANUAL = 2; // 0x2
10674    field public static final int VCM_MODE_UNDEFINED = 0; // 0x0
10675  }
10676
10677  public static class DvbsFrontendSettings.Builder {
10678    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings build();
10679    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setCanHandleDiseqcRxMessage(boolean);
10680    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setCodeRate(@Nullable android.media.tv.tuner.frontend.DvbsCodeRate);
10681    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setFrequency(int);
10682    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setFrequencyLong(long);
10683    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setInputStreamId(int);
10684    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setModulation(int);
10685    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setPilot(int);
10686    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setRolloff(int);
10687    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setScanType(int);
10688    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setStandard(int);
10689    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setSymbolRate(int);
10690    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setVcmMode(int);
10691  }
10692
10693  public class DvbtFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
10694    method public int getBandwidthCapability();
10695    method public int getCodeRateCapability();
10696    method public int getConstellationCapability();
10697    method public int getGuardIntervalCapability();
10698    method public int getHierarchyCapability();
10699    method public int getTransmissionModeCapability();
10700    method public boolean isMisoSupported();
10701    method public boolean isT2Supported();
10702  }
10703
10704  public class DvbtFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
10705    method @NonNull public static android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder builder();
10706    method public int getBandwidth();
10707    method public int getConstellation();
10708    method public int getGuardInterval();
10709    method public int getHierarchy();
10710    method public int getHighPriorityCodeRate();
10711    method public int getLowPriorityCodeRate();
10712    method public int getPlpGroupId();
10713    method public int getPlpId();
10714    method public int getPlpMode();
10715    method public int getStandard();
10716    method public int getTransmissionMode();
10717    method public int getType();
10718    method public boolean isHighPriority();
10719    method public boolean isMiso();
10720    field public static final int BANDWIDTH_10MHZ = 64; // 0x40
10721    field public static final int BANDWIDTH_1_7MHZ = 32; // 0x20
10722    field public static final int BANDWIDTH_5MHZ = 16; // 0x10
10723    field public static final int BANDWIDTH_6MHZ = 8; // 0x8
10724    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
10725    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
10726    field public static final int BANDWIDTH_AUTO = 1; // 0x1
10727    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
10728    field public static final int CODERATE_1_2 = 2; // 0x2
10729    field public static final int CODERATE_2_3 = 4; // 0x4
10730    field public static final int CODERATE_3_4 = 8; // 0x8
10731    field public static final int CODERATE_3_5 = 64; // 0x40
10732    field public static final int CODERATE_4_5 = 128; // 0x80
10733    field public static final int CODERATE_5_6 = 16; // 0x10
10734    field public static final int CODERATE_6_7 = 256; // 0x100
10735    field public static final int CODERATE_7_8 = 32; // 0x20
10736    field public static final int CODERATE_8_9 = 512; // 0x200
10737    field public static final int CODERATE_AUTO = 1; // 0x1
10738    field public static final int CODERATE_UNDEFINED = 0; // 0x0
10739    field public static final int CONSTELLATION_16QAM = 4; // 0x4
10740    field public static final int CONSTELLATION_16QAM_R = 64; // 0x40
10741    field public static final int CONSTELLATION_256QAM = 16; // 0x10
10742    field public static final int CONSTELLATION_256QAM_R = 256; // 0x100
10743    field public static final int CONSTELLATION_64QAM = 8; // 0x8
10744    field public static final int CONSTELLATION_64QAM_R = 128; // 0x80
10745    field public static final int CONSTELLATION_AUTO = 1; // 0x1
10746    field public static final int CONSTELLATION_QPSK = 2; // 0x2
10747    field public static final int CONSTELLATION_QPSK_R = 32; // 0x20
10748    field public static final int CONSTELLATION_UNDEFINED = 0; // 0x0
10749    field public static final int GUARD_INTERVAL_19_128 = 64; // 0x40
10750    field public static final int GUARD_INTERVAL_19_256 = 128; // 0x80
10751    field public static final int GUARD_INTERVAL_1_128 = 32; // 0x20
10752    field public static final int GUARD_INTERVAL_1_16 = 4; // 0x4
10753    field public static final int GUARD_INTERVAL_1_32 = 2; // 0x2
10754    field public static final int GUARD_INTERVAL_1_4 = 16; // 0x10
10755    field public static final int GUARD_INTERVAL_1_8 = 8; // 0x8
10756    field public static final int GUARD_INTERVAL_AUTO = 1; // 0x1
10757    field public static final int GUARD_INTERVAL_UNDEFINED = 0; // 0x0
10758    field public static final int HIERARCHY_1_INDEPTH = 64; // 0x40
10759    field public static final int HIERARCHY_1_NATIVE = 4; // 0x4
10760    field public static final int HIERARCHY_2_INDEPTH = 128; // 0x80
10761    field public static final int HIERARCHY_2_NATIVE = 8; // 0x8
10762    field public static final int HIERARCHY_4_INDEPTH = 256; // 0x100
10763    field public static final int HIERARCHY_4_NATIVE = 16; // 0x10
10764    field public static final int HIERARCHY_AUTO = 1; // 0x1
10765    field public static final int HIERARCHY_NON_INDEPTH = 32; // 0x20
10766    field public static final int HIERARCHY_NON_NATIVE = 2; // 0x2
10767    field public static final int HIERARCHY_UNDEFINED = 0; // 0x0
10768    field public static final int PLP_MODE_AUTO = 1; // 0x1
10769    field public static final int PLP_MODE_MANUAL = 2; // 0x2
10770    field public static final int PLP_MODE_UNDEFINED = 0; // 0x0
10771    field public static final int STANDARD_AUTO = 1; // 0x1
10772    field public static final int STANDARD_T = 2; // 0x2
10773    field public static final int STANDARD_T2 = 4; // 0x4
10774    field public static final int TRANSMISSION_MODE_16K = 32; // 0x20
10775    field public static final int TRANSMISSION_MODE_1K = 16; // 0x10
10776    field public static final int TRANSMISSION_MODE_2K = 2; // 0x2
10777    field public static final int TRANSMISSION_MODE_32K = 64; // 0x40
10778    field public static final int TRANSMISSION_MODE_4K = 8; // 0x8
10779    field public static final int TRANSMISSION_MODE_8K = 4; // 0x4
10780    field public static final int TRANSMISSION_MODE_AUTO = 1; // 0x1
10781    field public static final int TRANSMISSION_MODE_EXTENDED_16K = 256; // 0x100
10782    field public static final int TRANSMISSION_MODE_EXTENDED_32K = 512; // 0x200
10783    field public static final int TRANSMISSION_MODE_EXTENDED_8K = 128; // 0x80
10784    field public static final int TRANSMISSION_MODE_UNDEFINED = 0; // 0x0
10785  }
10786
10787  public static class DvbtFrontendSettings.Builder {
10788    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings build();
10789    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setBandwidth(int);
10790    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setConstellation(int);
10791    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setFrequency(int);
10792    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setFrequencyLong(long);
10793    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setGuardInterval(int);
10794    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHierarchy(int);
10795    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHighPriority(boolean);
10796    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHighPriorityCodeRate(int);
10797    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setLowPriorityCodeRate(int);
10798    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setMiso(boolean);
10799    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpGroupId(int);
10800    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpId(int);
10801    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpMode(int);
10802    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setStandard(int);
10803    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setTransmissionMode(int);
10804  }
10805
10806  public abstract class FrontendCapabilities {
10807    ctor public FrontendCapabilities();
10808  }
10809
10810  public class FrontendInfo {
10811    method @Deprecated public int getAcquireRange();
10812    method public long getAcquireRangeLong();
10813    method public int getExclusiveGroupId();
10814    method @Deprecated @NonNull public android.util.Range<java.lang.Integer> getFrequencyRange();
10815    method @NonNull public android.util.Range<java.lang.Long> getFrequencyRangeLong();
10816    method @NonNull public android.media.tv.tuner.frontend.FrontendCapabilities getFrontendCapabilities();
10817    method public int getId();
10818    method @NonNull public int[] getStatusCapabilities();
10819    method @NonNull public android.util.Range<java.lang.Integer> getSymbolRateRange();
10820    method public int getType();
10821  }
10822
10823  public abstract class FrontendSettings {
10824    method @Deprecated @IntRange(from=1) public int getEndFrequency();
10825    method @IntRange(from=1) public long getEndFrequencyLong();
10826    method @Deprecated public int getFrequency();
10827    method public long getFrequencyLong();
10828    method public int getFrontendSpectralInversion();
10829    method public abstract int getType();
10830    method @Deprecated @IntRange(from=1) public void setEndFrequency(int);
10831    method @IntRange(from=1) public void setEndFrequencyLong(long);
10832    method public void setSpectralInversion(int);
10833    field public static final long FEC_11_15 = 4194304L; // 0x400000L
10834    field public static final long FEC_11_20 = 8388608L; // 0x800000L
10835    field public static final long FEC_11_45 = 16777216L; // 0x1000000L
10836    field public static final long FEC_13_18 = 33554432L; // 0x2000000L
10837    field public static final long FEC_13_45 = 67108864L; // 0x4000000L
10838    field public static final long FEC_14_45 = 134217728L; // 0x8000000L
10839    field public static final long FEC_1_2 = 2L; // 0x2L
10840    field public static final long FEC_1_3 = 4L; // 0x4L
10841    field public static final long FEC_1_4 = 8L; // 0x8L
10842    field public static final long FEC_1_5 = 16L; // 0x10L
10843    field public static final long FEC_23_36 = 268435456L; // 0x10000000L
10844    field public static final long FEC_25_36 = 536870912L; // 0x20000000L
10845    field public static final long FEC_26_45 = 1073741824L; // 0x40000000L
10846    field public static final long FEC_28_45 = 2147483648L; // 0x80000000L
10847    field public static final long FEC_29_45 = 4294967296L; // 0x100000000L
10848    field public static final long FEC_2_3 = 32L; // 0x20L
10849    field public static final long FEC_2_5 = 64L; // 0x40L
10850    field public static final long FEC_2_9 = 128L; // 0x80L
10851    field public static final long FEC_31_45 = 8589934592L; // 0x200000000L
10852    field public static final long FEC_32_45 = 17179869184L; // 0x400000000L
10853    field public static final long FEC_3_4 = 256L; // 0x100L
10854    field public static final long FEC_3_5 = 512L; // 0x200L
10855    field public static final long FEC_4_15 = 2048L; // 0x800L
10856    field public static final long FEC_4_5 = 1024L; // 0x400L
10857    field public static final long FEC_5_6 = 4096L; // 0x1000L
10858    field public static final long FEC_5_9 = 8192L; // 0x2000L
10859    field public static final long FEC_6_7 = 16384L; // 0x4000L
10860    field public static final long FEC_77_90 = 34359738368L; // 0x800000000L
10861    field public static final long FEC_7_15 = 131072L; // 0x20000L
10862    field public static final long FEC_7_8 = 32768L; // 0x8000L
10863    field public static final long FEC_7_9 = 65536L; // 0x10000L
10864    field public static final long FEC_8_15 = 524288L; // 0x80000L
10865    field public static final long FEC_8_9 = 262144L; // 0x40000L
10866    field public static final long FEC_9_10 = 1048576L; // 0x100000L
10867    field public static final long FEC_9_20 = 2097152L; // 0x200000L
10868    field public static final long FEC_AUTO = 1L; // 0x1L
10869    field public static final long FEC_UNDEFINED = 0L; // 0x0L
10870    field public static final int FRONTEND_SPECTRAL_INVERSION_INVERTED = 2; // 0x2
10871    field public static final int FRONTEND_SPECTRAL_INVERSION_NORMAL = 1; // 0x1
10872    field public static final int FRONTEND_SPECTRAL_INVERSION_UNDEFINED = 0; // 0x0
10873    field public static final int TYPE_ANALOG = 1; // 0x1
10874    field public static final int TYPE_ATSC = 2; // 0x2
10875    field public static final int TYPE_ATSC3 = 3; // 0x3
10876    field public static final int TYPE_DTMB = 10; // 0xa
10877    field public static final int TYPE_DVBC = 4; // 0x4
10878    field public static final int TYPE_DVBS = 5; // 0x5
10879    field public static final int TYPE_DVBT = 6; // 0x6
10880    field public static final int TYPE_IPTV = 11; // 0xb
10881    field public static final int TYPE_ISDBS = 7; // 0x7
10882    field public static final int TYPE_ISDBS3 = 8; // 0x8
10883    field public static final int TYPE_ISDBT = 9; // 0x9
10884    field public static final int TYPE_UNDEFINED = 0; // 0x0
10885  }
10886
10887  public class FrontendStatus {
10888    method public int getAgc();
10889    method @NonNull public java.util.List<android.media.tv.tuner.frontend.Atsc3PlpInfo> getAllAtsc3PlpInfo();
10890    method @NonNull public android.media.tv.tuner.frontend.FrontendStatus.Atsc3PlpTuningInfo[] getAtsc3PlpTuningInfo();
10891    method public int getBandwidth();
10892    method public int getBer();
10893    method @NonNull public int[] getBers();
10894    method @NonNull public int[] getCodeRates();
10895    method @NonNull public int[] getDvbtCellIds();
10896    method @NonNull public int[] getExtendedModulations();
10897    method @Deprecated public int getFreqOffset();
10898    method public long getFreqOffsetLong();
10899    method public int getGuardInterval();
10900    method public int getHierarchy();
10901    method public long getInnerFec();
10902    method @NonNull public int[] getInterleaving();
10903    method @IntRange(from=0) public int getIptvAverageJitterMillis();
10904    method @NonNull public String getIptvContentUrl();
10905    method @IntRange(from=0) public long getIptvPacketsLost();
10906    method @IntRange(from=0) public long getIptvPacketsReceived();
10907    method @IntRange(from=0) public int getIptvWorstJitterMillis();
10908    method public int getIsdbtMode();
10909    method public int getIsdbtPartialReceptionFlag();
10910    method @IntRange(from=0, to=255) @NonNull public int[] getIsdbtSegment();
10911    method @NonNull public boolean[] getLayerErrors();
10912    method public int getLnbVoltage();
10913    method public int getMer();
10914    method public int getModulation();
10915    method public int getPer();
10916    method public int getPerBer();
10917    method public int getPlpId();
10918    method public int getRollOff();
10919    method public int getSignalQuality();
10920    method public int getSignalStrength();
10921    method public int getSnr();
10922    method public int getSpectralInversion();
10923    method @NonNull public int[] getStreamIds();
10924    method public int getSymbolRate();
10925    method @IntRange(from=0, to=65535) public int getSystemId();
10926    method public int getTransmissionMode();
10927    method @NonNull public int[] getTsDataRate();
10928    method public int getUec();
10929    method public boolean isDemodLocked();
10930    method public boolean isEwbs();
10931    method public boolean isLinear();
10932    method public boolean isLnaOn();
10933    method public boolean isMisoEnabled();
10934    method public boolean isRfLocked();
10935    method public boolean isShortFramesEnabled();
10936    field public static final int FRONTEND_STATUS_TYPE_AGC = 14; // 0xe
10937    field public static final int FRONTEND_STATUS_TYPE_ATSC3_ALL_PLP_INFO = 41; // 0x29
10938    field public static final int FRONTEND_STATUS_TYPE_ATSC3_PLP_INFO = 21; // 0x15
10939    field public static final int FRONTEND_STATUS_TYPE_BANDWIDTH = 25; // 0x19
10940    field public static final int FRONTEND_STATUS_TYPE_BER = 2; // 0x2
10941    field public static final int FRONTEND_STATUS_TYPE_BERS = 23; // 0x17
10942    field public static final int FRONTEND_STATUS_TYPE_CODERATES = 24; // 0x18
10943    field public static final int FRONTEND_STATUS_TYPE_DEMOD_LOCK = 0; // 0x0
10944    field public static final int FRONTEND_STATUS_TYPE_DVBT_CELL_IDS = 40; // 0x28
10945    field public static final int FRONTEND_STATUS_TYPE_EWBS = 13; // 0xd
10946    field public static final int FRONTEND_STATUS_TYPE_FEC = 8; // 0x8
10947    field public static final int FRONTEND_STATUS_TYPE_FREQ_OFFSET = 18; // 0x12
10948    field public static final int FRONTEND_STATUS_TYPE_GUARD_INTERVAL = 26; // 0x1a
10949    field public static final int FRONTEND_STATUS_TYPE_HIERARCHY = 19; // 0x13
10950    field public static final int FRONTEND_STATUS_TYPE_INTERLEAVINGS = 30; // 0x1e
10951    field public static final int FRONTEND_STATUS_TYPE_IPTV_AVERAGE_JITTER_MS = 46; // 0x2e
10952    field public static final int FRONTEND_STATUS_TYPE_IPTV_CONTENT_URL = 42; // 0x2a
10953    field public static final int FRONTEND_STATUS_TYPE_IPTV_PACKETS_LOST = 43; // 0x2b
10954    field public static final int FRONTEND_STATUS_TYPE_IPTV_PACKETS_RECEIVED = 44; // 0x2c
10955    field public static final int FRONTEND_STATUS_TYPE_IPTV_WORST_JITTER_MS = 45; // 0x2d
10956    field public static final int FRONTEND_STATUS_TYPE_ISDBT_MODE = 37; // 0x25
10957    field public static final int FRONTEND_STATUS_TYPE_ISDBT_PARTIAL_RECEPTION_FLAG = 38; // 0x26
10958    field public static final int FRONTEND_STATUS_TYPE_ISDBT_SEGMENTS = 31; // 0x1f
10959    field public static final int FRONTEND_STATUS_TYPE_IS_LINEAR = 35; // 0x23
10960    field public static final int FRONTEND_STATUS_TYPE_IS_MISO_ENABLED = 34; // 0x22
10961    field public static final int FRONTEND_STATUS_TYPE_IS_SHORT_FRAMES_ENABLED = 36; // 0x24
10962    field public static final int FRONTEND_STATUS_TYPE_LAYER_ERROR = 16; // 0x10
10963    field public static final int FRONTEND_STATUS_TYPE_LNA = 15; // 0xf
10964    field public static final int FRONTEND_STATUS_TYPE_LNB_VOLTAGE = 11; // 0xb
10965    field public static final int FRONTEND_STATUS_TYPE_MER = 17; // 0x11
10966    field public static final int FRONTEND_STATUS_TYPE_MODULATION = 9; // 0x9
10967    field public static final int FRONTEND_STATUS_TYPE_MODULATIONS_EXT = 22; // 0x16
10968    field public static final int FRONTEND_STATUS_TYPE_PER = 3; // 0x3
10969    field public static final int FRONTEND_STATUS_TYPE_PLP_ID = 12; // 0xc
10970    field public static final int FRONTEND_STATUS_TYPE_PRE_BER = 4; // 0x4
10971    field public static final int FRONTEND_STATUS_TYPE_RF_LOCK = 20; // 0x14
10972    field public static final int FRONTEND_STATUS_TYPE_ROLL_OFF = 33; // 0x21
10973    field public static final int FRONTEND_STATUS_TYPE_SIGNAL_QUALITY = 5; // 0x5
10974    field public static final int FRONTEND_STATUS_TYPE_SIGNAL_STRENGTH = 6; // 0x6
10975    field public static final int FRONTEND_STATUS_TYPE_SNR = 1; // 0x1
10976    field public static final int FRONTEND_STATUS_TYPE_SPECTRAL = 10; // 0xa
10977    field public static final int FRONTEND_STATUS_TYPE_STREAM_IDS = 39; // 0x27
10978    field public static final int FRONTEND_STATUS_TYPE_SYMBOL_RATE = 7; // 0x7
10979    field public static final int FRONTEND_STATUS_TYPE_T2_SYSTEM_ID = 29; // 0x1d
10980    field public static final int FRONTEND_STATUS_TYPE_TRANSMISSION_MODE = 27; // 0x1b
10981    field public static final int FRONTEND_STATUS_TYPE_TS_DATA_RATES = 32; // 0x20
10982    field public static final int FRONTEND_STATUS_TYPE_UEC = 28; // 0x1c
10983  }
10984
10985  public static class FrontendStatus.Atsc3PlpTuningInfo {
10986    method public int getPlpId();
10987    method public int getUec();
10988    method public boolean isLocked();
10989  }
10990
10991  public final class FrontendStatusReadiness {
10992    method public int getStatusReadiness();
10993    method public int getStatusType();
10994    field public static final int FRONTEND_STATUS_READINESS_STABLE = 3; // 0x3
10995    field public static final int FRONTEND_STATUS_READINESS_UNAVAILABLE = 1; // 0x1
10996    field public static final int FRONTEND_STATUS_READINESS_UNDEFINED = 0; // 0x0
10997    field public static final int FRONTEND_STATUS_READINESS_UNSTABLE = 2; // 0x2
10998    field public static final int FRONTEND_STATUS_READINESS_UNSUPPORTED = 4; // 0x4
10999  }
11000
11001  public class IptvFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
11002    method public int getProtocolCapability();
11003  }
11004
11005  public final class IptvFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
11006    method @IntRange(from=0) public long getBitrate();
11007    method @NonNull public String getContentUrl();
11008    method @NonNull @Size(min=4, max=16) public byte[] getDstIpAddress();
11009    method public int getDstPort();
11010    method @Nullable public android.media.tv.tuner.frontend.IptvFrontendSettingsFec getFec();
11011    method public int getIgmp();
11012    method public int getProtocol();
11013    method @NonNull @Size(min=4, max=16) public byte[] getSrcIpAddress();
11014    method public int getSrcPort();
11015    method public int getType();
11016    field public static final int IGMP_UNDEFINED = 0; // 0x0
11017    field public static final int IGMP_V1 = 1; // 0x1
11018    field public static final int IGMP_V2 = 2; // 0x2
11019    field public static final int IGMP_V3 = 4; // 0x4
11020    field public static final int PROTOCOL_RTP = 2; // 0x2
11021    field public static final int PROTOCOL_UDP = 1; // 0x1
11022    field public static final int PROTOCOL_UNDEFINED = 0; // 0x0
11023  }
11024
11025  public static final class IptvFrontendSettings.Builder {
11026    ctor public IptvFrontendSettings.Builder();
11027    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings build();
11028    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setBitrate(@IntRange(from=0) long);
11029    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setContentUrl(@NonNull String);
11030    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setDstIpAddress(@NonNull byte[]);
11031    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setDstPort(int);
11032    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setFec(@Nullable android.media.tv.tuner.frontend.IptvFrontendSettingsFec);
11033    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setIgmp(int);
11034    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setProtocol(int);
11035    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setSrcIpAddress(@NonNull byte[]);
11036    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setSrcPort(int);
11037  }
11038
11039  public final class IptvFrontendSettingsFec {
11040    method @IntRange(from=0) public int getFecColNum();
11041    method @IntRange(from=0) public int getFecRowNum();
11042    method public int getFecType();
11043    field public static final int FEC_TYPE_COLUMN = 1; // 0x1
11044    field public static final int FEC_TYPE_COLUMN_ROW = 4; // 0x4
11045    field public static final int FEC_TYPE_ROW = 2; // 0x2
11046    field public static final int FEC_TYPE_UNDEFINED = 0; // 0x0
11047  }
11048
11049  public static final class IptvFrontendSettingsFec.Builder {
11050    ctor public IptvFrontendSettingsFec.Builder();
11051    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettingsFec build();
11052    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettingsFec.Builder setFecColNum(@IntRange(from=0) int);
11053    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettingsFec.Builder setFecRowNum(@IntRange(from=0) int);
11054    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettingsFec.Builder setFecType(int);
11055  }
11056
11057  public class Isdbs3FrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
11058    method public int getCodeRateCapability();
11059    method public int getModulationCapability();
11060  }
11061
11062  public class Isdbs3FrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
11063    method @NonNull public static android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder builder();
11064    method public int getCodeRate();
11065    method public int getModulation();
11066    method public int getRolloff();
11067    method public int getStreamId();
11068    method public int getStreamIdType();
11069    method public int getSymbolRate();
11070    method public int getType();
11071    field public static final int CODERATE_1_2 = 8; // 0x8
11072    field public static final int CODERATE_1_3 = 2; // 0x2
11073    field public static final int CODERATE_2_3 = 32; // 0x20
11074    field public static final int CODERATE_2_5 = 4; // 0x4
11075    field public static final int CODERATE_3_4 = 64; // 0x40
11076    field public static final int CODERATE_3_5 = 16; // 0x10
11077    field public static final int CODERATE_4_5 = 256; // 0x100
11078    field public static final int CODERATE_5_6 = 512; // 0x200
11079    field public static final int CODERATE_7_8 = 1024; // 0x400
11080    field public static final int CODERATE_7_9 = 128; // 0x80
11081    field public static final int CODERATE_9_10 = 2048; // 0x800
11082    field public static final int CODERATE_AUTO = 1; // 0x1
11083    field public static final int CODERATE_UNDEFINED = 0; // 0x0
11084    field public static final int MODULATION_AUTO = 1; // 0x1
11085    field public static final int MODULATION_MOD_16APSK = 16; // 0x10
11086    field public static final int MODULATION_MOD_32APSK = 32; // 0x20
11087    field public static final int MODULATION_MOD_8PSK = 8; // 0x8
11088    field public static final int MODULATION_MOD_BPSK = 2; // 0x2
11089    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
11090    field public static final int MODULATION_UNDEFINED = 0; // 0x0
11091    field public static final int ROLLOFF_0_03 = 1; // 0x1
11092    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
11093  }
11094
11095  public static class Isdbs3FrontendSettings.Builder {
11096    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings build();
11097    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setCodeRate(int);
11098    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setFrequency(int);
11099    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setFrequencyLong(long);
11100    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setModulation(int);
11101    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setRolloff(int);
11102    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setStreamId(int);
11103    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setStreamIdType(int);
11104    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setSymbolRate(int);
11105  }
11106
11107  public class IsdbsFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
11108    method public int getCodeRateCapability();
11109    method public int getModulationCapability();
11110  }
11111
11112  public class IsdbsFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
11113    method @NonNull public static android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder builder();
11114    method public int getCodeRate();
11115    method public int getModulation();
11116    method public int getRolloff();
11117    method public int getStreamId();
11118    method public int getStreamIdType();
11119    method public int getSymbolRate();
11120    method public int getType();
11121    field public static final int CODERATE_1_2 = 2; // 0x2
11122    field public static final int CODERATE_2_3 = 4; // 0x4
11123    field public static final int CODERATE_3_4 = 8; // 0x8
11124    field public static final int CODERATE_5_6 = 16; // 0x10
11125    field public static final int CODERATE_7_8 = 32; // 0x20
11126    field public static final int CODERATE_AUTO = 1; // 0x1
11127    field public static final int CODERATE_UNDEFINED = 0; // 0x0
11128    field public static final int MODULATION_AUTO = 1; // 0x1
11129    field public static final int MODULATION_MOD_BPSK = 2; // 0x2
11130    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
11131    field public static final int MODULATION_MOD_TC8PSK = 8; // 0x8
11132    field public static final int MODULATION_UNDEFINED = 0; // 0x0
11133    field public static final int ROLLOFF_0_35 = 1; // 0x1
11134    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
11135    field public static final int STREAM_ID_TYPE_ID = 0; // 0x0
11136    field public static final int STREAM_ID_TYPE_RELATIVE_NUMBER = 1; // 0x1
11137  }
11138
11139  public static class IsdbsFrontendSettings.Builder {
11140    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings build();
11141    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setCodeRate(int);
11142    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setFrequency(int);
11143    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setFrequencyLong(long);
11144    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setModulation(int);
11145    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setRolloff(int);
11146    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setStreamId(int);
11147    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setStreamIdType(int);
11148    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setSymbolRate(int);
11149  }
11150
11151  public class IsdbtFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
11152    method public int getBandwidthCapability();
11153    method public int getCodeRateCapability();
11154    method public int getGuardIntervalCapability();
11155    method public int getModeCapability();
11156    method public int getModulationCapability();
11157    method public int getTimeInterleaveModeCapability();
11158    method public boolean isFullSegmentSupported();
11159    method public boolean isSegmentAutoSupported();
11160  }
11161
11162  public class IsdbtFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
11163    method @NonNull public static android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder builder();
11164    method public int getBandwidth();
11165    method @Deprecated public int getCodeRate();
11166    method public int getGuardInterval();
11167    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings[] getLayerSettings();
11168    method public int getMode();
11169    method @Deprecated public int getModulation();
11170    method public int getPartialReceptionFlag();
11171    method public int getServiceAreaId();
11172    method public int getType();
11173    field public static final int BANDWIDTH_6MHZ = 8; // 0x8
11174    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
11175    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
11176    field public static final int BANDWIDTH_AUTO = 1; // 0x1
11177    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
11178    field public static final int MODE_1 = 2; // 0x2
11179    field public static final int MODE_2 = 4; // 0x4
11180    field public static final int MODE_3 = 8; // 0x8
11181    field public static final int MODE_AUTO = 1; // 0x1
11182    field public static final int MODE_UNDEFINED = 0; // 0x0
11183    field public static final int MODULATION_AUTO = 1; // 0x1
11184    field public static final int MODULATION_MOD_16QAM = 8; // 0x8
11185    field public static final int MODULATION_MOD_64QAM = 16; // 0x10
11186    field public static final int MODULATION_MOD_DQPSK = 2; // 0x2
11187    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
11188    field public static final int MODULATION_UNDEFINED = 0; // 0x0
11189    field public static final int PARTIAL_RECEPTION_FLAG_FALSE = 2; // 0x2
11190    field public static final int PARTIAL_RECEPTION_FLAG_TRUE = 4; // 0x4
11191    field public static final int PARTIAL_RECEPTION_FLAG_UNDEFINED = 0; // 0x0
11192    field public static final int TIME_INTERLEAVE_MODE_1_0 = 2; // 0x2
11193    field public static final int TIME_INTERLEAVE_MODE_1_16 = 16; // 0x10
11194    field public static final int TIME_INTERLEAVE_MODE_1_4 = 4; // 0x4
11195    field public static final int TIME_INTERLEAVE_MODE_1_8 = 8; // 0x8
11196    field public static final int TIME_INTERLEAVE_MODE_2_0 = 32; // 0x20
11197    field public static final int TIME_INTERLEAVE_MODE_2_2 = 64; // 0x40
11198    field public static final int TIME_INTERLEAVE_MODE_2_4 = 128; // 0x80
11199    field public static final int TIME_INTERLEAVE_MODE_2_8 = 256; // 0x100
11200    field public static final int TIME_INTERLEAVE_MODE_3_0 = 512; // 0x200
11201    field public static final int TIME_INTERLEAVE_MODE_3_1 = 1024; // 0x400
11202    field public static final int TIME_INTERLEAVE_MODE_3_2 = 2048; // 0x800
11203    field public static final int TIME_INTERLEAVE_MODE_3_4 = 4096; // 0x1000
11204    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
11205    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
11206  }
11207
11208  public static class IsdbtFrontendSettings.Builder {
11209    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings build();
11210    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setBandwidth(int);
11211    method @Deprecated @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setCodeRate(int);
11212    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setFrequency(int);
11213    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setFrequencyLong(long);
11214    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setGuardInterval(int);
11215    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setLayerSettings(@NonNull android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings[]);
11216    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setMode(int);
11217    method @Deprecated @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setModulation(int);
11218    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setPartialReceptionFlag(int);
11219    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setServiceAreaId(int);
11220  }
11221
11222  public static final class IsdbtFrontendSettings.IsdbtLayerSettings {
11223    method @NonNull public static android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings.Builder builder();
11224    method public int getCodeRate();
11225    method public int getModulation();
11226    method @IntRange(from=0, to=255) public int getNumberOfSegments();
11227    method public int getTimeInterleaveMode();
11228  }
11229
11230  public static final class IsdbtFrontendSettings.IsdbtLayerSettings.Builder {
11231    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings build();
11232    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings.Builder setCodeRate(int);
11233    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings.Builder setModulation(int);
11234    method @IntRange(from=0, to=255) @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings.Builder setNumberOfSegments(int);
11235    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings.Builder setTimeInterleaveMode(int);
11236  }
11237
11238  public interface OnTuneEventListener {
11239    method public void onTuneEvent(int);
11240    field public static final int SIGNAL_LOCKED = 0; // 0x0
11241    field public static final int SIGNAL_LOST_LOCK = 2; // 0x2
11242    field public static final int SIGNAL_NO_SIGNAL = 1; // 0x1
11243  }
11244
11245  public interface ScanCallback {
11246    method public void onAnalogSifStandardReported(int);
11247    method public void onAtsc3PlpInfosReported(@NonNull android.media.tv.tuner.frontend.Atsc3PlpInfo[]);
11248    method public default void onDvbcAnnexReported(int);
11249    method public void onDvbsStandardReported(int);
11250    method public default void onDvbtCellIdsReported(@NonNull int[]);
11251    method public void onDvbtStandardReported(int);
11252    method public default void onFrequenciesLongReported(@NonNull long[]);
11253    method @Deprecated public void onFrequenciesReported(@NonNull int[]);
11254    method public void onGroupIdsReported(@NonNull int[]);
11255    method public void onHierarchyReported(int);
11256    method public void onInputStreamIdsReported(@NonNull int[]);
11257    method public void onLocked();
11258    method public default void onModulationReported(int);
11259    method public void onPlpIdsReported(@NonNull int[]);
11260    method public default void onPriorityReported(boolean);
11261    method public void onProgress(@IntRange(from=0, to=100) int);
11262    method public void onScanStopped();
11263    method public void onSignalTypeReported(int);
11264    method public void onSymbolRatesReported(@NonNull int[]);
11265    method public default void onUnlocked();
11266  }
11267
11268}
11269
11270package android.media.voice {
11271
11272  public final class KeyphraseModelManager {
11273    method @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public void deleteKeyphraseSoundModel(int, @NonNull java.util.Locale);
11274    method @Nullable @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel getKeyphraseSoundModel(int, @NonNull java.util.Locale);
11275    method @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public void updateKeyphraseSoundModel(@NonNull android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel);
11276  }
11277
11278}
11279
11280package android.metrics {
11281
11282  public class LogMaker {
11283    ctor public LogMaker(int);
11284    ctor public LogMaker(Object[]);
11285    method public android.metrics.LogMaker addTaggedData(int, Object);
11286    method public android.metrics.LogMaker clearCategory();
11287    method public android.metrics.LogMaker clearPackageName();
11288    method public android.metrics.LogMaker clearSubtype();
11289    method public android.metrics.LogMaker clearTaggedData(int);
11290    method public android.metrics.LogMaker clearType();
11291    method public void deserialize(Object[]);
11292    method public int getCategory();
11293    method public long getCounterBucket();
11294    method public String getCounterName();
11295    method public int getCounterValue();
11296    method public String getPackageName();
11297    method public int getProcessId();
11298    method public int getSubtype();
11299    method public Object getTaggedData(int);
11300    method public long getTimestamp();
11301    method public int getType();
11302    method public int getUid();
11303    method public boolean isLongCounterBucket();
11304    method public boolean isSubsetOf(android.metrics.LogMaker);
11305    method public boolean isValidValue(Object);
11306    method public Object[] serialize();
11307    method public android.metrics.LogMaker setCategory(int);
11308    method public android.metrics.LogMaker setPackageName(String);
11309    method public android.metrics.LogMaker setSubtype(int);
11310    method public android.metrics.LogMaker setType(int);
11311  }
11312
11313  public class MetricsReader {
11314    ctor public MetricsReader();
11315    method public void checkpoint();
11316    method public boolean hasNext();
11317    method public android.metrics.LogMaker next();
11318    method public void read(long);
11319    method public void reset();
11320  }
11321
11322}
11323
11324package android.nearby {
11325
11326  public interface BroadcastCallback {
11327    method public void onStatusChanged(int);
11328    field public static final int STATUS_FAILURE = 1; // 0x1
11329    field public static final int STATUS_FAILURE_ALREADY_REGISTERED = 2; // 0x2
11330    field public static final int STATUS_FAILURE_MISSING_PERMISSIONS = 4; // 0x4
11331    field public static final int STATUS_FAILURE_SIZE_EXCEED_LIMIT = 3; // 0x3
11332    field public static final int STATUS_OK = 0; // 0x0
11333  }
11334
11335  public abstract class BroadcastRequest {
11336    method @NonNull public java.util.List<java.lang.Integer> getMediums();
11337    method @IntRange(from=0xffffff81, to=126) public int getTxPower();
11338    method public int getType();
11339    method public int getVersion();
11340    field public static final int BROADCAST_TYPE_NEARBY_PRESENCE = 3; // 0x3
11341    field public static final int BROADCAST_TYPE_UNKNOWN = -1; // 0xffffffff
11342    field public static final int MEDIUM_BLE = 1; // 0x1
11343    field public static final int PRESENCE_VERSION_UNKNOWN = -1; // 0xffffffff
11344    field public static final int PRESENCE_VERSION_V0 = 0; // 0x0
11345    field public static final int PRESENCE_VERSION_V1 = 1; // 0x1
11346    field public static final int UNKNOWN_TX_POWER = -127; // 0xffffff81
11347  }
11348
11349  public final class CredentialElement implements android.os.Parcelable {
11350    ctor public CredentialElement(@NonNull String, @NonNull byte[]);
11351    method public int describeContents();
11352    method @NonNull public String getKey();
11353    method @NonNull public byte[] getValue();
11354    method public void writeToParcel(@NonNull android.os.Parcel, int);
11355    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.CredentialElement> CREATOR;
11356  }
11357
11358  public final class DataElement implements android.os.Parcelable {
11359    ctor public DataElement(int, @NonNull byte[]);
11360    method public int describeContents();
11361    method public int getKey();
11362    method @NonNull public byte[] getValue();
11363    method public void writeToParcel(@NonNull android.os.Parcel, int);
11364    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.DataElement> CREATOR;
11365  }
11366
11367  public abstract class NearbyDevice {
11368    method @NonNull public java.util.List<java.lang.Integer> getMediums();
11369    method @Nullable public String getName();
11370    method @IntRange(from=0xffffff81, to=126) public int getRssi();
11371    method public static boolean isValidMedium(int);
11372  }
11373
11374  public class NearbyManager {
11375    method public void queryOffloadCapability(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.nearby.OffloadCapability>);
11376    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);
11377    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);
11378    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopBroadcast(@NonNull android.nearby.BroadcastCallback);
11379    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopScan(@NonNull android.nearby.ScanCallback);
11380  }
11381
11382  public final class OffloadCapability implements android.os.Parcelable {
11383    method public int describeContents();
11384    method public long getVersion();
11385    method public boolean isFastPairSupported();
11386    method public boolean isNearbyShareSupported();
11387    method public void writeToParcel(@NonNull android.os.Parcel, int);
11388    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.OffloadCapability> CREATOR;
11389  }
11390
11391  public static final class OffloadCapability.Builder {
11392    ctor public OffloadCapability.Builder();
11393    method @NonNull public android.nearby.OffloadCapability build();
11394    method @NonNull public android.nearby.OffloadCapability.Builder setFastPairSupported(boolean);
11395    method @NonNull public android.nearby.OffloadCapability.Builder setNearbyShareSupported(boolean);
11396    method @NonNull public android.nearby.OffloadCapability.Builder setVersion(long);
11397  }
11398
11399  public final class PresenceBroadcastRequest extends android.nearby.BroadcastRequest implements android.os.Parcelable {
11400    method public int describeContents();
11401    method @NonNull public java.util.List<java.lang.Integer> getActions();
11402    method @NonNull public android.nearby.PrivateCredential getCredential();
11403    method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
11404    method @NonNull public byte[] getSalt();
11405    method public void writeToParcel(@NonNull android.os.Parcel, int);
11406    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceBroadcastRequest> CREATOR;
11407  }
11408
11409  public static final class PresenceBroadcastRequest.Builder {
11410    ctor public PresenceBroadcastRequest.Builder(@NonNull java.util.List<java.lang.Integer>, @NonNull byte[], @NonNull android.nearby.PrivateCredential);
11411    method @NonNull public android.nearby.PresenceBroadcastRequest.Builder addAction(@IntRange(from=1, to=255) int);
11412    method @NonNull public android.nearby.PresenceBroadcastRequest.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
11413    method @NonNull public android.nearby.PresenceBroadcastRequest build();
11414    method @NonNull public android.nearby.PresenceBroadcastRequest.Builder setTxPower(@IntRange(from=0xffffff81, to=126) int);
11415    method @NonNull public android.nearby.PresenceBroadcastRequest.Builder setVersion(int);
11416  }
11417
11418  public abstract class PresenceCredential {
11419    method @NonNull public byte[] getAuthenticityKey();
11420    method @NonNull public java.util.List<android.nearby.CredentialElement> getCredentialElements();
11421    method public int getIdentityType();
11422    method @NonNull public byte[] getSecretId();
11423    method public int getType();
11424    field public static final int CREDENTIAL_TYPE_PRIVATE = 0; // 0x0
11425    field public static final int CREDENTIAL_TYPE_PUBLIC = 1; // 0x1
11426    field public static final int IDENTITY_TYPE_PRIVATE = 1; // 0x1
11427    field public static final int IDENTITY_TYPE_PROVISIONED = 2; // 0x2
11428    field public static final int IDENTITY_TYPE_TRUSTED = 3; // 0x3
11429    field public static final int IDENTITY_TYPE_UNKNOWN = 0; // 0x0
11430  }
11431
11432  public final class PresenceDevice extends android.nearby.NearbyDevice implements android.os.Parcelable {
11433    method public int describeContents();
11434    method @NonNull public String getDeviceId();
11435    method @Nullable public String getDeviceImageUrl();
11436    method public int getDeviceType();
11437    method public long getDiscoveryTimestampMillis();
11438    method @NonNull public byte[] getEncryptedIdentity();
11439    method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
11440    method @NonNull public byte[] getSalt();
11441    method @NonNull public byte[] getSecretId();
11442    method public void writeToParcel(@NonNull android.os.Parcel, int);
11443    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceDevice> CREATOR;
11444  }
11445
11446  public static final class PresenceDevice.Builder {
11447    ctor public PresenceDevice.Builder(@NonNull String, @NonNull byte[], @NonNull byte[], @NonNull byte[]);
11448    method @NonNull public android.nearby.PresenceDevice.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
11449    method @NonNull public android.nearby.PresenceDevice.Builder addMedium(int);
11450    method @NonNull public android.nearby.PresenceDevice build();
11451    method @NonNull public android.nearby.PresenceDevice.Builder setDeviceImageUrl(@Nullable String);
11452    method @NonNull public android.nearby.PresenceDevice.Builder setDeviceType(int);
11453    method @NonNull public android.nearby.PresenceDevice.Builder setDiscoveryTimestampMillis(long);
11454    method @NonNull public android.nearby.PresenceDevice.Builder setName(@Nullable String);
11455    method @NonNull public android.nearby.PresenceDevice.Builder setRssi(int);
11456  }
11457
11458  public final class PresenceScanFilter extends android.nearby.ScanFilter implements android.os.Parcelable {
11459    method public int describeContents();
11460    method @NonNull public java.util.List<android.nearby.PublicCredential> getCredentials();
11461    method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
11462    method @NonNull public java.util.List<java.lang.Integer> getPresenceActions();
11463    method public void writeToParcel(@NonNull android.os.Parcel, int);
11464    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceScanFilter> CREATOR;
11465  }
11466
11467  public static final class PresenceScanFilter.Builder {
11468    ctor public PresenceScanFilter.Builder();
11469    method @NonNull public android.nearby.PresenceScanFilter.Builder addCredential(@NonNull android.nearby.PublicCredential);
11470    method @NonNull public android.nearby.PresenceScanFilter.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
11471    method @NonNull public android.nearby.PresenceScanFilter.Builder addPresenceAction(@IntRange(from=1, to=255) int);
11472    method @NonNull public android.nearby.PresenceScanFilter build();
11473    method @NonNull public android.nearby.PresenceScanFilter.Builder setMaxPathLoss(@IntRange(from=0, to=127) int);
11474  }
11475
11476  public final class PrivateCredential extends android.nearby.PresenceCredential implements android.os.Parcelable {
11477    method public int describeContents();
11478    method @NonNull public String getDeviceName();
11479    method @NonNull public byte[] getMetadataEncryptionKey();
11480    method public void writeToParcel(@NonNull android.os.Parcel, int);
11481    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PrivateCredential> CREATOR;
11482  }
11483
11484  public static final class PrivateCredential.Builder {
11485    ctor public PrivateCredential.Builder(@NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull String);
11486    method @NonNull public android.nearby.PrivateCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement);
11487    method @NonNull public android.nearby.PrivateCredential build();
11488    method @NonNull public android.nearby.PrivateCredential.Builder setIdentityType(int);
11489  }
11490
11491  public final class PublicCredential extends android.nearby.PresenceCredential implements android.os.Parcelable {
11492    method public int describeContents();
11493    method @NonNull public byte[] getEncryptedMetadata();
11494    method @NonNull public byte[] getEncryptedMetadataKeyTag();
11495    method @NonNull public byte[] getPublicKey();
11496    method public void writeToParcel(@NonNull android.os.Parcel, int);
11497    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PublicCredential> CREATOR;
11498  }
11499
11500  public static final class PublicCredential.Builder {
11501    ctor public PublicCredential.Builder(@NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull byte[]);
11502    method @NonNull public android.nearby.PublicCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement);
11503    method @NonNull public android.nearby.PublicCredential build();
11504    method @NonNull public android.nearby.PublicCredential.Builder setIdentityType(int);
11505  }
11506
11507  public interface ScanCallback {
11508    method public void onDiscovered(@NonNull android.nearby.NearbyDevice);
11509    method public default void onError(int);
11510    method public void onLost(@NonNull android.nearby.NearbyDevice);
11511    method public void onUpdated(@NonNull android.nearby.NearbyDevice);
11512    field public static final int ERROR_INVALID_ARGUMENT = 2; // 0x2
11513    field public static final int ERROR_PERMISSION_DENIED = 3; // 0x3
11514    field public static final int ERROR_RESOURCE_EXHAUSTED = 4; // 0x4
11515    field public static final int ERROR_UNKNOWN = 0; // 0x0
11516    field public static final int ERROR_UNSUPPORTED = 1; // 0x1
11517  }
11518
11519  public abstract class ScanFilter {
11520    method @IntRange(from=0, to=127) public int getMaxPathLoss();
11521    method public int getType();
11522  }
11523
11524  public final class ScanRequest implements android.os.Parcelable {
11525    method public int describeContents();
11526    method @NonNull public java.util.List<android.nearby.ScanFilter> getScanFilters();
11527    method public int getScanMode();
11528    method public int getScanType();
11529    method @NonNull public android.os.WorkSource getWorkSource();
11530    method public boolean isBleEnabled();
11531    method public boolean isOffloadOnly();
11532    method public static boolean isValidScanMode(int);
11533    method public static boolean isValidScanType(int);
11534    method @NonNull public static String scanModeToString(int);
11535    method public void writeToParcel(@NonNull android.os.Parcel, int);
11536    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.ScanRequest> CREATOR;
11537    field public static final int SCAN_MODE_BALANCED = 1; // 0x1
11538    field public static final int SCAN_MODE_LOW_LATENCY = 2; // 0x2
11539    field public static final int SCAN_MODE_LOW_POWER = 0; // 0x0
11540    field public static final int SCAN_MODE_NO_POWER = -1; // 0xffffffff
11541    field public static final int SCAN_TYPE_FAST_PAIR = 1; // 0x1
11542    field public static final int SCAN_TYPE_NEARBY_PRESENCE = 2; // 0x2
11543  }
11544
11545  public static final class ScanRequest.Builder {
11546    ctor public ScanRequest.Builder();
11547    method @NonNull public android.nearby.ScanRequest.Builder addScanFilter(@NonNull android.nearby.ScanFilter);
11548    method @NonNull public android.nearby.ScanRequest build();
11549    method @NonNull public android.nearby.ScanRequest.Builder setBleEnabled(boolean);
11550    method @NonNull public android.nearby.ScanRequest.Builder setOffloadOnly(boolean);
11551    method @NonNull public android.nearby.ScanRequest.Builder setScanMode(int);
11552    method @NonNull public android.nearby.ScanRequest.Builder setScanType(int);
11553    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.nearby.ScanRequest.Builder setWorkSource(@Nullable android.os.WorkSource);
11554  }
11555
11556}
11557
11558package android.net {
11559
11560  public class CaptivePortal implements android.os.Parcelable {
11561    method @Deprecated public void logEvent(int, @NonNull String);
11562    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void reevaluateNetwork();
11563    method public void useNetwork();
11564    field public static final int APP_REQUEST_REEVALUATION_REQUIRED = 100; // 0x64
11565    field public static final int APP_RETURN_DISMISSED = 0; // 0x0
11566    field public static final int APP_RETURN_UNWANTED = 1; // 0x1
11567    field public static final int APP_RETURN_WANTED_AS_IS = 2; // 0x2
11568  }
11569
11570  public final class CaptivePortalData implements android.os.Parcelable {
11571    method public int describeContents();
11572    method public long getByteLimit();
11573    method public long getExpiryTimeMillis();
11574    method public long getRefreshTimeMillis();
11575    method @Nullable public android.net.Uri getUserPortalUrl();
11576    method public int getUserPortalUrlSource();
11577    method @Nullable public CharSequence getVenueFriendlyName();
11578    method @Nullable public android.net.Uri getVenueInfoUrl();
11579    method public int getVenueInfoUrlSource();
11580    method public boolean isCaptive();
11581    method public boolean isSessionExtendable();
11582    method public void writeToParcel(@NonNull android.os.Parcel, int);
11583    field public static final int CAPTIVE_PORTAL_DATA_SOURCE_OTHER = 0; // 0x0
11584    field public static final int CAPTIVE_PORTAL_DATA_SOURCE_PASSPOINT = 1; // 0x1
11585    field @NonNull public static final android.os.Parcelable.Creator<android.net.CaptivePortalData> CREATOR;
11586  }
11587
11588  public static class CaptivePortalData.Builder {
11589    ctor public CaptivePortalData.Builder();
11590    ctor public CaptivePortalData.Builder(@Nullable android.net.CaptivePortalData);
11591    method @NonNull public android.net.CaptivePortalData build();
11592    method @NonNull public android.net.CaptivePortalData.Builder setBytesRemaining(long);
11593    method @NonNull public android.net.CaptivePortalData.Builder setCaptive(boolean);
11594    method @NonNull public android.net.CaptivePortalData.Builder setExpiryTime(long);
11595    method @NonNull public android.net.CaptivePortalData.Builder setRefreshTime(long);
11596    method @NonNull public android.net.CaptivePortalData.Builder setSessionExtendable(boolean);
11597    method @NonNull public android.net.CaptivePortalData.Builder setUserPortalUrl(@Nullable android.net.Uri);
11598    method @NonNull public android.net.CaptivePortalData.Builder setUserPortalUrl(@Nullable android.net.Uri, int);
11599    method @NonNull public android.net.CaptivePortalData.Builder setVenueFriendlyName(@Nullable CharSequence);
11600    method @NonNull public android.net.CaptivePortalData.Builder setVenueInfoUrl(@Nullable android.net.Uri);
11601    method @NonNull public android.net.CaptivePortalData.Builder setVenueInfoUrl(@Nullable android.net.Uri, int);
11602  }
11603
11604  public class ConnectivityManager {
11605    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);
11606    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);
11607    method @Deprecated @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String getCaptivePortalServerUrl();
11608    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void getLatestTetheringEntitlementResult(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEntitlementResultListener);
11609    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public boolean isTetheringSupported();
11610    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public int registerNetworkProvider(@NonNull android.net.NetworkProvider);
11611    method public void registerQosCallback(@NonNull android.net.QosSocketInfo, @NonNull java.util.concurrent.Executor, @NonNull android.net.QosCallback);
11612    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
11613    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);
11614    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);
11615    method @RequiresPermission(android.Manifest.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE) public void setOemNetworkPreference(@NonNull android.net.OemNetworkPreferences, @Nullable java.util.concurrent.Executor, @Nullable Runnable);
11616    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public boolean shouldAvoidBadWifi();
11617    method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public void startCaptivePortalApp(@NonNull android.net.Network, @NonNull android.os.Bundle);
11618    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback);
11619    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback, android.os.Handler);
11620    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void stopTethering(int);
11621    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public void unregisterNetworkProvider(@NonNull android.net.NetworkProvider);
11622    method public void unregisterQosCallback(@NonNull android.net.QosCallback);
11623    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void unregisterTetheringEventCallback(@NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
11624    field public static final String EXTRA_CAPTIVE_PORTAL_PROBE_SPEC = "android.net.extra.CAPTIVE_PORTAL_PROBE_SPEC";
11625    field public static final String EXTRA_CAPTIVE_PORTAL_USER_AGENT = "android.net.extra.CAPTIVE_PORTAL_USER_AGENT";
11626    field public static final int TETHERING_BLUETOOTH = 2; // 0x2
11627    field public static final int TETHERING_USB = 1; // 0x1
11628    field public static final int TETHERING_WIFI = 0; // 0x0
11629    field @Deprecated public static final int TETHER_ERROR_ENTITLEMENT_UNKONWN = 13; // 0xd
11630    field @Deprecated public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0
11631    field @Deprecated public static final int TETHER_ERROR_PROVISION_FAILED = 11; // 0xb
11632    field public static final int TYPE_NONE = -1; // 0xffffffff
11633    field @Deprecated public static final int TYPE_PROXY = 16; // 0x10
11634    field @Deprecated public static final int TYPE_WIFI_P2P = 13; // 0xd
11635  }
11636
11637  @Deprecated public abstract static class ConnectivityManager.OnStartTetheringCallback {
11638    ctor @Deprecated public ConnectivityManager.OnStartTetheringCallback();
11639    method @Deprecated public void onTetheringFailed();
11640    method @Deprecated public void onTetheringStarted();
11641  }
11642
11643  @Deprecated public static interface ConnectivityManager.OnTetheringEntitlementResultListener {
11644    method @Deprecated public void onTetheringEntitlementResult(int);
11645  }
11646
11647  @Deprecated public abstract static class ConnectivityManager.OnTetheringEventCallback {
11648    ctor @Deprecated public ConnectivityManager.OnTetheringEventCallback();
11649    method @Deprecated public void onUpstreamChanged(@Nullable android.net.Network);
11650  }
11651
11652  public final class DscpPolicy implements android.os.Parcelable {
11653    method @Nullable public java.net.InetAddress getDestinationAddress();
11654    method @Nullable public android.util.Range<java.lang.Integer> getDestinationPortRange();
11655    method public int getDscpValue();
11656    method public int getPolicyId();
11657    method public int getProtocol();
11658    method @Nullable public java.net.InetAddress getSourceAddress();
11659    method public int getSourcePort();
11660    field @NonNull public static final android.os.Parcelable.Creator<android.net.DscpPolicy> CREATOR;
11661    field public static final int PROTOCOL_ANY = -1; // 0xffffffff
11662    field public static final int SOURCE_PORT_ANY = -1; // 0xffffffff
11663  }
11664
11665  public static final class DscpPolicy.Builder {
11666    ctor public DscpPolicy.Builder(int, int);
11667    method @NonNull public android.net.DscpPolicy build();
11668    method @NonNull public android.net.DscpPolicy.Builder setDestinationAddress(@NonNull java.net.InetAddress);
11669    method @NonNull public android.net.DscpPolicy.Builder setDestinationPortRange(@NonNull android.util.Range<java.lang.Integer>);
11670    method @NonNull public android.net.DscpPolicy.Builder setProtocol(int);
11671    method @NonNull public android.net.DscpPolicy.Builder setSourceAddress(@NonNull java.net.InetAddress);
11672    method @NonNull public android.net.DscpPolicy.Builder setSourcePort(int);
11673  }
11674
11675  public class EthernetManager {
11676    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>);
11677    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>);
11678    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);
11679    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>);
11680  }
11681
11682  public static interface EthernetManager.TetheredInterfaceCallback {
11683    method public void onAvailable(@NonNull String);
11684    method public void onUnavailable();
11685  }
11686
11687  public static class EthernetManager.TetheredInterfaceRequest {
11688    method public void release();
11689  }
11690
11691  public final class EthernetNetworkManagementException extends java.lang.RuntimeException implements android.os.Parcelable {
11692    ctor public EthernetNetworkManagementException(@NonNull String);
11693    method public int describeContents();
11694    method public void writeToParcel(@NonNull android.os.Parcel, int);
11695    field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkManagementException> CREATOR;
11696  }
11697
11698  public final class EthernetNetworkUpdateRequest implements android.os.Parcelable {
11699    method public int describeContents();
11700    method @Nullable public android.net.IpConfiguration getIpConfiguration();
11701    method @Nullable public android.net.NetworkCapabilities getNetworkCapabilities();
11702    method public void writeToParcel(@NonNull android.os.Parcel, int);
11703    field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkUpdateRequest> CREATOR;
11704  }
11705
11706  public static final class EthernetNetworkUpdateRequest.Builder {
11707    ctor public EthernetNetworkUpdateRequest.Builder();
11708    ctor public EthernetNetworkUpdateRequest.Builder(@NonNull android.net.EthernetNetworkUpdateRequest);
11709    method @NonNull public android.net.EthernetNetworkUpdateRequest build();
11710    method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setIpConfiguration(@Nullable android.net.IpConfiguration);
11711    method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setNetworkCapabilities(@Nullable android.net.NetworkCapabilities);
11712  }
11713
11714  public final class InvalidPacketException extends java.lang.Exception {
11715    ctor public InvalidPacketException(int);
11716    method public int getError();
11717    field public static final int ERROR_INVALID_IP_ADDRESS = -21; // 0xffffffeb
11718    field public static final int ERROR_INVALID_LENGTH = -23; // 0xffffffe9
11719    field public static final int ERROR_INVALID_PORT = -22; // 0xffffffea
11720  }
11721
11722  public final class IpConfiguration implements android.os.Parcelable {
11723    ctor public IpConfiguration();
11724    ctor public IpConfiguration(@NonNull android.net.IpConfiguration);
11725    method @NonNull public android.net.IpConfiguration.IpAssignment getIpAssignment();
11726    method @NonNull public android.net.IpConfiguration.ProxySettings getProxySettings();
11727    method public void setHttpProxy(@Nullable android.net.ProxyInfo);
11728    method public void setIpAssignment(@NonNull android.net.IpConfiguration.IpAssignment);
11729    method public void setProxySettings(@NonNull android.net.IpConfiguration.ProxySettings);
11730    method public void setStaticIpConfiguration(@Nullable android.net.StaticIpConfiguration);
11731  }
11732
11733  public enum IpConfiguration.IpAssignment {
11734    enum_constant public static final android.net.IpConfiguration.IpAssignment DHCP;
11735    enum_constant public static final android.net.IpConfiguration.IpAssignment STATIC;
11736    enum_constant public static final android.net.IpConfiguration.IpAssignment UNASSIGNED;
11737  }
11738
11739  public enum IpConfiguration.ProxySettings {
11740    enum_constant public static final android.net.IpConfiguration.ProxySettings NONE;
11741    enum_constant public static final android.net.IpConfiguration.ProxySettings PAC;
11742    enum_constant public static final android.net.IpConfiguration.ProxySettings STATIC;
11743    enum_constant public static final android.net.IpConfiguration.ProxySettings UNASSIGNED;
11744  }
11745
11746  public final class IpPrefix implements android.os.Parcelable {
11747    ctor public IpPrefix(@NonNull String);
11748  }
11749
11750  public class IpSecManager {
11751    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;
11752    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;
11753    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void startTunnelModeTransformMigration(@NonNull android.net.IpSecTransform, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress);
11754  }
11755
11756  public static final class IpSecManager.IpSecTunnelInterface implements java.lang.AutoCloseable {
11757    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void addAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
11758    method public void close();
11759    method @NonNull public String getInterfaceName();
11760    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void removeAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
11761    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void setUnderlyingNetwork(@NonNull android.net.Network) throws java.io.IOException;
11762  }
11763
11764  public static class IpSecTransform.Builder {
11765    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;
11766  }
11767
11768  public class KeepalivePacketData {
11769    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;
11770    method @NonNull public java.net.InetAddress getDstAddress();
11771    method public int getDstPort();
11772    method @NonNull public byte[] getPacket();
11773    method @NonNull public java.net.InetAddress getSrcAddress();
11774    method public int getSrcPort();
11775  }
11776
11777  public class LinkAddress implements android.os.Parcelable {
11778    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int);
11779    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int, long, long);
11780    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int);
11781    ctor public LinkAddress(@NonNull String);
11782    ctor public LinkAddress(@NonNull String, int, int);
11783    method public long getDeprecationTime();
11784    method public long getExpirationTime();
11785    method public boolean isGlobalPreferred();
11786    method public boolean isIpv4();
11787    method public boolean isIpv6();
11788    method public boolean isSameAddressAs(@Nullable android.net.LinkAddress);
11789    field public static final long LIFETIME_PERMANENT = 9223372036854775807L; // 0x7fffffffffffffffL
11790    field public static final long LIFETIME_UNKNOWN = -1L; // 0xffffffffffffffffL
11791  }
11792
11793  public final class LinkProperties implements android.os.Parcelable {
11794    ctor public LinkProperties(@Nullable android.net.LinkProperties);
11795    ctor public LinkProperties(@Nullable android.net.LinkProperties, boolean);
11796    method public boolean addDnsServer(@NonNull java.net.InetAddress);
11797    method public boolean addLinkAddress(@NonNull android.net.LinkAddress);
11798    method public boolean addPcscfServer(@NonNull java.net.InetAddress);
11799    method @NonNull public java.util.List<java.net.InetAddress> getAddresses();
11800    method @NonNull public java.util.List<java.lang.String> getAllInterfaceNames();
11801    method @NonNull public java.util.List<android.net.LinkAddress> getAllLinkAddresses();
11802    method @NonNull public java.util.List<android.net.RouteInfo> getAllRoutes();
11803    method @Nullable public android.net.Uri getCaptivePortalApiUrl();
11804    method @Nullable public android.net.CaptivePortalData getCaptivePortalData();
11805    method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers();
11806    method @Nullable public String getTcpBufferSizes();
11807    method @NonNull public java.util.List<java.net.InetAddress> getValidatedPrivateDnsServers();
11808    method public boolean hasGlobalIpv6Address();
11809    method public boolean hasIpv4Address();
11810    method public boolean hasIpv4DefaultRoute();
11811    method public boolean hasIpv4DnsServer();
11812    method public boolean hasIpv6DefaultRoute();
11813    method public boolean hasIpv6DnsServer();
11814    method public boolean isIpv4Provisioned();
11815    method public boolean isIpv6Provisioned();
11816    method public boolean isProvisioned();
11817    method public boolean isReachable(@NonNull java.net.InetAddress);
11818    method public boolean removeDnsServer(@NonNull java.net.InetAddress);
11819    method public boolean removeLinkAddress(@NonNull android.net.LinkAddress);
11820    method public boolean removeRoute(@NonNull android.net.RouteInfo);
11821    method public void setCaptivePortalApiUrl(@Nullable android.net.Uri);
11822    method public void setCaptivePortalData(@Nullable android.net.CaptivePortalData);
11823    method public void setPcscfServers(@NonNull java.util.Collection<java.net.InetAddress>);
11824    method public void setPrivateDnsServerName(@Nullable String);
11825    method public void setTcpBufferSizes(@Nullable String);
11826    method public void setUsePrivateDns(boolean);
11827    method public void setValidatedPrivateDnsServers(@NonNull java.util.Collection<java.net.InetAddress>);
11828  }
11829
11830  public final class MatchAllNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
11831    ctor public MatchAllNetworkSpecifier();
11832    method public int describeContents();
11833    method public void writeToParcel(@NonNull android.os.Parcel, int);
11834    field @NonNull public static final android.os.Parcelable.Creator<android.net.MatchAllNetworkSpecifier> CREATOR;
11835  }
11836
11837  public final class NattKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable {
11838    ctor public NattKeepalivePacketData(@NonNull java.net.InetAddress, int, @NonNull java.net.InetAddress, int, @NonNull byte[]) throws android.net.InvalidPacketException;
11839    method public int describeContents();
11840    method public void writeToParcel(@NonNull android.os.Parcel, int);
11841    field @NonNull public static final android.os.Parcelable.Creator<android.net.NattKeepalivePacketData> CREATOR;
11842  }
11843
11844  public class Network implements android.os.Parcelable {
11845    ctor public Network(@NonNull android.net.Network);
11846    method public int getNetId();
11847    method @NonNull public android.net.Network getPrivateDnsBypassingCopy();
11848  }
11849
11850  public abstract class NetworkAgent {
11851    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);
11852    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);
11853    method @Nullable public android.net.Network getNetwork();
11854    method public void markConnected();
11855    method public void onAddKeepalivePacketFilter(int, @NonNull android.net.KeepalivePacketData);
11856    method public void onAutomaticReconnectDisabled();
11857    method public void onBandwidthUpdateRequested();
11858    method public void onDscpPolicyStatusUpdated(int, int);
11859    method public void onNetworkCreated();
11860    method public void onNetworkDestroyed();
11861    method public void onNetworkUnwanted();
11862    method public void onQosCallbackRegistered(int, @NonNull android.net.QosFilter);
11863    method public void onQosCallbackUnregistered(int);
11864    method public void onRemoveKeepalivePacketFilter(int);
11865    method public void onSaveAcceptUnvalidated(boolean);
11866    method public void onSignalStrengthThresholdsUpdated(@NonNull int[]);
11867    method public void onStartSocketKeepalive(int, @NonNull java.time.Duration, @NonNull android.net.KeepalivePacketData);
11868    method public void onStopSocketKeepalive(int);
11869    method public void onValidationStatus(int, @Nullable android.net.Uri);
11870    method @NonNull public android.net.Network register();
11871    method public void sendAddDscpPolicy(@NonNull android.net.DscpPolicy);
11872    method public void sendLinkProperties(@NonNull android.net.LinkProperties);
11873    method public void sendNetworkCapabilities(@NonNull android.net.NetworkCapabilities);
11874    method public void sendNetworkScore(@NonNull android.net.NetworkScore);
11875    method public void sendNetworkScore(@IntRange(from=0, to=99) int);
11876    method public final void sendQosCallbackError(int, int);
11877    method public final void sendQosSessionAvailable(int, int, @NonNull android.net.QosSessionAttributes);
11878    method public final void sendQosSessionLost(int, int, int);
11879    method public void sendRemoveAllDscpPolicies();
11880    method public void sendRemoveDscpPolicy(int);
11881    method public final void sendSocketKeepaliveEvent(int, int);
11882    method @Deprecated public void setLegacySubtype(int, @NonNull String);
11883    method public void setLingerDuration(@NonNull java.time.Duration);
11884    method public void setTeardownDelayMillis(@IntRange(from=0, to=0x1388) int);
11885    method public void setUnderlyingNetworks(@Nullable java.util.List<android.net.Network>);
11886    method public void unregister();
11887    method public void unregisterAfterReplacement(@IntRange(from=0, to=0x1388) int);
11888    field public static final int DSCP_POLICY_STATUS_DELETED = 4; // 0x4
11889    field public static final int DSCP_POLICY_STATUS_INSUFFICIENT_PROCESSING_RESOURCES = 3; // 0x3
11890    field public static final int DSCP_POLICY_STATUS_POLICY_NOT_FOUND = 5; // 0x5
11891    field public static final int DSCP_POLICY_STATUS_REQUESTED_CLASSIFIER_NOT_SUPPORTED = 2; // 0x2
11892    field public static final int DSCP_POLICY_STATUS_REQUEST_DECLINED = 1; // 0x1
11893    field public static final int DSCP_POLICY_STATUS_SUCCESS = 0; // 0x0
11894    field public static final int VALIDATION_STATUS_NOT_VALID = 2; // 0x2
11895    field public static final int VALIDATION_STATUS_VALID = 1; // 0x1
11896  }
11897
11898  public final class NetworkAgentConfig implements android.os.Parcelable {
11899    method public int describeContents();
11900    method public int getLegacyType();
11901    method @NonNull public String getLegacyTypeName();
11902    method public boolean isExplicitlySelected();
11903    method public boolean isPartialConnectivityAcceptable();
11904    method public boolean isUnvalidatedConnectivityAcceptable();
11905    method public void writeToParcel(@NonNull android.os.Parcel, int);
11906    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkAgentConfig> CREATOR;
11907  }
11908
11909  public static final class NetworkAgentConfig.Builder {
11910    ctor public NetworkAgentConfig.Builder();
11911    method @NonNull public android.net.NetworkAgentConfig build();
11912    method @NonNull public android.net.NetworkAgentConfig.Builder setExplicitlySelected(boolean);
11913    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyExtraInfo(@NonNull String);
11914    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubType(int);
11915    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubTypeName(@NonNull String);
11916    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyType(int);
11917    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyTypeName(@NonNull String);
11918    method @NonNull public android.net.NetworkAgentConfig.Builder setNat64DetectionEnabled(boolean);
11919    method @NonNull public android.net.NetworkAgentConfig.Builder setPartialConnectivityAcceptable(boolean);
11920    method @NonNull public android.net.NetworkAgentConfig.Builder setProvisioningNotificationEnabled(boolean);
11921    method @NonNull public android.net.NetworkAgentConfig.Builder setUnvalidatedConnectivityAcceptable(boolean);
11922  }
11923
11924  public final class NetworkCapabilities implements android.os.Parcelable {
11925    method @NonNull public int[] getAdministratorUids();
11926    method @Nullable public static String getCapabilityCarrierName(int);
11927    method @Nullable public String getSsid();
11928    method @NonNull public java.util.Set<java.lang.Integer> getSubscriptionIds();
11929    method @NonNull public int[] getTransportTypes();
11930    method @Nullable public java.util.List<android.net.Network> getUnderlyingNetworks();
11931    method public boolean isPrivateDnsBroken();
11932    method public boolean satisfiedByNetworkCapabilities(@Nullable android.net.NetworkCapabilities);
11933    field public static final int NET_CAPABILITY_BIP = 31; // 0x1f
11934    field public static final int NET_CAPABILITY_NOT_VCN_MANAGED = 28; // 0x1c
11935    field public static final int NET_CAPABILITY_OEM_PAID = 22; // 0x16
11936    field public static final int NET_CAPABILITY_OEM_PRIVATE = 26; // 0x1a
11937    field public static final int NET_CAPABILITY_PARTIAL_CONNECTIVITY = 24; // 0x18
11938    field public static final int NET_CAPABILITY_VEHICLE_INTERNAL = 27; // 0x1b
11939    field public static final int NET_CAPABILITY_VSIM = 30; // 0x1e
11940  }
11941
11942  public static final class NetworkCapabilities.Builder {
11943    ctor public NetworkCapabilities.Builder();
11944    ctor public NetworkCapabilities.Builder(@NonNull android.net.NetworkCapabilities);
11945    method @NonNull public android.net.NetworkCapabilities.Builder addCapability(int);
11946    method @NonNull public android.net.NetworkCapabilities.Builder addEnterpriseId(int);
11947    method @NonNull public android.net.NetworkCapabilities.Builder addTransportType(int);
11948    method @NonNull public android.net.NetworkCapabilities build();
11949    method @NonNull public android.net.NetworkCapabilities.Builder removeCapability(int);
11950    method @NonNull public android.net.NetworkCapabilities.Builder removeEnterpriseId(int);
11951    method @NonNull public android.net.NetworkCapabilities.Builder removeTransportType(int);
11952    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setAdministratorUids(@NonNull int[]);
11953    method @NonNull public android.net.NetworkCapabilities.Builder setLinkDownstreamBandwidthKbps(int);
11954    method @NonNull public android.net.NetworkCapabilities.Builder setLinkUpstreamBandwidthKbps(int);
11955    method @NonNull public android.net.NetworkCapabilities.Builder setNetworkSpecifier(@Nullable android.net.NetworkSpecifier);
11956    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setOwnerUid(int);
11957    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorPackageName(@Nullable String);
11958    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorUid(int);
11959    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkCapabilities.Builder setSignalStrength(int);
11960    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setSsid(@Nullable String);
11961    method @NonNull public android.net.NetworkCapabilities.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>);
11962    method @NonNull public android.net.NetworkCapabilities.Builder setTransportInfo(@Nullable android.net.TransportInfo);
11963    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setUnderlyingNetworks(@Nullable java.util.List<android.net.Network>);
11964    method @NonNull public static android.net.NetworkCapabilities.Builder withoutDefaultCapabilities();
11965  }
11966
11967  @Deprecated public class NetworkKey implements android.os.Parcelable {
11968    ctor @Deprecated public NetworkKey(android.net.WifiKey);
11969    method @Deprecated @Nullable public static android.net.NetworkKey createFromScanResult(@NonNull android.net.wifi.ScanResult);
11970    method @Deprecated public int describeContents();
11971    method @Deprecated public void writeToParcel(android.os.Parcel, int);
11972    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkKey> CREATOR;
11973    field @Deprecated public static final int TYPE_WIFI = 1; // 0x1
11974    field @Deprecated public final int type;
11975    field @Deprecated public final android.net.WifiKey wifiKey;
11976  }
11977
11978  public class NetworkProvider {
11979    ctor public NetworkProvider(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String);
11980    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void declareNetworkRequestUnfulfillable(@NonNull android.net.NetworkRequest);
11981    method public int getProviderId();
11982    method public void onNetworkRequestWithdrawn(@NonNull android.net.NetworkRequest);
11983    method public void onNetworkRequested(@NonNull android.net.NetworkRequest, @IntRange(from=0, to=99) int, int);
11984    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);
11985    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void unregisterNetworkOffer(@NonNull android.net.NetworkProvider.NetworkOfferCallback);
11986    field public static final int ID_NONE = -1; // 0xffffffff
11987  }
11988
11989  public static interface NetworkProvider.NetworkOfferCallback {
11990    method public void onNetworkNeeded(@NonNull android.net.NetworkRequest);
11991    method public void onNetworkUnneeded(@NonNull android.net.NetworkRequest);
11992  }
11993
11994  public abstract class NetworkRecommendationProvider {
11995    ctor public NetworkRecommendationProvider(android.content.Context, java.util.concurrent.Executor);
11996    method public final android.os.IBinder getBinder();
11997    method public abstract void onRequestScores(android.net.NetworkKey[]);
11998  }
11999
12000  public class NetworkReleasedException extends java.lang.Exception {
12001    ctor public NetworkReleasedException();
12002  }
12003
12004  public class NetworkRequest implements android.os.Parcelable {
12005    method @Nullable public String getRequestorPackageName();
12006    method public int getRequestorUid();
12007  }
12008
12009  public static class NetworkRequest.Builder {
12010    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkRequest.Builder setSignalStrength(int);
12011    method @NonNull public android.net.NetworkRequest.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>);
12012  }
12013
12014  public final class NetworkScore implements android.os.Parcelable {
12015    method public int describeContents();
12016    method public int getKeepConnectedReason();
12017    method public int getLegacyInt();
12018    method public boolean isExiting();
12019    method public boolean isTransportPrimary();
12020    method public void writeToParcel(@NonNull android.os.Parcel, int);
12021    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkScore> CREATOR;
12022    field public static final int KEEP_CONNECTED_FOR_HANDOVER = 1; // 0x1
12023    field public static final int KEEP_CONNECTED_NONE = 0; // 0x0
12024  }
12025
12026  public static final class NetworkScore.Builder {
12027    ctor public NetworkScore.Builder();
12028    method @NonNull public android.net.NetworkScore build();
12029    method @NonNull public android.net.NetworkScore.Builder setExiting(boolean);
12030    method @NonNull public android.net.NetworkScore.Builder setKeepConnectedReason(int);
12031    method @NonNull public android.net.NetworkScore.Builder setLegacyInt(int);
12032    method @NonNull public android.net.NetworkScore.Builder setTransportPrimary(boolean);
12033  }
12034
12035  @Deprecated public class NetworkScoreManager {
12036    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public boolean clearScores() throws java.lang.SecurityException;
12037    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public void disableScoring() throws java.lang.SecurityException;
12038    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public String getActiveScorerPackage();
12039    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;
12040    method @Deprecated @RequiresPermission(android.Manifest.permission.REQUEST_NETWORK_SCORES) public boolean requestScores(@NonNull java.util.Collection<android.net.NetworkKey>) throws java.lang.SecurityException;
12041    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public boolean setActiveScorer(String) throws java.lang.SecurityException;
12042    method @Deprecated @RequiresPermission(android.Manifest.permission.SCORE_NETWORKS) public boolean updateScores(@NonNull android.net.ScoredNetwork[]) throws java.lang.SecurityException;
12043    field @Deprecated public static final String ACTION_CHANGE_ACTIVE = "android.net.scoring.CHANGE_ACTIVE";
12044    field @Deprecated public static final String ACTION_CUSTOM_ENABLE = "android.net.scoring.CUSTOM_ENABLE";
12045    field @Deprecated public static final String ACTION_RECOMMEND_NETWORKS = "android.net.action.RECOMMEND_NETWORKS";
12046    field @Deprecated public static final String ACTION_SCORER_CHANGED = "android.net.scoring.SCORER_CHANGED";
12047    field @Deprecated public static final String ACTION_SCORE_NETWORKS = "android.net.scoring.SCORE_NETWORKS";
12048    field @Deprecated public static final String EXTRA_NETWORKS_TO_SCORE = "networksToScore";
12049    field @Deprecated public static final String EXTRA_NEW_SCORER = "newScorer";
12050    field @Deprecated public static final String EXTRA_PACKAGE_NAME = "packageName";
12051    field @Deprecated public static final int SCORE_FILTER_CURRENT_NETWORK = 1; // 0x1
12052    field @Deprecated public static final int SCORE_FILTER_NONE = 0; // 0x0
12053    field @Deprecated public static final int SCORE_FILTER_SCAN_RESULTS = 2; // 0x2
12054  }
12055
12056  @Deprecated public abstract static class NetworkScoreManager.NetworkScoreCallback {
12057    ctor @Deprecated public NetworkScoreManager.NetworkScoreCallback();
12058    method @Deprecated public abstract void onScoresInvalidated();
12059    method @Deprecated public abstract void onScoresUpdated(@NonNull java.util.Collection<android.net.ScoredNetwork>);
12060  }
12061
12062  public abstract class NetworkSpecifier {
12063    method public boolean canBeSatisfiedBy(@Nullable android.net.NetworkSpecifier);
12064    method @Nullable public android.net.NetworkSpecifier redact();
12065  }
12066
12067  public class NetworkStack {
12068    method @Nullable public static android.os.IBinder getService();
12069    field public static final String PERMISSION_MAINLINE_NETWORK_STACK = "android.permission.MAINLINE_NETWORK_STACK";
12070  }
12071
12072  public final class NetworkStats implements java.lang.Iterable<android.net.NetworkStats.Entry> android.os.Parcelable {
12073    ctor public NetworkStats(long, int);
12074    method @NonNull public android.net.NetworkStats add(@NonNull android.net.NetworkStats);
12075    method @NonNull public android.net.NetworkStats addEntry(@NonNull android.net.NetworkStats.Entry);
12076    method public int describeContents();
12077    method @NonNull public java.util.Iterator<android.net.NetworkStats.Entry> iterator();
12078    method @NonNull public android.net.NetworkStats subtract(@NonNull android.net.NetworkStats);
12079    method public void writeToParcel(@NonNull android.os.Parcel, int);
12080    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkStats> CREATOR;
12081    field public static final int DEFAULT_NETWORK_ALL = -1; // 0xffffffff
12082    field public static final int DEFAULT_NETWORK_NO = 0; // 0x0
12083    field public static final int DEFAULT_NETWORK_YES = 1; // 0x1
12084    field public static final String IFACE_VT = "vt_data0";
12085    field public static final int METERED_ALL = -1; // 0xffffffff
12086    field public static final int METERED_NO = 0; // 0x0
12087    field public static final int METERED_YES = 1; // 0x1
12088    field public static final int ROAMING_ALL = -1; // 0xffffffff
12089    field public static final int ROAMING_NO = 0; // 0x0
12090    field public static final int ROAMING_YES = 1; // 0x1
12091    field public static final int SET_ALL = -1; // 0xffffffff
12092    field public static final int SET_DEFAULT = 0; // 0x0
12093    field public static final int SET_FOREGROUND = 1; // 0x1
12094    field public static final int TAG_NONE = 0; // 0x0
12095    field public static final int UID_ALL = -1; // 0xffffffff
12096    field public static final int UID_TETHERING = -5; // 0xfffffffb
12097  }
12098
12099  public static class NetworkStats.Entry {
12100    ctor public NetworkStats.Entry(@Nullable String, int, int, int, int, int, int, long, long, long, long, long);
12101    method public int getDefaultNetwork();
12102    method public int getMetered();
12103    method public long getOperations();
12104    method public int getRoaming();
12105    method public long getRxBytes();
12106    method public long getRxPackets();
12107    method public int getSet();
12108    method public int getTag();
12109    method public long getTxBytes();
12110    method public long getTxPackets();
12111    method public int getUid();
12112  }
12113
12114  public final class OemNetworkPreferences implements android.os.Parcelable {
12115    method public int describeContents();
12116    method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getNetworkPreferences();
12117    method public void writeToParcel(@NonNull android.os.Parcel, int);
12118    field @NonNull public static final android.os.Parcelable.Creator<android.net.OemNetworkPreferences> CREATOR;
12119    field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID = 1; // 0x1
12120    field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID_NO_FALLBACK = 2; // 0x2
12121    field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID_ONLY = 3; // 0x3
12122    field public static final int OEM_NETWORK_PREFERENCE_OEM_PRIVATE_ONLY = 4; // 0x4
12123    field public static final int OEM_NETWORK_PREFERENCE_UNINITIALIZED = 0; // 0x0
12124  }
12125
12126  public static final class OemNetworkPreferences.Builder {
12127    ctor public OemNetworkPreferences.Builder();
12128    ctor public OemNetworkPreferences.Builder(@NonNull android.net.OemNetworkPreferences);
12129    method @NonNull public android.net.OemNetworkPreferences.Builder addNetworkPreference(@NonNull String, int);
12130    method @NonNull public android.net.OemNetworkPreferences build();
12131    method @NonNull public android.net.OemNetworkPreferences.Builder clearNetworkPreference(@NonNull String);
12132  }
12133
12134  public abstract class QosCallback {
12135    ctor public QosCallback();
12136    method public void onError(@NonNull android.net.QosCallbackException);
12137    method public void onQosSessionAvailable(@NonNull android.net.QosSession, @NonNull android.net.QosSessionAttributes);
12138    method public void onQosSessionLost(@NonNull android.net.QosSession);
12139  }
12140
12141  public static class QosCallback.QosCallbackRegistrationException extends java.lang.RuntimeException {
12142  }
12143
12144  public final class QosCallbackException extends java.lang.Exception {
12145    ctor public QosCallbackException(@NonNull String);
12146    ctor public QosCallbackException(@NonNull Throwable);
12147  }
12148
12149  public abstract class QosFilter {
12150    method @NonNull public abstract android.net.Network getNetwork();
12151    method public abstract boolean matchesLocalAddress(@NonNull java.net.InetAddress, int, int);
12152    method public boolean matchesProtocol(int);
12153    method public abstract boolean matchesRemoteAddress(@NonNull java.net.InetAddress, int, int);
12154  }
12155
12156  public final class QosSession implements android.os.Parcelable {
12157    ctor public QosSession(int, int);
12158    method public int describeContents();
12159    method public int getSessionId();
12160    method public int getSessionType();
12161    method public long getUniqueId();
12162    method public void writeToParcel(@NonNull android.os.Parcel, int);
12163    field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSession> CREATOR;
12164    field public static final int TYPE_EPS_BEARER = 1; // 0x1
12165    field public static final int TYPE_NR_BEARER = 2; // 0x2
12166  }
12167
12168  public interface QosSessionAttributes {
12169  }
12170
12171  public final class QosSocketInfo implements android.os.Parcelable {
12172    ctor public QosSocketInfo(@NonNull android.net.Network, @NonNull java.net.Socket) throws java.io.IOException;
12173    ctor public QosSocketInfo(@NonNull android.net.Network, @NonNull java.net.DatagramSocket) throws java.io.IOException;
12174    method public int describeContents();
12175    method @NonNull public java.net.InetSocketAddress getLocalSocketAddress();
12176    method @NonNull public android.net.Network getNetwork();
12177    method @Nullable public java.net.InetSocketAddress getRemoteSocketAddress();
12178    method public void writeToParcel(@NonNull android.os.Parcel, int);
12179    field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSocketInfo> CREATOR;
12180  }
12181
12182  public final class RouteInfo implements android.os.Parcelable {
12183    ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int);
12184    ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int, int);
12185    method public int getMtu();
12186  }
12187
12188  @Deprecated public class RssiCurve implements android.os.Parcelable {
12189    ctor @Deprecated public RssiCurve(int, int, byte[]);
12190    ctor @Deprecated public RssiCurve(int, int, byte[], int);
12191    method @Deprecated public int describeContents();
12192    method @Deprecated public byte lookupScore(int);
12193    method @Deprecated public byte lookupScore(int, boolean);
12194    method @Deprecated public void writeToParcel(android.os.Parcel, int);
12195    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.RssiCurve> CREATOR;
12196    field @Deprecated public final int activeNetworkRssiBoost;
12197    field @Deprecated public final int bucketWidth;
12198    field @Deprecated public final byte[] rssiBuckets;
12199    field @Deprecated public final int start;
12200  }
12201
12202  @Deprecated public class ScoredNetwork implements android.os.Parcelable {
12203    ctor @Deprecated public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve);
12204    ctor @Deprecated public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve, boolean);
12205    ctor @Deprecated public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve, boolean, @Nullable android.os.Bundle);
12206    method @Deprecated public int calculateBadge(int);
12207    method @Deprecated public int describeContents();
12208    method @Deprecated public void writeToParcel(android.os.Parcel, int);
12209    field @Deprecated public static final String ATTRIBUTES_KEY_BADGING_CURVE = "android.net.attributes.key.BADGING_CURVE";
12210    field @Deprecated public static final String ATTRIBUTES_KEY_HAS_CAPTIVE_PORTAL = "android.net.attributes.key.HAS_CAPTIVE_PORTAL";
12211    field @Deprecated public static final String ATTRIBUTES_KEY_RANKING_SCORE_OFFSET = "android.net.attributes.key.RANKING_SCORE_OFFSET";
12212    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.ScoredNetwork> CREATOR;
12213    field @Deprecated @Nullable public final android.os.Bundle attributes;
12214    field @Deprecated public final boolean meteredHint;
12215    field @Deprecated public final android.net.NetworkKey networkKey;
12216    field @Deprecated public final android.net.RssiCurve rssiCurve;
12217  }
12218
12219  public abstract class SocketKeepalive implements java.lang.AutoCloseable {
12220    method public final void start(@IntRange(from=0xa, to=0xe10) int, int, @Nullable android.net.Network);
12221    field public static final int ERROR_NO_SUCH_SLOT = -33; // 0xffffffdf
12222    field public static final int FLAG_AUTOMATIC_ON_OFF = 1; // 0x1
12223    field public static final int SUCCESS = 0; // 0x0
12224  }
12225
12226  public class SocketLocalAddressChangedException extends java.lang.Exception {
12227    ctor public SocketLocalAddressChangedException();
12228  }
12229
12230  public class SocketNotBoundException extends java.lang.Exception {
12231    ctor public SocketNotBoundException();
12232  }
12233
12234  public class SocketNotConnectedException extends java.lang.Exception {
12235    ctor public SocketNotConnectedException();
12236  }
12237
12238  public class SocketRemoteAddressChangedException extends java.lang.Exception {
12239    ctor public SocketRemoteAddressChangedException();
12240  }
12241
12242  public final class StaticIpConfiguration implements android.os.Parcelable {
12243    ctor public StaticIpConfiguration();
12244    ctor public StaticIpConfiguration(@Nullable android.net.StaticIpConfiguration);
12245    method public void addDnsServer(@NonNull java.net.InetAddress);
12246    method public void clear();
12247    method @NonNull public java.util.List<android.net.RouteInfo> getRoutes(@Nullable String);
12248  }
12249
12250  public final class TcpKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable {
12251    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;
12252    method public int describeContents();
12253    method public int getIpTos();
12254    method public int getIpTtl();
12255    method public int getTcpAck();
12256    method public int getTcpSeq();
12257    method public int getTcpWindow();
12258    method public int getTcpWindowScale();
12259    method public void writeToParcel(@NonNull android.os.Parcel, int);
12260    field @NonNull public static final android.os.Parcelable.Creator<android.net.TcpKeepalivePacketData> CREATOR;
12261  }
12262
12263  public final class TetheredClient implements android.os.Parcelable {
12264    ctor public TetheredClient(@NonNull android.net.MacAddress, @NonNull java.util.Collection<android.net.TetheredClient.AddressInfo>, int);
12265    method public int describeContents();
12266    method @NonNull public java.util.List<android.net.TetheredClient.AddressInfo> getAddresses();
12267    method @NonNull public android.net.MacAddress getMacAddress();
12268    method public int getTetheringType();
12269    method public void writeToParcel(@NonNull android.os.Parcel, int);
12270    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient> CREATOR;
12271  }
12272
12273  public static final class TetheredClient.AddressInfo implements android.os.Parcelable {
12274    method public int describeContents();
12275    method @NonNull public android.net.LinkAddress getAddress();
12276    method @Nullable public String getHostname();
12277    method public void writeToParcel(@NonNull android.os.Parcel, int);
12278    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient.AddressInfo> CREATOR;
12279  }
12280
12281  public final class TetheringInterface implements android.os.Parcelable {
12282    ctor public TetheringInterface(int, @NonNull String);
12283    method public int describeContents();
12284    method @NonNull public String getInterface();
12285    method public int getType();
12286    method public void writeToParcel(@NonNull android.os.Parcel, int);
12287    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheringInterface> CREATOR;
12288  }
12289
12290  public class TetheringManager {
12291    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.TetheringEventCallback);
12292    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void requestLatestTetheringEntitlementResult(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.OnTetheringEntitlementResultListener);
12293    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void startTethering(@NonNull android.net.TetheringManager.TetheringRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.StartTetheringCallback);
12294    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopAllTethering();
12295    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopTethering(int);
12296    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.ACCESS_NETWORK_STATE}) public void unregisterTetheringEventCallback(@NonNull android.net.TetheringManager.TetheringEventCallback);
12297    field @Deprecated public static final String ACTION_TETHER_STATE_CHANGED = "android.net.conn.TETHER_STATE_CHANGED";
12298    field public static final int CONNECTIVITY_SCOPE_GLOBAL = 1; // 0x1
12299    field public static final int CONNECTIVITY_SCOPE_LOCAL = 2; // 0x2
12300    field public static final String EXTRA_ACTIVE_LOCAL_ONLY = "android.net.extra.ACTIVE_LOCAL_ONLY";
12301    field public static final String EXTRA_ACTIVE_TETHER = "tetherArray";
12302    field public static final String EXTRA_AVAILABLE_TETHER = "availableArray";
12303    field public static final String EXTRA_ERRORED_TETHER = "erroredArray";
12304    field public static final int TETHERING_BLUETOOTH = 2; // 0x2
12305    field public static final int TETHERING_ETHERNET = 5; // 0x5
12306    field public static final int TETHERING_INVALID = -1; // 0xffffffff
12307    field public static final int TETHERING_NCM = 4; // 0x4
12308    field public static final int TETHERING_USB = 1; // 0x1
12309    field public static final int TETHERING_WIFI = 0; // 0x0
12310    field public static final int TETHERING_WIFI_P2P = 3; // 0x3
12311    field public static final int TETHER_ERROR_DHCPSERVER_ERROR = 12; // 0xc
12312    field public static final int TETHER_ERROR_DISABLE_FORWARDING_ERROR = 9; // 0x9
12313    field public static final int TETHER_ERROR_ENABLE_FORWARDING_ERROR = 8; // 0x8
12314    field public static final int TETHER_ERROR_ENTITLEMENT_UNKNOWN = 13; // 0xd
12315    field public static final int TETHER_ERROR_IFACE_CFG_ERROR = 10; // 0xa
12316    field public static final int TETHER_ERROR_INTERNAL_ERROR = 5; // 0x5
12317    field public static final int TETHER_ERROR_NO_ACCESS_TETHERING_PERMISSION = 15; // 0xf
12318    field public static final int TETHER_ERROR_NO_CHANGE_TETHERING_PERMISSION = 14; // 0xe
12319    field public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0
12320    field public static final int TETHER_ERROR_PROVISIONING_FAILED = 11; // 0xb
12321    field public static final int TETHER_ERROR_SERVICE_UNAVAIL = 2; // 0x2
12322    field public static final int TETHER_ERROR_TETHER_IFACE_ERROR = 6; // 0x6
12323    field public static final int TETHER_ERROR_UNAVAIL_IFACE = 4; // 0x4
12324    field public static final int TETHER_ERROR_UNKNOWN_IFACE = 1; // 0x1
12325    field public static final int TETHER_ERROR_UNKNOWN_TYPE = 16; // 0x10
12326    field public static final int TETHER_ERROR_UNSUPPORTED = 3; // 0x3
12327    field public static final int TETHER_ERROR_UNTETHER_IFACE_ERROR = 7; // 0x7
12328    field public static final int TETHER_HARDWARE_OFFLOAD_FAILED = 2; // 0x2
12329    field public static final int TETHER_HARDWARE_OFFLOAD_STARTED = 1; // 0x1
12330    field public static final int TETHER_HARDWARE_OFFLOAD_STOPPED = 0; // 0x0
12331  }
12332
12333  public static interface TetheringManager.OnTetheringEntitlementResultListener {
12334    method public void onTetheringEntitlementResult(int);
12335  }
12336
12337  public static interface TetheringManager.StartTetheringCallback {
12338    method public default void onTetheringFailed(int);
12339    method public default void onTetheringStarted();
12340  }
12341
12342  public static interface TetheringManager.TetheringEventCallback {
12343    method public default void onClientsChanged(@NonNull java.util.Collection<android.net.TetheredClient>);
12344    method public default void onError(@NonNull String, int);
12345    method public default void onError(@NonNull android.net.TetheringInterface, int);
12346    method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.List<java.lang.String>);
12347    method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
12348    method public default void onOffloadStatusChanged(int);
12349    method public default void onTetherableInterfacesChanged(@NonNull java.util.List<java.lang.String>);
12350    method public default void onTetherableInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
12351    method public default void onTetheredInterfacesChanged(@NonNull java.util.List<java.lang.String>);
12352    method public default void onTetheredInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
12353    method public default void onTetheringSupported(boolean);
12354    method public default void onUpstreamChanged(@Nullable android.net.Network);
12355  }
12356
12357  public static class TetheringManager.TetheringRequest {
12358    method @Nullable public android.net.LinkAddress getClientStaticIpv4Address();
12359    method public int getConnectivityScope();
12360    method @Nullable public android.net.LinkAddress getLocalIpv4Address();
12361    method public boolean getShouldShowEntitlementUi();
12362    method public int getTetheringType();
12363    method public boolean isExemptFromEntitlementCheck();
12364  }
12365
12366  public static class TetheringManager.TetheringRequest.Builder {
12367    ctor public TetheringManager.TetheringRequest.Builder(int);
12368    method @NonNull public android.net.TetheringManager.TetheringRequest build();
12369    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setConnectivityScope(int);
12370    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setExemptFromEntitlementCheck(boolean);
12371    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setShouldShowEntitlementUi(boolean);
12372    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setStaticIpv4Addresses(@NonNull android.net.LinkAddress, @NonNull android.net.LinkAddress);
12373  }
12374
12375  public class TrafficStats {
12376    method public static void setThreadStatsTagApp();
12377    method public static void setThreadStatsTagBackup();
12378    method public static void setThreadStatsTagRestore();
12379    field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_END = -113; // 0xffffff8f
12380    field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_START = -128; // 0xffffff80
12381    field public static final int TAG_NETWORK_STACK_RANGE_END = -257; // 0xfffffeff
12382    field public static final int TAG_NETWORK_STACK_RANGE_START = -768; // 0xfffffd00
12383    field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_END = -241; // 0xffffff0f
12384    field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_START = -256; // 0xffffff00
12385  }
12386
12387  public abstract class Uri implements java.lang.Comparable<android.net.Uri> android.os.Parcelable {
12388    method @NonNull public String toSafeString();
12389  }
12390
12391  public class VpnService extends android.app.Service {
12392    method @RequiresPermission(android.Manifest.permission.CONTROL_VPN) public static void prepareAndAuthorize(android.content.Context);
12393  }
12394
12395  public final class VpnTransportInfo implements android.os.Parcelable android.net.TransportInfo {
12396    ctor public VpnTransportInfo(int, @Nullable String, boolean, boolean);
12397    method public boolean areLongLivedTcpConnectionsExpensive();
12398    method public int describeContents();
12399    method public int getType();
12400    method public boolean isBypassable();
12401    method public void writeToParcel(@NonNull android.os.Parcel, int);
12402    field @NonNull public static final android.os.Parcelable.Creator<android.net.VpnTransportInfo> CREATOR;
12403  }
12404
12405  public class WebAddress {
12406    ctor public WebAddress(String) throws android.net.ParseException;
12407  }
12408
12409  @Deprecated public class WifiKey implements android.os.Parcelable {
12410    ctor @Deprecated public WifiKey(String, String);
12411    method @Deprecated public int describeContents();
12412    method @Deprecated public void writeToParcel(android.os.Parcel, int);
12413    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.WifiKey> CREATOR;
12414    field @Deprecated public final String bssid;
12415    field @Deprecated public final String ssid;
12416  }
12417
12418}
12419
12420package android.net.apf {
12421
12422  public final class ApfCapabilities implements android.os.Parcelable {
12423    ctor public ApfCapabilities(int, int, int);
12424    method public int describeContents();
12425    method public static boolean getApfDrop8023Frames();
12426    method @NonNull public static int[] getApfEtherTypeBlackList();
12427    method public boolean hasDataAccess();
12428    method public void writeToParcel(android.os.Parcel, int);
12429    field public static final android.os.Parcelable.Creator<android.net.apf.ApfCapabilities> CREATOR;
12430    field public final int apfPacketFormat;
12431    field public final int apfVersionSupported;
12432    field public final int maximumApfProgramSize;
12433  }
12434
12435}
12436
12437package android.net.eap {
12438
12439  public final class EapSessionConfig {
12440    method @Deprecated @Nullable public android.net.eap.EapSessionConfig.EapMsChapV2Config getEapMsChapV2onfig();
12441  }
12442
12443  @Deprecated public abstract static class EapSessionConfig.EapUiccConfig extends android.net.eap.EapSessionConfig.EapMethodConfig {
12444    method @Deprecated public int getAppType();
12445    method @Deprecated public int getSubId();
12446  }
12447
12448}
12449
12450package android.net.ipsec.ike {
12451
12452  public interface ChildSessionCallback {
12453    method @Deprecated public default void onClosedExceptionally(@NonNull android.net.ipsec.ike.exceptions.IkeException);
12454    method public default void onIpSecTransformsMigrated(@NonNull android.net.IpSecTransform, @NonNull android.net.IpSecTransform);
12455  }
12456
12457  public final class ChildSessionConfiguration {
12458    method @NonNull public java.util.List<android.net.LinkAddress> getInternalAddresses();
12459    method @NonNull public java.util.List<java.net.InetAddress> getInternalDhcpServers();
12460    method @NonNull public java.util.List<java.net.InetAddress> getInternalDnsServers();
12461    method @NonNull public java.util.List<android.net.IpPrefix> getInternalSubnets();
12462  }
12463
12464  public static final class ChildSessionConfiguration.Builder {
12465    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalAddress(@NonNull android.net.LinkAddress);
12466    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalDhcpServer(@NonNull java.net.InetAddress);
12467    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalDnsServer(@NonNull java.net.InetAddress);
12468    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalSubnet(@NonNull android.net.IpPrefix);
12469    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalAddresses();
12470    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalDhcpServers();
12471    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalDnsServers();
12472    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalSubnets();
12473  }
12474
12475  public abstract class ChildSessionParams {
12476    method @Deprecated @NonNull public java.util.List<android.net.ipsec.ike.ChildSaProposal> getSaProposals();
12477  }
12478
12479  public final class IkeSession implements java.lang.AutoCloseable {
12480    method public void setNetwork(@NonNull android.net.Network);
12481  }
12482
12483  public interface IkeSessionCallback {
12484    method @Deprecated public default void onClosedExceptionally(@NonNull android.net.ipsec.ike.exceptions.IkeException);
12485    method @Deprecated public default void onError(@NonNull android.net.ipsec.ike.exceptions.IkeProtocolException);
12486    method public default void onIkeSessionConnectionInfoChanged(@NonNull android.net.ipsec.ike.IkeSessionConnectionInfo);
12487  }
12488
12489  public final class IkeSessionConfiguration {
12490    method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers();
12491  }
12492
12493  public static final class IkeSessionConfiguration.Builder {
12494    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder addPcscfServer(@NonNull java.net.InetAddress);
12495    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder clearPcscfServers();
12496  }
12497
12498  public final class IkeSessionParams {
12499    method @NonNull public java.util.List<android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest> getConfigurationRequests();
12500    method @IntRange(from=0x0, to=0x3f) public int getDscp();
12501    method @Nullable public android.net.ipsec.ike.ike3gpp.Ike3gppExtension getIke3gppExtension();
12502    method @Deprecated @NonNull public java.util.List<android.net.ipsec.ike.IkeSaProposal> getSaProposals();
12503    field public static final int IKE_OPTION_AUTOMATIC_KEEPALIVE_ON_OFF = 8; // 0x8
12504    field public static final int IKE_OPTION_REKEY_MOBILITY = 5; // 0x5
12505  }
12506
12507  public static final class IkeSessionParams.Builder {
12508    ctor @Deprecated public IkeSessionParams.Builder(@NonNull android.content.Context);
12509    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addPcscfServerRequest(@NonNull java.net.InetAddress);
12510    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addPcscfServerRequest(int);
12511    method @Deprecated @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.IkeSaProposal);
12512    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setDscp(@IntRange(from=0x0, to=0x3f) int);
12513    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setIke3gppExtension(@NonNull android.net.ipsec.ike.ike3gpp.Ike3gppExtension);
12514  }
12515
12516  public static interface IkeSessionParams.ConfigRequestIpv4PcscfServer extends android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest {
12517    method @Nullable public java.net.Inet4Address getAddress();
12518  }
12519
12520  public static interface IkeSessionParams.ConfigRequestIpv6PcscfServer extends android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest {
12521    method @Nullable public java.net.Inet6Address getAddress();
12522  }
12523
12524  public static interface IkeSessionParams.IkeConfigRequest {
12525  }
12526
12527  public static final class TransportModeChildSessionParams.Builder {
12528    method @Deprecated @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal);
12529  }
12530
12531  public static final class TunnelModeChildSessionParams.Builder {
12532    method @Deprecated @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal);
12533  }
12534
12535}
12536
12537package android.net.ipsec.ike.exceptions {
12538
12539  public abstract class IkeProtocolException extends android.net.ipsec.ike.exceptions.IkeException {
12540    method @Nullable public byte[] getErrorData();
12541  }
12542
12543}
12544
12545package android.net.ipsec.ike.ike3gpp {
12546
12547  public final class Ike3gppBackoffTimer extends android.net.ipsec.ike.ike3gpp.Ike3gppData {
12548    ctor public Ike3gppBackoffTimer(byte, int);
12549    method public int getBackoffCause();
12550    method public byte getBackoffTimer();
12551    method public int getDataType();
12552    field public static final int ERROR_TYPE_NETWORK_FAILURE = 10500; // 0x2904
12553    field public static final int ERROR_TYPE_NO_APN_SUBSCRIPTION = 9002; // 0x232a
12554  }
12555
12556  public abstract class Ike3gppData {
12557    method public abstract int getDataType();
12558    field public static final int DATA_TYPE_NOTIFY_BACKOFF_TIMER = 2; // 0x2
12559    field public static final int DATA_TYPE_NOTIFY_N1_MODE_INFORMATION = 1; // 0x1
12560  }
12561
12562  public final class Ike3gppExtension {
12563    ctor public Ike3gppExtension(@NonNull android.net.ipsec.ike.ike3gpp.Ike3gppParams, @NonNull android.net.ipsec.ike.ike3gpp.Ike3gppExtension.Ike3gppDataListener);
12564    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppExtension.Ike3gppDataListener getIke3gppDataListener();
12565    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams getIke3gppParams();
12566  }
12567
12568  public static interface Ike3gppExtension.Ike3gppDataListener {
12569    method public void onIke3gppDataReceived(@NonNull java.util.List<android.net.ipsec.ike.ike3gpp.Ike3gppData>);
12570  }
12571
12572  public final class Ike3gppN1ModeInformation extends android.net.ipsec.ike.ike3gpp.Ike3gppData {
12573    ctor public Ike3gppN1ModeInformation(@NonNull byte[]);
12574    method public int getDataType();
12575    method @NonNull public byte[] getSnssai();
12576  }
12577
12578  public final class Ike3gppParams {
12579    method @Nullable public String getMobileDeviceIdentity();
12580    method public byte getPduSessionId();
12581    field public static final byte PDU_SESSION_ID_UNSET = 0; // 0x0
12582  }
12583
12584  public static final class Ike3gppParams.Builder {
12585    ctor public Ike3gppParams.Builder();
12586    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams build();
12587    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams.Builder setMobileDeviceIdentity(@Nullable String);
12588    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams.Builder setPduSessionId(byte);
12589  }
12590
12591}
12592
12593package android.net.metrics {
12594
12595  @Deprecated public final class ApfProgramEvent implements android.net.metrics.IpConnectivityLog.Event {
12596    method @Deprecated public int describeContents();
12597    method @Deprecated public void writeToParcel(android.os.Parcel, int);
12598  }
12599
12600  @Deprecated public static final class ApfProgramEvent.Builder {
12601    ctor @Deprecated public ApfProgramEvent.Builder();
12602    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent build();
12603    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setActualLifetime(long);
12604    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setCurrentRas(int);
12605    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setFilteredRas(int);
12606    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setFlags(boolean, boolean);
12607    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setLifetime(long);
12608    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setProgramLength(int);
12609  }
12610
12611  @Deprecated public final class ApfStats implements android.net.metrics.IpConnectivityLog.Event {
12612    method @Deprecated public int describeContents();
12613    method @Deprecated public void writeToParcel(android.os.Parcel, int);
12614  }
12615
12616  @Deprecated public static final class ApfStats.Builder {
12617    ctor @Deprecated public ApfStats.Builder();
12618    method @Deprecated @NonNull public android.net.metrics.ApfStats build();
12619    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setDroppedRas(int);
12620    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setDurationMs(long);
12621    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setMatchingRas(int);
12622    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setMaxProgramSize(int);
12623    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setParseErrors(int);
12624    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdates(int);
12625    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdatesAll(int);
12626    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdatesAllowingMulticast(int);
12627    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setReceivedRas(int);
12628    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setZeroLifetimeRas(int);
12629  }
12630
12631  @Deprecated public final class DhcpClientEvent implements android.net.metrics.IpConnectivityLog.Event {
12632    method @Deprecated public int describeContents();
12633    method @Deprecated public void writeToParcel(android.os.Parcel, int);
12634  }
12635
12636  @Deprecated public static final class DhcpClientEvent.Builder {
12637    ctor @Deprecated public DhcpClientEvent.Builder();
12638    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent build();
12639    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent.Builder setDurationMs(int);
12640    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent.Builder setMsg(String);
12641  }
12642
12643  @Deprecated public final class DhcpErrorEvent implements android.net.metrics.IpConnectivityLog.Event {
12644    ctor @Deprecated public DhcpErrorEvent(int);
12645    method @Deprecated public int describeContents();
12646    method @Deprecated public static int errorCodeWithOption(int, int);
12647    method @Deprecated public void writeToParcel(android.os.Parcel, int);
12648    field @Deprecated public static final int BOOTP_TOO_SHORT = 67174400; // 0x4010000
12649    field @Deprecated public static final int BUFFER_UNDERFLOW = 83951616; // 0x5010000
12650    field @Deprecated public static final int DHCP_BAD_MAGIC_COOKIE = 67239936; // 0x4020000
12651    field @Deprecated public static final int DHCP_ERROR = 4; // 0x4
12652    field @Deprecated public static final int DHCP_INVALID_OPTION_LENGTH = 67305472; // 0x4030000
12653    field @Deprecated public static final int DHCP_NO_COOKIE = 67502080; // 0x4060000
12654    field @Deprecated public static final int DHCP_NO_MSG_TYPE = 67371008; // 0x4040000
12655    field @Deprecated public static final int DHCP_UNKNOWN_MSG_TYPE = 67436544; // 0x4050000
12656    field @Deprecated public static final int L2_ERROR = 1; // 0x1
12657    field @Deprecated public static final int L2_TOO_SHORT = 16842752; // 0x1010000
12658    field @Deprecated public static final int L2_WRONG_ETH_TYPE = 16908288; // 0x1020000
12659    field @Deprecated public static final int L3_ERROR = 2; // 0x2
12660    field @Deprecated public static final int L3_INVALID_IP = 33751040; // 0x2030000
12661    field @Deprecated public static final int L3_NOT_IPV4 = 33685504; // 0x2020000
12662    field @Deprecated public static final int L3_TOO_SHORT = 33619968; // 0x2010000
12663    field @Deprecated public static final int L4_ERROR = 3; // 0x3
12664    field @Deprecated public static final int L4_NOT_UDP = 50397184; // 0x3010000
12665    field @Deprecated public static final int L4_WRONG_PORT = 50462720; // 0x3020000
12666    field @Deprecated public static final int MISC_ERROR = 5; // 0x5
12667    field @Deprecated public static final int PARSING_ERROR = 84082688; // 0x5030000
12668    field @Deprecated public static final int RECEIVE_ERROR = 84017152; // 0x5020000
12669  }
12670
12671  @Deprecated public class IpConnectivityLog {
12672    ctor @Deprecated public IpConnectivityLog();
12673    method @Deprecated public boolean log(long, @NonNull android.net.metrics.IpConnectivityLog.Event);
12674    method @Deprecated public boolean log(@NonNull String, @NonNull android.net.metrics.IpConnectivityLog.Event);
12675    method @Deprecated public boolean log(@NonNull android.net.Network, @NonNull int[], @NonNull android.net.metrics.IpConnectivityLog.Event);
12676    method @Deprecated public boolean log(int, @NonNull int[], @NonNull android.net.metrics.IpConnectivityLog.Event);
12677    method @Deprecated public boolean log(@NonNull android.net.metrics.IpConnectivityLog.Event);
12678  }
12679
12680  @Deprecated public static interface IpConnectivityLog.Event extends android.os.Parcelable {
12681  }
12682
12683  @Deprecated public final class IpManagerEvent implements android.net.metrics.IpConnectivityLog.Event {
12684    ctor @Deprecated public IpManagerEvent(int, long);
12685    method @Deprecated public int describeContents();
12686    method @Deprecated public void writeToParcel(android.os.Parcel, int);
12687    field @Deprecated public static final int COMPLETE_LIFECYCLE = 3; // 0x3
12688    field @Deprecated public static final int ERROR_INTERFACE_NOT_FOUND = 8; // 0x8
12689    field @Deprecated public static final int ERROR_INVALID_PROVISIONING = 7; // 0x7
12690    field @Deprecated public static final int ERROR_STARTING_IPREACHABILITYMONITOR = 6; // 0x6
12691    field @Deprecated public static final int ERROR_STARTING_IPV4 = 4; // 0x4
12692    field @Deprecated public static final int ERROR_STARTING_IPV6 = 5; // 0x5
12693    field @Deprecated public static final int PROVISIONING_FAIL = 2; // 0x2
12694    field @Deprecated public static final int PROVISIONING_OK = 1; // 0x1
12695  }
12696
12697  @Deprecated public final class IpReachabilityEvent implements android.net.metrics.IpConnectivityLog.Event {
12698    ctor @Deprecated public IpReachabilityEvent(int);
12699    method @Deprecated public int describeContents();
12700    method @Deprecated public void writeToParcel(android.os.Parcel, int);
12701    field @Deprecated public static final int NUD_FAILED = 512; // 0x200
12702    field @Deprecated public static final int NUD_FAILED_ORGANIC = 1024; // 0x400
12703    field @Deprecated public static final int PROBE = 256; // 0x100
12704    field @Deprecated public static final int PROVISIONING_LOST = 768; // 0x300
12705    field @Deprecated public static final int PROVISIONING_LOST_ORGANIC = 1280; // 0x500
12706  }
12707
12708  @Deprecated public final class NetworkEvent implements android.net.metrics.IpConnectivityLog.Event {
12709    ctor @Deprecated public NetworkEvent(int, long);
12710    ctor @Deprecated public NetworkEvent(int);
12711    method @Deprecated public int describeContents();
12712    method @Deprecated public void writeToParcel(android.os.Parcel, int);
12713    field @Deprecated public static final int NETWORK_CAPTIVE_PORTAL_FOUND = 4; // 0x4
12714    field @Deprecated public static final int NETWORK_CONNECTED = 1; // 0x1
12715    field @Deprecated public static final int NETWORK_CONSECUTIVE_DNS_TIMEOUT_FOUND = 12; // 0xc
12716    field @Deprecated public static final int NETWORK_DISCONNECTED = 7; // 0x7
12717    field @Deprecated public static final int NETWORK_FIRST_VALIDATION_PORTAL_FOUND = 10; // 0xa
12718    field @Deprecated public static final int NETWORK_FIRST_VALIDATION_SUCCESS = 8; // 0x8
12719    field @Deprecated public static final int NETWORK_LINGER = 5; // 0x5
12720    field @Deprecated public static final int NETWORK_PARTIAL_CONNECTIVITY = 13; // 0xd
12721    field @Deprecated public static final int NETWORK_REVALIDATION_PORTAL_FOUND = 11; // 0xb
12722    field @Deprecated public static final int NETWORK_REVALIDATION_SUCCESS = 9; // 0x9
12723    field @Deprecated public static final int NETWORK_UNLINGER = 6; // 0x6
12724    field @Deprecated public static final int NETWORK_VALIDATED = 2; // 0x2
12725    field @Deprecated public static final int NETWORK_VALIDATION_FAILED = 3; // 0x3
12726  }
12727
12728  @Deprecated public final class RaEvent implements android.net.metrics.IpConnectivityLog.Event {
12729    method @Deprecated public int describeContents();
12730    method @Deprecated public void writeToParcel(android.os.Parcel, int);
12731  }
12732
12733  @Deprecated public static final class RaEvent.Builder {
12734    ctor @Deprecated public RaEvent.Builder();
12735    method @Deprecated @NonNull public android.net.metrics.RaEvent build();
12736    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateDnsslLifetime(long);
12737    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updatePrefixPreferredLifetime(long);
12738    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updatePrefixValidLifetime(long);
12739    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRdnssLifetime(long);
12740    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRouteInfoLifetime(long);
12741    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRouterLifetime(long);
12742  }
12743
12744  @Deprecated public final class ValidationProbeEvent implements android.net.metrics.IpConnectivityLog.Event {
12745    method @Deprecated public int describeContents();
12746    method @Deprecated @NonNull public static String getProbeName(int);
12747    method @Deprecated public void writeToParcel(android.os.Parcel, int);
12748    field @Deprecated public static final int DNS_FAILURE = 0; // 0x0
12749    field @Deprecated public static final int DNS_SUCCESS = 1; // 0x1
12750    field @Deprecated public static final int PROBE_DNS = 0; // 0x0
12751    field @Deprecated public static final int PROBE_FALLBACK = 4; // 0x4
12752    field @Deprecated public static final int PROBE_HTTP = 1; // 0x1
12753    field @Deprecated public static final int PROBE_HTTPS = 2; // 0x2
12754    field @Deprecated public static final int PROBE_PAC = 3; // 0x3
12755    field @Deprecated public static final int PROBE_PRIVDNS = 5; // 0x5
12756  }
12757
12758  @Deprecated public static final class ValidationProbeEvent.Builder {
12759    ctor @Deprecated public ValidationProbeEvent.Builder();
12760    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent build();
12761    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setDurationMs(long);
12762    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setProbeType(int, boolean);
12763    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setReturnCode(int);
12764  }
12765
12766}
12767
12768package android.net.netstats.provider {
12769
12770  public abstract class NetworkStatsProvider {
12771    ctor public NetworkStatsProvider();
12772    method public void notifyAlertReached();
12773    method public void notifyLimitReached();
12774    method public void notifyStatsUpdated(int, @NonNull android.net.NetworkStats, @NonNull android.net.NetworkStats);
12775    method public void notifyWarningReached();
12776    method public abstract void onRequestStatsUpdate(int);
12777    method public abstract void onSetAlert(long);
12778    method public abstract void onSetLimit(@NonNull String, long);
12779    method public void onSetWarningAndLimit(@NonNull String, long, long);
12780    field public static final int QUOTA_UNLIMITED = -1; // 0xffffffff
12781  }
12782
12783}
12784
12785package android.net.sip {
12786
12787  @Deprecated public class SipAudioCall {
12788    method @Deprecated @Nullable public android.net.rtp.AudioGroup getAudioGroup();
12789    method @Deprecated public void setAudioGroup(@NonNull android.net.rtp.AudioGroup);
12790  }
12791
12792  @Deprecated public class SipManager {
12793    method @Deprecated @NonNull public java.util.List<android.net.sip.SipProfile> getProfiles() throws android.net.sip.SipException;
12794    field @Deprecated public static final String ACTION_SIP_CALL_OPTION_CHANGED = "android.net.sip.action.SIP_CALL_OPTION_CHANGED";
12795    field @Deprecated public static final String ACTION_SIP_INCOMING_CALL = "android.net.sip.action.SIP_INCOMING_CALL";
12796    field @Deprecated public static final String ACTION_SIP_REMOVE_PROFILE = "android.net.sip.action.SIP_REMOVE_PROFILE";
12797    field @Deprecated public static final String ACTION_SIP_SERVICE_UP = "android.net.sip.action.SIP_SERVICE_UP";
12798    field @Deprecated public static final String ACTION_START_SIP = "android.net.sip.action.START_SIP";
12799  }
12800
12801  @Deprecated public class SipProfile implements java.lang.Cloneable android.os.Parcelable java.io.Serializable {
12802    method @Deprecated public int getCallingUid();
12803  }
12804
12805}
12806
12807package android.net.util {
12808
12809  public final class SocketUtils {
12810    method public static void bindSocketToInterface(@NonNull java.io.FileDescriptor, @NonNull String) throws android.system.ErrnoException;
12811    method public static void closeSocket(@Nullable java.io.FileDescriptor) throws java.io.IOException;
12812    method @NonNull public static java.net.SocketAddress makeNetlinkSocketAddress(int, int);
12813    method @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, int);
12814    method @Deprecated @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, @NonNull byte[]);
12815    method @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, int, @NonNull byte[]);
12816  }
12817
12818}
12819
12820package android.net.vcn {
12821
12822  public class VcnManager {
12823    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void addVcnNetworkPolicyChangeListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.vcn.VcnManager.VcnNetworkPolicyChangeListener);
12824    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.vcn.VcnNetworkPolicyResult applyVcnNetworkPolicy(@NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties);
12825    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void removeVcnNetworkPolicyChangeListener(@NonNull android.net.vcn.VcnManager.VcnNetworkPolicyChangeListener);
12826  }
12827
12828  public static interface VcnManager.VcnNetworkPolicyChangeListener {
12829    method public void onPolicyChanged();
12830  }
12831
12832  public final class VcnNetworkPolicyResult implements android.os.Parcelable {
12833    method public int describeContents();
12834    method @NonNull public android.net.NetworkCapabilities getNetworkCapabilities();
12835    method public boolean isTeardownRequested();
12836    method public void writeToParcel(@NonNull android.os.Parcel, int);
12837    field @NonNull public static final android.os.Parcelable.Creator<android.net.vcn.VcnNetworkPolicyResult> CREATOR;
12838  }
12839
12840}
12841
12842package android.net.wifi {
12843
12844  public final class CoexUnsafeChannel implements android.os.Parcelable {
12845    ctor public CoexUnsafeChannel(int, int);
12846    ctor public CoexUnsafeChannel(int, int, int);
12847    method public int getBand();
12848    method public int getChannel();
12849    method public int getPowerCapDbm();
12850    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.CoexUnsafeChannel> CREATOR;
12851    field public static final int POWER_CAP_NONE = 2147483647; // 0x7fffffff
12852  }
12853
12854  public abstract class EasyConnectStatusCallback {
12855    ctor public EasyConnectStatusCallback();
12856    method public void onBootstrapUriGenerated(@NonNull android.net.Uri);
12857    method public abstract void onConfiguratorSuccess(int);
12858    method public abstract void onEnrolleeSuccess(int);
12859    method public void onFailure(int);
12860    method public void onFailure(int, @Nullable String, @NonNull android.util.SparseArray<int[]>, @NonNull int[]);
12861    method public abstract void onProgress(int);
12862    field public static final int EASY_CONNECT_EVENT_PROGRESS_AUTHENTICATION_SUCCESS = 0; // 0x0
12863    field public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_ACCEPTED = 3; // 0x3
12864    field public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_SENT_WAITING_RESPONSE = 2; // 0x2
12865    field public static final int EASY_CONNECT_EVENT_PROGRESS_RESPONSE_PENDING = 1; // 0x1
12866    field public static final int EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_APPLIED = 1; // 0x1
12867    field public static final int EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_SENT = 0; // 0x0
12868  }
12869
12870  public final class QosPolicyParams implements android.os.Parcelable {
12871    method @Nullable public java.net.InetAddress getDestinationAddress();
12872    method @IntRange(from=android.net.wifi.QosPolicyParams.DESTINATION_PORT_ANY, to=65535) public int getDestinationPort();
12873    method @Nullable public int[] getDestinationPortRange();
12874    method public int getDirection();
12875    method @IntRange(from=android.net.wifi.QosPolicyParams.DSCP_ANY, to=63) public int getDscp();
12876    method @Nullable public byte[] getFlowLabel();
12877    method public int getIpVersion();
12878    method @IntRange(from=1, to=255) public int getPolicyId();
12879    method public int getProtocol();
12880    method @Nullable public java.net.InetAddress getSourceAddress();
12881    method @IntRange(from=android.net.DscpPolicy.SOURCE_PORT_ANY, to=65535) public int getSourcePort();
12882    method public int getUserPriority();
12883    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.QosPolicyParams> CREATOR;
12884    field public static final int DESTINATION_PORT_ANY = -1; // 0xffffffff
12885    field public static final int DIRECTION_DOWNLINK = 1; // 0x1
12886    field public static final int DIRECTION_UPLINK = 0; // 0x0
12887    field public static final int DSCP_ANY = -1; // 0xffffffff
12888    field public static final int IP_VERSION_4 = 4; // 0x4
12889    field public static final int IP_VERSION_6 = 6; // 0x6
12890    field public static final int IP_VERSION_ANY = -1; // 0xffffffff
12891    field public static final int PROTOCOL_ANY = -1; // 0xffffffff
12892    field public static final int PROTOCOL_ESP = 50; // 0x32
12893    field public static final int PROTOCOL_TCP = 6; // 0x6
12894    field public static final int PROTOCOL_UDP = 17; // 0x11
12895    field public static final int USER_PRIORITY_ANY = -1; // 0xffffffff
12896    field public static final int USER_PRIORITY_BACKGROUND_HIGH = 2; // 0x2
12897    field public static final int USER_PRIORITY_BACKGROUND_LOW = 1; // 0x1
12898    field public static final int USER_PRIORITY_BEST_EFFORT_HIGH = 3; // 0x3
12899    field public static final int USER_PRIORITY_BEST_EFFORT_LOW = 0; // 0x0
12900    field public static final int USER_PRIORITY_VIDEO_HIGH = 5; // 0x5
12901    field public static final int USER_PRIORITY_VIDEO_LOW = 4; // 0x4
12902    field public static final int USER_PRIORITY_VOICE_HIGH = 7; // 0x7
12903    field public static final int USER_PRIORITY_VOICE_LOW = 6; // 0x6
12904  }
12905
12906  public static final class QosPolicyParams.Builder {
12907    ctor public QosPolicyParams.Builder(@IntRange(from=1, to=255) int, int);
12908    method @NonNull public android.net.wifi.QosPolicyParams build();
12909    method @NonNull public android.net.wifi.QosPolicyParams.Builder setDestinationAddress(@Nullable java.net.InetAddress);
12910    method @NonNull public android.net.wifi.QosPolicyParams.Builder setDestinationPort(@IntRange(from=android.net.wifi.QosPolicyParams.DESTINATION_PORT_ANY, to=65535) int);
12911    method @NonNull public android.net.wifi.QosPolicyParams.Builder setDestinationPortRange(@IntRange(from=0, to=65535) int, @IntRange(from=0, to=65535) int);
12912    method @NonNull public android.net.wifi.QosPolicyParams.Builder setDscp(@IntRange(from=android.net.wifi.QosPolicyParams.DSCP_ANY, to=63) int);
12913    method @NonNull public android.net.wifi.QosPolicyParams.Builder setFlowLabel(@Nullable byte[]);
12914    method @NonNull public android.net.wifi.QosPolicyParams.Builder setIpVersion(int);
12915    method @NonNull public android.net.wifi.QosPolicyParams.Builder setProtocol(int);
12916    method @NonNull public android.net.wifi.QosPolicyParams.Builder setSourceAddress(@Nullable java.net.InetAddress);
12917    method @NonNull public android.net.wifi.QosPolicyParams.Builder setSourcePort(@IntRange(from=android.net.DscpPolicy.SOURCE_PORT_ANY, to=65535) int);
12918    method @NonNull public android.net.wifi.QosPolicyParams.Builder setUserPriority(int);
12919  }
12920
12921  @Deprecated public class RttManager {
12922    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void disableResponder(android.net.wifi.RttManager.ResponderCallback);
12923    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void enableResponder(android.net.wifi.RttManager.ResponderCallback);
12924    method @Deprecated public android.net.wifi.RttManager.Capabilities getCapabilities();
12925    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.net.wifi.RttManager.RttCapabilities getRttCapabilities();
12926    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startRanging(android.net.wifi.RttManager.RttParams[], android.net.wifi.RttManager.RttListener);
12927    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopRanging(android.net.wifi.RttManager.RttListener);
12928    field @Deprecated public static final int BASE = 160256; // 0x27200
12929    field @Deprecated public static final int CMD_OP_ABORTED = 160260; // 0x27204
12930    field @Deprecated public static final int CMD_OP_DISABLE_RESPONDER = 160262; // 0x27206
12931    field @Deprecated public static final int CMD_OP_ENABLE_RESPONDER = 160261; // 0x27205
12932    field @Deprecated public static final int CMD_OP_ENALBE_RESPONDER_FAILED = 160264; // 0x27208
12933    field @Deprecated public static final int CMD_OP_ENALBE_RESPONDER_SUCCEEDED = 160263; // 0x27207
12934    field @Deprecated public static final int CMD_OP_FAILED = 160258; // 0x27202
12935    field @Deprecated public static final int CMD_OP_START_RANGING = 160256; // 0x27200
12936    field @Deprecated public static final int CMD_OP_STOP_RANGING = 160257; // 0x27201
12937    field @Deprecated public static final int CMD_OP_SUCCEEDED = 160259; // 0x27203
12938    field @Deprecated public static final String DESCRIPTION_KEY = "android.net.wifi.RttManager.Description";
12939    field @Deprecated public static final int PREAMBLE_HT = 2; // 0x2
12940    field @Deprecated public static final int PREAMBLE_LEGACY = 1; // 0x1
12941    field @Deprecated public static final int PREAMBLE_VHT = 4; // 0x4
12942    field @Deprecated public static final int REASON_INITIATOR_NOT_ALLOWED_WHEN_RESPONDER_ON = -6; // 0xfffffffa
12943    field @Deprecated public static final int REASON_INVALID_LISTENER = -3; // 0xfffffffd
12944    field @Deprecated public static final int REASON_INVALID_REQUEST = -4; // 0xfffffffc
12945    field @Deprecated public static final int REASON_NOT_AVAILABLE = -2; // 0xfffffffe
12946    field @Deprecated public static final int REASON_PERMISSION_DENIED = -5; // 0xfffffffb
12947    field @Deprecated public static final int REASON_UNSPECIFIED = -1; // 0xffffffff
12948    field @Deprecated public static final int RTT_BW_10_SUPPORT = 2; // 0x2
12949    field @Deprecated public static final int RTT_BW_160_SUPPORT = 32; // 0x20
12950    field @Deprecated public static final int RTT_BW_20_SUPPORT = 4; // 0x4
12951    field @Deprecated public static final int RTT_BW_40_SUPPORT = 8; // 0x8
12952    field @Deprecated public static final int RTT_BW_5_SUPPORT = 1; // 0x1
12953    field @Deprecated public static final int RTT_BW_80_SUPPORT = 16; // 0x10
12954    field @Deprecated public static final int RTT_CHANNEL_WIDTH_10 = 6; // 0x6
12955    field @Deprecated public static final int RTT_CHANNEL_WIDTH_160 = 3; // 0x3
12956    field @Deprecated public static final int RTT_CHANNEL_WIDTH_20 = 0; // 0x0
12957    field @Deprecated public static final int RTT_CHANNEL_WIDTH_40 = 1; // 0x1
12958    field @Deprecated public static final int RTT_CHANNEL_WIDTH_5 = 5; // 0x5
12959    field @Deprecated public static final int RTT_CHANNEL_WIDTH_80 = 2; // 0x2
12960    field @Deprecated public static final int RTT_CHANNEL_WIDTH_80P80 = 4; // 0x4
12961    field @Deprecated public static final int RTT_CHANNEL_WIDTH_UNSPECIFIED = -1; // 0xffffffff
12962    field @Deprecated public static final int RTT_PEER_NAN = 5; // 0x5
12963    field @Deprecated public static final int RTT_PEER_P2P_CLIENT = 4; // 0x4
12964    field @Deprecated public static final int RTT_PEER_P2P_GO = 3; // 0x3
12965    field @Deprecated public static final int RTT_PEER_TYPE_AP = 1; // 0x1
12966    field @Deprecated public static final int RTT_PEER_TYPE_STA = 2; // 0x2
12967    field @Deprecated public static final int RTT_PEER_TYPE_UNSPECIFIED = 0; // 0x0
12968    field @Deprecated public static final int RTT_STATUS_ABORTED = 8; // 0x8
12969    field @Deprecated public static final int RTT_STATUS_FAILURE = 1; // 0x1
12970    field @Deprecated public static final int RTT_STATUS_FAIL_AP_ON_DIFF_CHANNEL = 6; // 0x6
12971    field @Deprecated public static final int RTT_STATUS_FAIL_BUSY_TRY_LATER = 12; // 0xc
12972    field @Deprecated public static final int RTT_STATUS_FAIL_FTM_PARAM_OVERRIDE = 15; // 0xf
12973    field @Deprecated public static final int RTT_STATUS_FAIL_INVALID_TS = 9; // 0x9
12974    field @Deprecated public static final int RTT_STATUS_FAIL_NOT_SCHEDULED_YET = 4; // 0x4
12975    field @Deprecated public static final int RTT_STATUS_FAIL_NO_CAPABILITY = 7; // 0x7
12976    field @Deprecated public static final int RTT_STATUS_FAIL_NO_RSP = 2; // 0x2
12977    field @Deprecated public static final int RTT_STATUS_FAIL_PROTOCOL = 10; // 0xa
12978    field @Deprecated public static final int RTT_STATUS_FAIL_REJECTED = 3; // 0x3
12979    field @Deprecated public static final int RTT_STATUS_FAIL_SCHEDULE = 11; // 0xb
12980    field @Deprecated public static final int RTT_STATUS_FAIL_TM_TIMEOUT = 5; // 0x5
12981    field @Deprecated public static final int RTT_STATUS_INVALID_REQ = 13; // 0xd
12982    field @Deprecated public static final int RTT_STATUS_NO_WIFI = 14; // 0xe
12983    field @Deprecated public static final int RTT_STATUS_SUCCESS = 0; // 0x0
12984    field @Deprecated public static final int RTT_TYPE_11_MC = 4; // 0x4
12985    field @Deprecated public static final int RTT_TYPE_11_V = 2; // 0x2
12986    field @Deprecated public static final int RTT_TYPE_ONE_SIDED = 1; // 0x1
12987    field @Deprecated public static final int RTT_TYPE_TWO_SIDED = 2; // 0x2
12988    field @Deprecated public static final int RTT_TYPE_UNSPECIFIED = 0; // 0x0
12989  }
12990
12991  @Deprecated public class RttManager.Capabilities {
12992    ctor @Deprecated public RttManager.Capabilities();
12993    field @Deprecated public int supportedPeerType;
12994    field @Deprecated public int supportedType;
12995  }
12996
12997  @Deprecated public static class RttManager.ParcelableRttParams implements android.os.Parcelable {
12998    field @Deprecated @NonNull public android.net.wifi.RttManager.RttParams[] mParams;
12999  }
13000
13001  @Deprecated public static class RttManager.ParcelableRttResults implements android.os.Parcelable {
13002    ctor @Deprecated public RttManager.ParcelableRttResults(android.net.wifi.RttManager.RttResult[]);
13003    field @Deprecated public android.net.wifi.RttManager.RttResult[] mResults;
13004  }
13005
13006  @Deprecated public abstract static class RttManager.ResponderCallback {
13007    ctor @Deprecated public RttManager.ResponderCallback();
13008    method @Deprecated public abstract void onResponderEnableFailure(int);
13009    method @Deprecated public abstract void onResponderEnabled(android.net.wifi.RttManager.ResponderConfig);
13010  }
13011
13012  @Deprecated public static class RttManager.ResponderConfig implements android.os.Parcelable {
13013    ctor @Deprecated public RttManager.ResponderConfig();
13014    method @Deprecated public int describeContents();
13015    method @Deprecated public void writeToParcel(android.os.Parcel, int);
13016    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.RttManager.ResponderConfig> CREATOR;
13017    field @Deprecated public int centerFreq0;
13018    field @Deprecated public int centerFreq1;
13019    field @Deprecated public int channelWidth;
13020    field @Deprecated public int frequency;
13021    field @Deprecated public String macAddress;
13022    field @Deprecated public int preamble;
13023  }
13024
13025  @Deprecated public static class RttManager.RttCapabilities implements android.os.Parcelable {
13026    ctor @Deprecated public RttManager.RttCapabilities();
13027    field @Deprecated public int bwSupported;
13028    field @Deprecated public boolean lciSupported;
13029    field @Deprecated public boolean lcrSupported;
13030    field @Deprecated public int mcVersion;
13031    field @Deprecated public boolean oneSidedRttSupported;
13032    field @Deprecated public int preambleSupported;
13033    field @Deprecated public boolean responderSupported;
13034    field @Deprecated public boolean secureRttSupported;
13035    field @Deprecated public boolean supportedPeerType;
13036    field @Deprecated public boolean supportedType;
13037    field @Deprecated public boolean twoSided11McRttSupported;
13038  }
13039
13040  @Deprecated public static interface RttManager.RttListener {
13041    method @Deprecated public void onAborted();
13042    method @Deprecated public void onFailure(int, String);
13043    method @Deprecated public void onSuccess(android.net.wifi.RttManager.RttResult[]);
13044  }
13045
13046  @Deprecated public static class RttManager.RttParams {
13047    ctor @Deprecated public RttManager.RttParams();
13048    field @Deprecated public boolean LCIRequest;
13049    field @Deprecated public boolean LCRRequest;
13050    field @Deprecated public int bandwidth;
13051    field @Deprecated public String bssid;
13052    field @Deprecated public int burstTimeout;
13053    field @Deprecated public int centerFreq0;
13054    field @Deprecated public int centerFreq1;
13055    field @Deprecated public int channelWidth;
13056    field @Deprecated public int deviceType;
13057    field @Deprecated public int frequency;
13058    field @Deprecated public int interval;
13059    field @Deprecated public int numRetriesPerFTMR;
13060    field @Deprecated public int numRetriesPerMeasurementFrame;
13061    field @Deprecated public int numSamplesPerBurst;
13062    field @Deprecated public int num_retries;
13063    field @Deprecated public int num_samples;
13064    field @Deprecated public int numberBurst;
13065    field @Deprecated public int preamble;
13066    field @Deprecated public int requestType;
13067    field @Deprecated public boolean secure;
13068  }
13069
13070  @Deprecated public static class RttManager.RttResult {
13071    ctor @Deprecated public RttManager.RttResult();
13072    field @Deprecated public android.net.wifi.RttManager.WifiInformationElement LCI;
13073    field @Deprecated public android.net.wifi.RttManager.WifiInformationElement LCR;
13074    field @Deprecated public String bssid;
13075    field @Deprecated public int burstDuration;
13076    field @Deprecated public int burstNumber;
13077    field @Deprecated public int distance;
13078    field @Deprecated public int distanceSpread;
13079    field @Deprecated public int distanceStandardDeviation;
13080    field @Deprecated public int distance_cm;
13081    field @Deprecated public int distance_sd_cm;
13082    field @Deprecated public int distance_spread_cm;
13083    field @Deprecated public int frameNumberPerBurstPeer;
13084    field @Deprecated public int measurementFrameNumber;
13085    field @Deprecated public int measurementType;
13086    field @Deprecated public int negotiatedBurstNum;
13087    field @Deprecated public int requestType;
13088    field @Deprecated public int retryAfterDuration;
13089    field @Deprecated public int rssi;
13090    field @Deprecated public int rssiSpread;
13091    field @Deprecated public int rssi_spread;
13092    field @Deprecated public long rtt;
13093    field @Deprecated public long rttSpread;
13094    field @Deprecated public long rttStandardDeviation;
13095    field @Deprecated public long rtt_ns;
13096    field @Deprecated public long rtt_sd_ns;
13097    field @Deprecated public long rtt_spread_ns;
13098    field @Deprecated public int rxRate;
13099    field @Deprecated public boolean secure;
13100    field @Deprecated public int status;
13101    field @Deprecated public int successMeasurementFrameNumber;
13102    field @Deprecated public long ts;
13103    field @Deprecated public int txRate;
13104    field @Deprecated public int tx_rate;
13105  }
13106
13107  @Deprecated public static class RttManager.WifiInformationElement {
13108    ctor @Deprecated public RttManager.WifiInformationElement();
13109    field @Deprecated public byte[] data;
13110    field @Deprecated public byte id;
13111  }
13112
13113  public final class ScanResult implements android.os.Parcelable {
13114    method public int getBand();
13115    method public void setWifiSsid(@NonNull android.net.wifi.WifiSsid);
13116    field public static final int CIPHER_BIP_CMAC_256 = 9; // 0x9
13117    field public static final int CIPHER_BIP_GMAC_128 = 7; // 0x7
13118    field public static final int CIPHER_BIP_GMAC_256 = 8; // 0x8
13119    field public static final int CIPHER_CCMP = 3; // 0x3
13120    field public static final int CIPHER_GCMP_128 = 6; // 0x6
13121    field public static final int CIPHER_GCMP_256 = 4; // 0x4
13122    field public static final int CIPHER_NONE = 0; // 0x0
13123    field public static final int CIPHER_NO_GROUP_ADDRESSED = 1; // 0x1
13124    field public static final int CIPHER_SMS4 = 5; // 0x5
13125    field public static final int CIPHER_TKIP = 2; // 0x2
13126    field public static final int KEY_MGMT_EAP = 2; // 0x2
13127    field public static final int KEY_MGMT_EAP_SHA256 = 6; // 0x6
13128    field public static final int KEY_MGMT_EAP_SUITE_B_192 = 10; // 0xa
13129    field public static final int KEY_MGMT_FT_EAP = 4; // 0x4
13130    field public static final int KEY_MGMT_FT_PSK = 3; // 0x3
13131    field public static final int KEY_MGMT_FT_SAE = 11; // 0xb
13132    field public static final int KEY_MGMT_NONE = 0; // 0x0
13133    field public static final int KEY_MGMT_OSEN = 7; // 0x7
13134    field public static final int KEY_MGMT_OWE = 9; // 0x9
13135    field public static final int KEY_MGMT_OWE_TRANSITION = 12; // 0xc
13136    field public static final int KEY_MGMT_PSK = 1; // 0x1
13137    field public static final int KEY_MGMT_PSK_SHA256 = 5; // 0x5
13138    field public static final int KEY_MGMT_SAE = 8; // 0x8
13139    field public static final int KEY_MGMT_WAPI_CERT = 14; // 0xe
13140    field public static final int KEY_MGMT_WAPI_PSK = 13; // 0xd
13141    field public static final int PROTOCOL_NONE = 0; // 0x0
13142    field public static final int PROTOCOL_OSEN = 3; // 0x3
13143    field public static final int PROTOCOL_RSN = 2; // 0x2
13144    field public static final int PROTOCOL_WAPI = 4; // 0x4
13145    field public static final int PROTOCOL_WPA = 1; // 0x1
13146  }
13147
13148  public final class SoftApCapability implements android.os.Parcelable {
13149    method public boolean areFeaturesSupported(long);
13150    method public int describeContents();
13151    method public int getMaxSupportedClients();
13152    method @NonNull public int[] getSupportedChannelList(int);
13153    method public void writeToParcel(@NonNull android.os.Parcel, int);
13154    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApCapability> CREATOR;
13155    field public static final long SOFTAP_FEATURE_ACS_OFFLOAD = 1L; // 0x1L
13156    field public static final long SOFTAP_FEATURE_BAND_24G_SUPPORTED = 32L; // 0x20L
13157    field public static final long SOFTAP_FEATURE_BAND_5G_SUPPORTED = 64L; // 0x40L
13158    field public static final long SOFTAP_FEATURE_BAND_60G_SUPPORTED = 256L; // 0x100L
13159    field public static final long SOFTAP_FEATURE_BAND_6G_SUPPORTED = 128L; // 0x80L
13160    field public static final long SOFTAP_FEATURE_CLIENT_FORCE_DISCONNECT = 2L; // 0x2L
13161    field public static final long SOFTAP_FEATURE_IEEE80211_AX = 16L; // 0x10L
13162    field public static final long SOFTAP_FEATURE_IEEE80211_BE = 512L; // 0x200L
13163    field public static final long SOFTAP_FEATURE_MAC_ADDRESS_CUSTOMIZATION = 8L; // 0x8L
13164    field public static final long SOFTAP_FEATURE_WPA3_OWE = 2048L; // 0x800L
13165    field public static final long SOFTAP_FEATURE_WPA3_OWE_TRANSITION = 1024L; // 0x400L
13166    field public static final long SOFTAP_FEATURE_WPA3_SAE = 4L; // 0x4L
13167  }
13168
13169  public final class SoftApConfiguration implements android.os.Parcelable {
13170    method @NonNull public int[] getAllowedAcsChannels(int);
13171    method @NonNull public java.util.List<android.net.MacAddress> getAllowedClientList();
13172    method @Deprecated public int getBand();
13173    method @NonNull public java.util.List<android.net.MacAddress> getBlockedClientList();
13174    method public long getBridgedModeOpportunisticShutdownTimeoutMillis();
13175    method @Deprecated public int getChannel();
13176    method @NonNull public android.util.SparseIntArray getChannels();
13177    method public int getMacRandomizationSetting();
13178    method public int getMaxChannelBandwidth();
13179    method public int getMaxNumberOfClients();
13180    method @NonNull public android.net.MacAddress getPersistentRandomizedMacAddress();
13181    method public long getShutdownTimeoutMillis();
13182    method @NonNull public java.util.List<android.net.wifi.ScanResult.InformationElement> getVendorElements();
13183    method public boolean isAutoShutdownEnabled();
13184    method public boolean isBridgedModeOpportunisticShutdownEnabled();
13185    method public boolean isClientControlByUserEnabled();
13186    method public boolean isIeee80211axEnabled();
13187    method public boolean isIeee80211beEnabled();
13188    method public boolean isUserConfiguration();
13189    method @Nullable public android.net.wifi.WifiConfiguration toWifiConfiguration();
13190    field public static final int BAND_2GHZ = 1; // 0x1
13191    field public static final int BAND_5GHZ = 2; // 0x2
13192    field public static final int BAND_60GHZ = 8; // 0x8
13193    field public static final int BAND_6GHZ = 4; // 0x4
13194    field @Deprecated public static final int BAND_ANY = 7; // 0x7
13195    field public static final long DEFAULT_TIMEOUT = -1L; // 0xffffffffffffffffL
13196    field public static final int RANDOMIZATION_NONE = 0; // 0x0
13197    field public static final int RANDOMIZATION_NON_PERSISTENT = 2; // 0x2
13198    field public static final int RANDOMIZATION_PERSISTENT = 1; // 0x1
13199  }
13200
13201  public static final class SoftApConfiguration.Builder {
13202    ctor public SoftApConfiguration.Builder();
13203    ctor public SoftApConfiguration.Builder(@NonNull android.net.wifi.SoftApConfiguration);
13204    method @NonNull public android.net.wifi.SoftApConfiguration build();
13205    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAllowedAcsChannels(int, @NonNull int[]);
13206    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAllowedClientList(@NonNull java.util.List<android.net.MacAddress>);
13207    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAutoShutdownEnabled(boolean);
13208    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBand(int);
13209    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBands(@NonNull int[]);
13210    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBlockedClientList(@NonNull java.util.List<android.net.MacAddress>);
13211    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBridgedModeOpportunisticShutdownEnabled(boolean);
13212    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBridgedModeOpportunisticShutdownTimeoutMillis(@IntRange(from=0xffffffff) long);
13213    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBssid(@Nullable android.net.MacAddress);
13214    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setChannel(int, int);
13215    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setChannels(@NonNull android.util.SparseIntArray);
13216    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setClientControlByUserEnabled(boolean);
13217    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setHiddenSsid(boolean);
13218    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setIeee80211axEnabled(boolean);
13219    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setIeee80211beEnabled(boolean);
13220    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMacRandomizationSetting(int);
13221    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMaxChannelBandwidth(int);
13222    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMaxNumberOfClients(@IntRange(from=0) int);
13223    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setPassphrase(@Nullable String, int);
13224    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setShutdownTimeoutMillis(@IntRange(from=0xffffffff) long);
13225    method @Deprecated @NonNull public android.net.wifi.SoftApConfiguration.Builder setSsid(@Nullable String);
13226    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setVendorElements(@NonNull java.util.List<android.net.wifi.ScanResult.InformationElement>);
13227    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setWifiSsid(@Nullable android.net.wifi.WifiSsid);
13228  }
13229
13230  public final class SoftApInfo implements android.os.Parcelable {
13231    method public int describeContents();
13232    method public long getAutoShutdownTimeoutMillis();
13233    method public int getBandwidth();
13234    method @Nullable public android.net.MacAddress getBssid();
13235    method public int getFrequency();
13236    method public int getWifiStandard();
13237    method public void writeToParcel(@NonNull android.os.Parcel, int);
13238    field public static final int CHANNEL_WIDTH_160MHZ = 6; // 0x6
13239    field public static final int CHANNEL_WIDTH_20MHZ = 2; // 0x2
13240    field public static final int CHANNEL_WIDTH_20MHZ_NOHT = 1; // 0x1
13241    field public static final int CHANNEL_WIDTH_2160MHZ = 7; // 0x7
13242    field public static final int CHANNEL_WIDTH_320MHZ = 11; // 0xb
13243    field public static final int CHANNEL_WIDTH_40MHZ = 3; // 0x3
13244    field public static final int CHANNEL_WIDTH_4320MHZ = 8; // 0x8
13245    field public static final int CHANNEL_WIDTH_6480MHZ = 9; // 0x9
13246    field public static final int CHANNEL_WIDTH_80MHZ = 4; // 0x4
13247    field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 5; // 0x5
13248    field public static final int CHANNEL_WIDTH_8640MHZ = 10; // 0xa
13249    field public static final int CHANNEL_WIDTH_AUTO = -1; // 0xffffffff
13250    field public static final int CHANNEL_WIDTH_INVALID = 0; // 0x0
13251    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApInfo> CREATOR;
13252  }
13253
13254  public final class WifiClient implements android.os.Parcelable {
13255    method public int describeContents();
13256    method @NonNull public android.net.MacAddress getMacAddress();
13257    method public void writeToParcel(@NonNull android.os.Parcel, int);
13258    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiClient> CREATOR;
13259  }
13260
13261  @Deprecated public class WifiConfiguration implements android.os.Parcelable {
13262    method @Deprecated @NonNull public java.util.Set<java.lang.String> getAllNetworkKeys();
13263    method @Deprecated public int getAuthType();
13264    method @Deprecated @Nullable public java.util.List<android.net.MacAddress> getBssidAllowlist();
13265    method @Deprecated public int getDeletionPriority();
13266    method @Deprecated @NonNull public byte[] getDppCSignKey();
13267    method @Deprecated @NonNull public byte[] getDppConnector();
13268    method @Deprecated @NonNull public byte[] getDppNetAccessKey();
13269    method @Deprecated @NonNull public byte[] getDppPrivateEcKey();
13270    method @Deprecated @NonNull public android.net.IpConfiguration getIpConfiguration();
13271    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus getNetworkSelectionStatus();
13272    method @Deprecated @NonNull public String getPrintableSsid();
13273    method @Deprecated @NonNull public String getProfileKey();
13274    method @Deprecated public int getRecentFailureReason();
13275    method @Deprecated public boolean hasNoInternetAccess();
13276    method @Deprecated public boolean isEphemeral();
13277    method @Deprecated public static boolean isMetered(@Nullable android.net.wifi.WifiConfiguration, @Nullable android.net.wifi.WifiInfo);
13278    method @Deprecated public boolean isNoInternetAccessExpected();
13279    method @Deprecated public boolean isRepeaterEnabled();
13280    method @Deprecated public void setBssidAllowlist(@Nullable java.util.List<android.net.MacAddress>);
13281    method @Deprecated public void setDeletionPriority(int) throws java.lang.IllegalArgumentException;
13282    method @Deprecated public void setNetworkSelectionStatus(@NonNull android.net.wifi.WifiConfiguration.NetworkSelectionStatus);
13283    method @Deprecated @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setRepeaterEnabled(boolean);
13284    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiConfiguration> CREATOR;
13285    field @Deprecated public static final int INVALID_NETWORK_ID = -1; // 0xffffffff
13286    field @Deprecated public static final int METERED_OVERRIDE_METERED = 1; // 0x1
13287    field @Deprecated public static final int METERED_OVERRIDE_NONE = 0; // 0x0
13288    field @Deprecated public static final int METERED_OVERRIDE_NOT_METERED = 2; // 0x2
13289    field @Deprecated public static final int RECENT_FAILURE_AP_UNABLE_TO_HANDLE_NEW_STA = 17; // 0x11
13290    field @Deprecated public static final int RECENT_FAILURE_DISCONNECTION_AP_BUSY = 1004; // 0x3ec
13291    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_AIR_INTERFACE_OVERLOADED = 1007; // 0x3ef
13292    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_AUTH_SERVER_OVERLOADED = 1008; // 0x3f0
13293    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_INSUFFICIENT_RSSI = 1009; // 0x3f1
13294    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_MAX_NUM_STA_ASSOCIATED = 1006; // 0x3ee
13295    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_UNSPECIFIED = 1005; // 0x3ed
13296    field @Deprecated public static final int RECENT_FAILURE_NETWORK_NOT_FOUND = 1011; // 0x3f3
13297    field @Deprecated public static final int RECENT_FAILURE_NONE = 0; // 0x0
13298    field @Deprecated public static final int RECENT_FAILURE_OCE_RSSI_BASED_ASSOCIATION_REJECTION = 1010; // 0x3f2
13299    field @Deprecated public static final int RECENT_FAILURE_POOR_CHANNEL_CONDITIONS = 1003; // 0x3eb
13300    field @Deprecated public static final int RECENT_FAILURE_REFUSED_TEMPORARILY = 1002; // 0x3ea
13301    field @Deprecated public boolean allowAutojoin;
13302    field @Deprecated public int carrierId;
13303    field @Deprecated public boolean carrierMerged;
13304    field @Deprecated public String creatorName;
13305    field @Deprecated public int creatorUid;
13306    field @Deprecated public boolean fromWifiNetworkSpecifier;
13307    field @Deprecated public boolean fromWifiNetworkSuggestion;
13308    field @Deprecated public int lastConnectUid;
13309    field @Deprecated public long lastConnected;
13310    field @Deprecated public String lastUpdateName;
13311    field @Deprecated public int lastUpdateUid;
13312    field @Deprecated public int macRandomizationSetting;
13313    field @Deprecated public boolean meteredHint;
13314    field @Deprecated public int meteredOverride;
13315    field @Deprecated public int numAssociation;
13316    field @Deprecated public int numRebootsSinceLastUse;
13317    field @Deprecated public int numScorerOverride;
13318    field @Deprecated public int numScorerOverrideAndSwitchedNetwork;
13319    field @Deprecated public boolean requirePmf;
13320    field @Deprecated public boolean shared;
13321    field @Deprecated public int subscriptionId;
13322    field @Deprecated public boolean useExternalScores;
13323  }
13324
13325  @Deprecated public static class WifiConfiguration.NetworkSelectionStatus {
13326    method @Deprecated public int getDisableReasonCounter(int);
13327    method @Deprecated public long getDisableTime();
13328    method @Deprecated public static int getMaxNetworkSelectionDisableReason();
13329    method @Deprecated public int getNetworkSelectionDisableReason();
13330    method @Deprecated @Nullable public static String getNetworkSelectionDisableReasonString(int);
13331    method @Deprecated public int getNetworkSelectionStatus();
13332    method @Deprecated @NonNull public String getNetworkStatusString();
13333    method @Deprecated public boolean hasEverConnected();
13334    field @Deprecated public static final int DISABLED_ASSOCIATION_REJECTION = 1; // 0x1
13335    field @Deprecated public static final int DISABLED_AUTHENTICATION_FAILURE = 2; // 0x2
13336    field @Deprecated public static final int DISABLED_AUTHENTICATION_NO_CREDENTIALS = 5; // 0x5
13337    field @Deprecated public static final int DISABLED_AUTHENTICATION_NO_SUBSCRIPTION = 9; // 0x9
13338    field @Deprecated public static final int DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR = 10; // 0xa
13339    field @Deprecated public static final int DISABLED_BY_WIFI_MANAGER = 7; // 0x7
13340    field @Deprecated public static final int DISABLED_BY_WRONG_PASSWORD = 8; // 0x8
13341    field @Deprecated public static final int DISABLED_CONSECUTIVE_FAILURES = 12; // 0xc
13342    field @Deprecated public static final int DISABLED_DHCP_FAILURE = 3; // 0x3
13343    field @Deprecated public static final int DISABLED_NETWORK_NOT_FOUND = 11; // 0xb
13344    field @Deprecated public static final int DISABLED_NONE = 0; // 0x0
13345    field @Deprecated public static final int DISABLED_NO_INTERNET_PERMANENT = 6; // 0x6
13346    field @Deprecated public static final int DISABLED_NO_INTERNET_TEMPORARY = 4; // 0x4
13347    field @Deprecated public static final int DISABLED_TRANSITION_DISABLE_INDICATION = 13; // 0xd
13348    field @Deprecated public static final int NETWORK_SELECTION_ENABLED = 0; // 0x0
13349    field @Deprecated public static final int NETWORK_SELECTION_PERMANENTLY_DISABLED = 2; // 0x2
13350    field @Deprecated public static final int NETWORK_SELECTION_TEMPORARY_DISABLED = 1; // 0x1
13351  }
13352
13353  @Deprecated public static final class WifiConfiguration.NetworkSelectionStatus.Builder {
13354    ctor @Deprecated public WifiConfiguration.NetworkSelectionStatus.Builder();
13355    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus build();
13356    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus.Builder setNetworkSelectionDisableReason(int);
13357    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus.Builder setNetworkSelectionStatus(int);
13358  }
13359
13360  public final class WifiConnectedSessionInfo implements android.os.Parcelable {
13361    method public int describeContents();
13362    method public int getSessionId();
13363    method public boolean isUserSelected();
13364    method public void writeToParcel(@NonNull android.os.Parcel, int);
13365    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiConnectedSessionInfo> CREATOR;
13366  }
13367
13368  public static final class WifiConnectedSessionInfo.Builder {
13369    ctor public WifiConnectedSessionInfo.Builder(int);
13370    method @NonNull public android.net.wifi.WifiConnectedSessionInfo build();
13371    method @NonNull public android.net.wifi.WifiConnectedSessionInfo.Builder setUserSelected(boolean);
13372  }
13373
13374  public class WifiEnterpriseConfig implements android.os.Parcelable {
13375    method @Nullable public String[] getCaCertificateAliases();
13376    method @NonNull public String getCaPath();
13377    method @NonNull public String getClientCertificateAlias();
13378    method public int getOcsp();
13379    method @NonNull public String getWapiCertSuite();
13380    method public void setCaCertificateAliases(@Nullable String[]);
13381    method public void setCaPath(@NonNull String);
13382    method public void setClientCertificateAlias(@NonNull String);
13383    method public void setOcsp(int);
13384    method public void setWapiCertSuite(@NonNull String);
13385    field public static final int OCSP_NONE = 0; // 0x0
13386    field public static final int OCSP_REQUEST_CERT_STATUS = 1; // 0x1
13387    field public static final int OCSP_REQUIRE_ALL_NON_TRUSTED_CERTS_STATUS = 3; // 0x3
13388    field public static final int OCSP_REQUIRE_CERT_STATUS = 2; // 0x2
13389  }
13390
13391  public class WifiFrameworkInitializer {
13392    method public static void registerServiceWrappers();
13393  }
13394
13395  public class WifiInfo implements android.os.Parcelable android.net.TransportInfo {
13396    method public double getLostTxPacketsPerSecond();
13397    method @Nullable public String getNetworkKey();
13398    method @Nullable public String getRequestingPackageName();
13399    method public double getRetriedTxPacketsPerSecond();
13400    method public int getScore();
13401    method public double getSuccessfulRxPacketsPerSecond();
13402    method public double getSuccessfulTxPacketsPerSecond();
13403    method public boolean isApTidToLinkMappingNegotiationSupported();
13404    method public boolean isCarrierMerged();
13405    method public boolean isEphemeral();
13406    method public boolean isOemPaid();
13407    method public boolean isOemPrivate();
13408    method public boolean isOsuAp();
13409    method public boolean isPasspointAp();
13410    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public boolean isPrimary();
13411    method public boolean isTrusted();
13412    method @Nullable public static String sanitizeSsid(@Nullable String);
13413    field public static final String DEFAULT_MAC_ADDRESS = "02:00:00:00:00:00";
13414    field public static final int INVALID_RSSI = -127; // 0xffffff81
13415  }
13416
13417  public class WifiManager {
13418    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void addOnWifiUsabilityStatsListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener);
13419    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>>);
13420    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void addWifiNetworkStateChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiNetworkStateChangedListener);
13421    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void addWifiVerboseLoggingStatusChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiVerboseLoggingStatusChangedListener);
13422    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoin(int, boolean);
13423    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoinPasspoint(@NonNull String, boolean);
13424    method public void clearExternalPnoScanRequest();
13425    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void clearOverrideCountryCode();
13426    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void clearWifiConnectedNetworkScorer();
13427    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);
13428    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);
13429    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);
13430    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK}) public void disableEphemeralNetwork(@NonNull String);
13431    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void factoryReset();
13432    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);
13433    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>);
13434    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.ACCESS_COARSE_LOCATION}) public String getCountryCode();
13435    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.Network getCurrentNetwork();
13436    method public static int getEasyConnectMaxAllowedResponderDeviceInfoLength();
13437    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String[] getFactoryMacAddresses();
13438    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>);
13439    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>);
13440    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>);
13441    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>);
13442    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>);
13443    method public static int getMaxNumberOfPoliciesPerQosRequest();
13444    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>);
13445    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>);
13446    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public java.util.Set<java.lang.String> getOemPrivilegedWifiAdminPackages();
13447    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();
13448    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();
13449    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public android.net.wifi.SoftApConfiguration getSoftApConfiguration();
13450    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();
13451    method public int getVerboseLoggingLevel();
13452    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void getWifiActivityEnergyInfoAsync(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.OnWifiActivityEnergyInfoListener);
13453    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public android.net.wifi.WifiConfiguration getWifiApConfiguration();
13454    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public int getWifiApState();
13455    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>);
13456    method public boolean isApMacRandomizationSupported();
13457    method public boolean isConnectedMacRandomizationSupported();
13458    method @Deprecated public boolean isDeviceToDeviceRttSupported();
13459    method public boolean isPortableHotspotSupported();
13460    method public boolean isStaConcurrencyForRestrictedConnectionsSupported();
13461    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean isThirdPartyAppEnablingWifiConfirmationDialogEnabled();
13462    method public boolean isVerboseLoggingEnabled();
13463    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isWifiApEnabled();
13464    method public boolean isWifiScannerSupported();
13465    method @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_ADMINS) public void notifyMinimumRequiredWifiSecurityLevelChanged(int);
13466    method @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_ADMINS) public void notifyWifiSsidPolicyChanged(@NonNull android.app.admin.WifiSsidPolicy);
13467    method @Nullable @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void queryLastConfiguredTetheredApPassphraseSinceBoot(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.String>);
13468    method @RequiresPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION) public void registerActiveCountryCodeChangedCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.ActiveCountryCodeChangedCallback);
13469    method @RequiresPermission(android.Manifest.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS) public void registerCoexCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.CoexCallback);
13470    method @RequiresPermission(android.Manifest.permission.NEARBY_WIFI_DEVICES) public void registerLocalOnlyHotspotSoftApCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SoftApCallback);
13471    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void registerNetworkRequestMatchCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.NetworkRequestMatchCallback);
13472    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);
13473    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void registerTrafficStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.TrafficStateCallback);
13474    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void removeAllQosPolicies();
13475    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void removeAppState(int, @NonNull String);
13476    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void removeOnWifiUsabilityStatsListener(@NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener);
13477    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void removeQosPolicies(@NonNull int[]);
13478    method public void removeWifiNetworkStateChangedListener(@NonNull android.net.wifi.WifiManager.WifiNetworkStateChangedListener);
13479    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeWifiVerboseLoggingStatusChangedListener(@NonNull android.net.wifi.WifiManager.WifiVerboseLoggingStatusChangedListener);
13480    method @RequiresPermission(android.Manifest.permission.RESTART_WIFI_SUBSYSTEM) public void restartWifiSubsystem();
13481    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void restoreBackupData(@NonNull byte[]);
13482    method @Nullable @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public android.net.wifi.SoftApConfiguration restoreSoftApBackupData(@NonNull byte[]);
13483    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void restoreSupplicantBackupData(@NonNull byte[], @NonNull byte[]);
13484    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public byte[] retrieveBackupData();
13485    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public byte[] retrieveSoftApBackupData();
13486    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);
13487    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setAutoWakeupEnabled(boolean);
13488    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setCarrierNetworkOffloadEnabled(int, boolean, boolean);
13489    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS) public void setCoexUnsafeChannels(@NonNull java.util.List<android.net.wifi.CoexUnsafeChannel>, int);
13490    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void setDefaultCountryCode(@NonNull String);
13491    method @RequiresPermission(android.Manifest.permission.WIFI_SET_DEVICE_MOBILITY_STATE) public void setDeviceMobilityState(int);
13492    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);
13493    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void setLinkLayerStatsPollingInterval(@IntRange(from=0) int);
13494    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setMacRandomizationSettingPasspointEnabled(@NonNull String, boolean);
13495    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>);
13496    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void setNetworkSelectionConfig(@NonNull android.net.wifi.WifiNetworkSelectionConfig);
13497    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void setOneShotScreenOnConnectivityScanDelayMillis(@IntRange(from=0) int);
13498    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void setOverrideCountryCode(@NonNull String);
13499    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setPasspointMeteredOverride(@NonNull String, int);
13500    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setScanAlwaysAvailable(boolean);
13501    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setScanThrottleEnabled(boolean);
13502    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>);
13503    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public boolean setSoftApConfiguration(@NonNull android.net.wifi.SoftApConfiguration);
13504    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>);
13505    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean setStaConcurrencyForMultiInternetMode(int);
13506    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setThirdPartyAppEnablingWifiConfirmationDialogEnabled(boolean);
13507    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setVerboseLoggingEnabled(boolean);
13508    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setVerboseLoggingLevel(int);
13509    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public boolean setWifiApConfiguration(android.net.wifi.WifiConfiguration);
13510    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public boolean setWifiConnectedNetworkScorer(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiConnectedNetworkScorer);
13511    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setWifiPasspointEnabled(boolean);
13512    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public boolean setWifiScoringEnabled(boolean);
13513    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);
13514    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);
13515    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);
13516    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);
13517    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startRestrictingAutoJoinToSubscriptionId(int);
13518    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public boolean startScan(android.os.WorkSource);
13519    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);
13520    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean startTetheredHotspot(@Nullable android.net.wifi.SoftApConfiguration);
13521    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void stopEasyConnectSession();
13522    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void stopRestrictingAutoJoinToSubscriptionId();
13523    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean stopSoftAp();
13524    method public void unregisterActiveCountryCodeChangedCallback(@NonNull android.net.wifi.WifiManager.ActiveCountryCodeChangedCallback);
13525    method @RequiresPermission(android.Manifest.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS) public void unregisterCoexCallback(@NonNull android.net.wifi.WifiManager.CoexCallback);
13526    method @RequiresPermission(android.Manifest.permission.NEARBY_WIFI_DEVICES) public void unregisterLocalOnlyHotspotSoftApCallback(@NonNull android.net.wifi.WifiManager.SoftApCallback);
13527    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterNetworkRequestMatchCallback(@NonNull android.net.wifi.WifiManager.NetworkRequestMatchCallback);
13528    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);
13529    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterTrafficStateCallback(@NonNull android.net.wifi.WifiManager.TrafficStateCallback);
13530    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void updateInterfaceIpState(@Nullable String, int);
13531    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void updateWifiUsabilityScore(int, int, int);
13532    field public static final String ACTION_LINK_CONFIGURATION_CHANGED = "android.net.wifi.LINK_CONFIGURATION_CHANGED";
13533    field @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public static final String ACTION_NETWORK_SETTINGS_RESET = "android.net.wifi.action.NETWORK_SETTINGS_RESET";
13534    field public static final String ACTION_PASSPOINT_LAUNCH_OSU_VIEW = "android.net.wifi.action.PASSPOINT_LAUNCH_OSU_VIEW";
13535    field @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public static final String ACTION_REFRESH_USER_PROVISIONING = "android.net.wifi.action.REFRESH_USER_PROVISIONING";
13536    field public static final String ACTION_REQUEST_DISABLE = "android.net.wifi.action.REQUEST_DISABLE";
13537    field public static final String ACTION_REQUEST_ENABLE = "android.net.wifi.action.REQUEST_ENABLE";
13538    field public static final int API_ADD_NETWORK = 10; // 0xa
13539    field public static final int API_ALLOW_AUTOJOIN = 12; // 0xc
13540    field public static final int API_AUTOJOIN_GLOBAL = 5; // 0x5
13541    field public static final int API_CONNECT_CONFIG = 13; // 0xd
13542    field public static final int API_CONNECT_NETWORK_ID = 14; // 0xe
13543    field public static final int API_DISABLE_NETWORK = 15; // 0xf
13544    field public static final int API_ENABLE_NETWORK = 16; // 0x10
13545    field public static final int API_FORGET = 17; // 0x11
13546    field public static final int API_P2P_CANCEL_CONNECT = 26; // 0x1a
13547    field public static final int API_P2P_CONNECT = 25; // 0x19
13548    field public static final int API_P2P_CREATE_GROUP = 27; // 0x1b
13549    field public static final int API_P2P_CREATE_GROUP_P2P_CONFIG = 28; // 0x1c
13550    field public static final int API_P2P_DISCOVER_PEERS = 21; // 0x15
13551    field public static final int API_P2P_DISCOVER_PEERS_ON_SOCIAL_CHANNELS = 22; // 0x16
13552    field public static final int API_P2P_DISCOVER_PEERS_ON_SPECIFIC_FREQUENCY = 23; // 0x17
13553    field public static final int API_P2P_REMOVE_GROUP = 29; // 0x1d
13554    field public static final int API_P2P_SET_CHANNELS = 32; // 0x20
13555    field public static final int API_P2P_START_LISTENING = 30; // 0x1e
13556    field public static final int API_P2P_STOP_LISTENING = 31; // 0x1f
13557    field public static final int API_P2P_STOP_PEER_DISCOVERY = 24; // 0x18
13558    field public static final int API_SAVE = 18; // 0x12
13559    field public static final int API_SCANNING_ENABLED = 1; // 0x1
13560    field public static final int API_SET_NETWORK_SELECTION_CONFIG = 8; // 0x8
13561    field public static final int API_SET_ONE_SHOT_SCREEN_ON_CONNECTIVITY_SCAN_DELAY = 7; // 0x7
13562    field public static final int API_SET_SCAN_SCHEDULE = 6; // 0x6
13563    field public static final int API_SET_TDLS_ENABLED = 34; // 0x22
13564    field public static final int API_SET_TDLS_ENABLED_WITH_MAC_ADDRESS = 35; // 0x23
13565    field public static final int API_SET_THIRD_PARTY_APPS_ENABLING_WIFI_CONFIRMATION_DIALOG = 9; // 0x9
13566    field public static final int API_SOFT_AP = 3; // 0x3
13567    field public static final int API_START_LOCAL_ONLY_HOTSPOT = 20; // 0x14
13568    field public static final int API_START_SCAN = 19; // 0x13
13569    field public static final int API_TETHERED_HOTSPOT = 4; // 0x4
13570    field public static final int API_UPDATE_NETWORK = 11; // 0xb
13571    field public static final int API_WIFI_ENABLED = 2; // 0x2
13572    field public static final int API_WIFI_SCANNER_START_SCAN = 33; // 0x21
13573    field public static final int CHANGE_REASON_ADDED = 0; // 0x0
13574    field public static final int CHANGE_REASON_CONFIG_CHANGE = 2; // 0x2
13575    field public static final int CHANGE_REASON_REMOVED = 1; // 0x1
13576    field public static final int COEX_RESTRICTION_SOFTAP = 2; // 0x2
13577    field public static final int COEX_RESTRICTION_WIFI_AWARE = 4; // 0x4
13578    field public static final int COEX_RESTRICTION_WIFI_DIRECT = 1; // 0x1
13579    field public static final String CONFIGURED_NETWORKS_CHANGED_ACTION = "android.net.wifi.CONFIGURED_NETWORKS_CHANGE";
13580    field public static final int DEVICE_MOBILITY_STATE_HIGH_MVMT = 1; // 0x1
13581    field public static final int DEVICE_MOBILITY_STATE_LOW_MVMT = 2; // 0x2
13582    field public static final int DEVICE_MOBILITY_STATE_STATIONARY = 3; // 0x3
13583    field public static final int DEVICE_MOBILITY_STATE_UNKNOWN = 0; // 0x0
13584    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP256R1 = 3; // 0x3
13585    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP384R1 = 4; // 0x4
13586    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP512R1 = 5; // 0x5
13587    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_PRIME256V1 = 0; // 0x0
13588    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_SECP384R1 = 1; // 0x1
13589    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_SECP521R1 = 2; // 0x2
13590    field public static final int EASY_CONNECT_NETWORK_ROLE_AP = 1; // 0x1
13591    field public static final int EASY_CONNECT_NETWORK_ROLE_STA = 0; // 0x0
13592    field public static final String EXTRA_CHANGE_REASON = "changeReason";
13593    field @Deprecated public static final String EXTRA_LINK_PROPERTIES = "android.net.wifi.extra.LINK_PROPERTIES";
13594    field @Deprecated public static final String EXTRA_MULTIPLE_NETWORKS_CHANGED = "multipleChanges";
13595    field public static final String EXTRA_OSU_NETWORK = "android.net.wifi.extra.OSU_NETWORK";
13596    field public static final String EXTRA_PREVIOUS_WIFI_AP_STATE = "previous_wifi_state";
13597    field public static final String EXTRA_URL = "android.net.wifi.extra.URL";
13598    field public static final String EXTRA_WIFI_AP_FAILURE_REASON = "android.net.wifi.extra.WIFI_AP_FAILURE_REASON";
13599    field public static final String EXTRA_WIFI_AP_INTERFACE_NAME = "android.net.wifi.extra.WIFI_AP_INTERFACE_NAME";
13600    field public static final String EXTRA_WIFI_AP_MODE = "android.net.wifi.extra.WIFI_AP_MODE";
13601    field public static final String EXTRA_WIFI_AP_STATE = "wifi_state";
13602    field @Deprecated public static final String EXTRA_WIFI_CONFIGURATION = "wifiConfiguration";
13603    field public static final String EXTRA_WIFI_CREDENTIAL_EVENT_TYPE = "et";
13604    field public static final String EXTRA_WIFI_CREDENTIAL_SSID = "ssid";
13605    field public static final int IFACE_IP_MODE_CONFIGURATION_ERROR = 0; // 0x0
13606    field public static final int IFACE_IP_MODE_LOCAL_ONLY = 2; // 0x2
13607    field public static final int IFACE_IP_MODE_TETHERED = 1; // 0x1
13608    field public static final int IFACE_IP_MODE_UNSPECIFIED = -1; // 0xffffffff
13609    field public static final int MLO_MODE_DEFAULT = 0; // 0x0
13610    field public static final int MLO_MODE_HIGH_THROUGHPUT = 2; // 0x2
13611    field public static final int MLO_MODE_LOW_LATENCY = 1; // 0x1
13612    field public static final int MLO_MODE_LOW_POWER = 3; // 0x3
13613    field public static final int PASSPOINT_HOME_NETWORK = 0; // 0x0
13614    field public static final int PASSPOINT_ROAMING_NETWORK = 1; // 0x1
13615    field public static final int QOS_REQUEST_STATUS_ALREADY_ACTIVE = 1; // 0x1
13616    field public static final int QOS_REQUEST_STATUS_FAILURE_UNKNOWN = 4; // 0x4
13617    field public static final int QOS_REQUEST_STATUS_INSUFFICIENT_RESOURCES = 2; // 0x2
13618    field public static final int QOS_REQUEST_STATUS_INVALID_PARAMETERS = 3; // 0x3
13619    field public static final int QOS_REQUEST_STATUS_TRACKING = 0; // 0x0
13620    field public static final int SAP_CLIENT_BLOCK_REASON_CODE_BLOCKED_BY_USER = 0; // 0x0
13621    field public static final int SAP_CLIENT_BLOCK_REASON_CODE_NO_MORE_STAS = 1; // 0x1
13622    field public static final int SAP_START_FAILURE_GENERAL = 0; // 0x0
13623    field public static final int SAP_START_FAILURE_NO_CHANNEL = 1; // 0x1
13624    field public static final int SAP_START_FAILURE_UNSUPPORTED_CONFIGURATION = 2; // 0x2
13625    field public static final int SAP_START_FAILURE_USER_REJECTED = 3; // 0x3
13626    field public static final int VERBOSE_LOGGING_LEVEL_DISABLED = 0; // 0x0
13627    field public static final int VERBOSE_LOGGING_LEVEL_ENABLED = 1; // 0x1
13628    field public static final int VERBOSE_LOGGING_LEVEL_ENABLED_SHOW_KEY = 2; // 0x2
13629    field @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public static final String WIFI_AP_STATE_CHANGED_ACTION = "android.net.wifi.WIFI_AP_STATE_CHANGED";
13630    field public static final int WIFI_AP_STATE_DISABLED = 11; // 0xb
13631    field public static final int WIFI_AP_STATE_DISABLING = 10; // 0xa
13632    field public static final int WIFI_AP_STATE_ENABLED = 13; // 0xd
13633    field public static final int WIFI_AP_STATE_ENABLING = 12; // 0xc
13634    field public static final int WIFI_AP_STATE_FAILED = 14; // 0xe
13635    field public static final String WIFI_CREDENTIAL_CHANGED_ACTION = "android.net.wifi.WIFI_CREDENTIAL_CHANGED";
13636    field public static final int WIFI_CREDENTIAL_FORGOT = 1; // 0x1
13637    field public static final int WIFI_CREDENTIAL_SAVED = 0; // 0x0
13638  }
13639
13640  public static interface WifiManager.ActionListener {
13641    method public void onFailure(int);
13642    method public void onSuccess();
13643    field public static final int FAILURE_BUSY = 2; // 0x2
13644    field public static final int FAILURE_INTERNAL_ERROR = 0; // 0x0
13645    field public static final int FAILURE_INVALID_ARGS = 3; // 0x3
13646    field public static final int FAILURE_IN_PROGRESS = 1; // 0x1
13647    field public static final int FAILURE_NOT_AUTHORIZED = 4; // 0x4
13648  }
13649
13650  public static interface WifiManager.ActiveCountryCodeChangedCallback {
13651    method public void onActiveCountryCodeChanged(@NonNull String);
13652    method public void onCountryCodeInactive();
13653  }
13654
13655  public abstract static class WifiManager.CoexCallback {
13656    ctor public WifiManager.CoexCallback();
13657    method public abstract void onCoexUnsafeChannelsChanged(@NonNull java.util.List<android.net.wifi.CoexUnsafeChannel>, int);
13658  }
13659
13660  public static interface WifiManager.NetworkRequestMatchCallback {
13661    method public default void onAbort();
13662    method public default void onMatch(@NonNull java.util.List<android.net.wifi.ScanResult>);
13663    method public default void onUserSelectionCallbackRegistration(@NonNull android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback);
13664    method public default void onUserSelectionConnectFailure(@NonNull android.net.wifi.WifiConfiguration);
13665    method public default void onUserSelectionConnectSuccess(@NonNull android.net.wifi.WifiConfiguration);
13666  }
13667
13668  public static interface WifiManager.NetworkRequestUserSelectionCallback {
13669    method public default void reject();
13670    method public default void select(@NonNull android.net.wifi.WifiConfiguration);
13671  }
13672
13673  public static interface WifiManager.OnWifiActivityEnergyInfoListener {
13674    method public void onWifiActivityEnergyInfo(@Nullable android.os.connectivity.WifiActivityEnergyInfo);
13675  }
13676
13677  public static interface WifiManager.OnWifiUsabilityStatsListener {
13678    method public void onWifiUsabilityStats(int, boolean, @NonNull android.net.wifi.WifiUsabilityStatsEntry);
13679  }
13680
13681  public static interface WifiManager.PnoScanResultsCallback {
13682    method public void onRegisterFailed(int);
13683    method public void onRegisterSuccess();
13684    method public void onRemoved(int);
13685    method public void onScanResultsAvailable(@NonNull java.util.List<android.net.wifi.ScanResult>);
13686    field public static final int REGISTER_PNO_CALLBACK_ALREADY_REGISTERED = 1; // 0x1
13687    field public static final int REGISTER_PNO_CALLBACK_PNO_NOT_SUPPORTED = 3; // 0x3
13688    field public static final int REGISTER_PNO_CALLBACK_RESOURCE_BUSY = 2; // 0x2
13689    field public static final int REGISTER_PNO_CALLBACK_UNKNOWN = 0; // 0x0
13690    field public static final int REMOVE_PNO_CALLBACK_RESULTS_DELIVERED = 1; // 0x1
13691    field public static final int REMOVE_PNO_CALLBACK_UNKNOWN = 0; // 0x0
13692    field public static final int REMOVE_PNO_CALLBACK_UNREGISTERED = 2; // 0x2
13693  }
13694
13695  public static interface WifiManager.ScoreUpdateObserver {
13696    method public default void blocklistCurrentBssid(int);
13697    method public void notifyScoreUpdate(int, int);
13698    method public default void notifyStatusUpdate(int, boolean);
13699    method public default void requestNudOperation(int);
13700    method public void triggerUpdateOfWifiUsabilityStats(int);
13701  }
13702
13703  public static class WifiManager.ScreenOnScanSchedule {
13704    ctor public WifiManager.ScreenOnScanSchedule(@NonNull java.time.Duration, int);
13705    method @NonNull public java.time.Duration getScanInterval();
13706    method public int getScanType();
13707  }
13708
13709  public static interface WifiManager.SoftApCallback {
13710    method public default void onBlockedClientConnecting(@NonNull android.net.wifi.WifiClient, int);
13711    method public default void onCapabilityChanged(@NonNull android.net.wifi.SoftApCapability);
13712    method @Deprecated public default void onConnectedClientsChanged(@NonNull java.util.List<android.net.wifi.WifiClient>);
13713    method public default void onConnectedClientsChanged(@NonNull android.net.wifi.SoftApInfo, @NonNull java.util.List<android.net.wifi.WifiClient>);
13714    method @Deprecated public default void onInfoChanged(@NonNull android.net.wifi.SoftApInfo);
13715    method public default void onInfoChanged(@NonNull java.util.List<android.net.wifi.SoftApInfo>);
13716    method public default void onStateChanged(int, int);
13717  }
13718
13719  public static interface WifiManager.TrafficStateCallback {
13720    method public void onStateChanged(int);
13721    field public static final int DATA_ACTIVITY_IN = 1; // 0x1
13722    field public static final int DATA_ACTIVITY_INOUT = 3; // 0x3
13723    field public static final int DATA_ACTIVITY_NONE = 0; // 0x0
13724    field public static final int DATA_ACTIVITY_OUT = 2; // 0x2
13725  }
13726
13727  public static interface WifiManager.WifiConnectedNetworkScorer {
13728    method public default void onNetworkSwitchAccepted(int, int, @NonNull String);
13729    method public default void onNetworkSwitchRejected(int, int, @NonNull String);
13730    method public void onSetScoreUpdateObserver(@NonNull android.net.wifi.WifiManager.ScoreUpdateObserver);
13731    method @Deprecated public default void onStart(int);
13732    method public default void onStart(@NonNull android.net.wifi.WifiConnectedSessionInfo);
13733    method public void onStop(int);
13734  }
13735
13736  public static interface WifiManager.WifiNetworkStateChangedListener {
13737    method public void onWifiNetworkStateChanged(int, int);
13738    field public static final int WIFI_NETWORK_STATUS_AUTHENTICATING = 4; // 0x4
13739    field public static final int WIFI_NETWORK_STATUS_CONNECTED = 6; // 0x6
13740    field public static final int WIFI_NETWORK_STATUS_CONNECTING = 3; // 0x3
13741    field public static final int WIFI_NETWORK_STATUS_DISCONNECTED = 7; // 0x7
13742    field public static final int WIFI_NETWORK_STATUS_FAILED = 8; // 0x8
13743    field public static final int WIFI_NETWORK_STATUS_IDLE = 1; // 0x1
13744    field public static final int WIFI_NETWORK_STATUS_OBTAINING_IPADDR = 5; // 0x5
13745    field public static final int WIFI_NETWORK_STATUS_SCANNING = 2; // 0x2
13746    field public static final int WIFI_ROLE_CLIENT_PRIMARY = 1; // 0x1
13747    field public static final int WIFI_ROLE_CLIENT_SECONDARY_INTERNET = 2; // 0x2
13748    field public static final int WIFI_ROLE_CLIENT_SECONDARY_LOCAL_ONLY = 3; // 0x3
13749  }
13750
13751  public static interface WifiManager.WifiVerboseLoggingStatusChangedListener {
13752    method public void onWifiVerboseLoggingStatusChanged(boolean);
13753  }
13754
13755  public final class WifiMigration {
13756    method @Nullable public static java.io.InputStream convertAndRetrieveSharedConfigStoreFile(int);
13757    method @Nullable public static java.io.InputStream convertAndRetrieveUserConfigStoreFile(int, @NonNull android.os.UserHandle);
13758    method @NonNull public static android.net.wifi.WifiMigration.SettingsMigrationData loadFromSettings(@NonNull android.content.Context);
13759    method public static void removeSharedConfigStoreFile(int);
13760    method public static void removeUserConfigStoreFile(int, @NonNull android.os.UserHandle);
13761    field public static final int STORE_FILE_SHARED_GENERAL = 0; // 0x0
13762    field public static final int STORE_FILE_SHARED_SOFTAP = 1; // 0x1
13763    field public static final int STORE_FILE_USER_GENERAL = 2; // 0x2
13764    field public static final int STORE_FILE_USER_NETWORK_SUGGESTIONS = 3; // 0x3
13765  }
13766
13767  public static final class WifiMigration.SettingsMigrationData implements android.os.Parcelable {
13768    method public int describeContents();
13769    method @Nullable public String getP2pDeviceName();
13770    method public boolean isP2pFactoryResetPending();
13771    method public boolean isScanAlwaysAvailable();
13772    method public boolean isScanThrottleEnabled();
13773    method public boolean isSoftApTimeoutEnabled();
13774    method public boolean isVerboseLoggingEnabled();
13775    method public boolean isWakeUpEnabled();
13776    method public void writeToParcel(@NonNull android.os.Parcel, int);
13777    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiMigration.SettingsMigrationData> CREATOR;
13778  }
13779
13780  public static final class WifiMigration.SettingsMigrationData.Builder {
13781    ctor public WifiMigration.SettingsMigrationData.Builder();
13782    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData build();
13783    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setP2pDeviceName(@Nullable String);
13784    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setP2pFactoryResetPending(boolean);
13785    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setScanAlwaysAvailable(boolean);
13786    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setScanThrottleEnabled(boolean);
13787    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setSoftApTimeoutEnabled(boolean);
13788    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setVerboseLoggingEnabled(boolean);
13789    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setWakeUpEnabled(boolean);
13790  }
13791
13792  @Deprecated public class WifiNetworkConnectionStatistics implements android.os.Parcelable {
13793    ctor @Deprecated public WifiNetworkConnectionStatistics(int, int);
13794    ctor @Deprecated public WifiNetworkConnectionStatistics();
13795    ctor @Deprecated public WifiNetworkConnectionStatistics(android.net.wifi.WifiNetworkConnectionStatistics);
13796    method @Deprecated public int describeContents();
13797    method @Deprecated public void writeToParcel(android.os.Parcel, int);
13798    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkConnectionStatistics> CREATOR;
13799    field @Deprecated public int numConnection;
13800    field @Deprecated public int numUsage;
13801  }
13802
13803  public final class WifiNetworkSelectionConfig implements android.os.Parcelable {
13804    method public int describeContents();
13805    method public int getAssociatedNetworkSelectionOverride();
13806    method @NonNull public android.util.SparseArray<java.lang.Integer> getFrequencyWeights();
13807    method @NonNull public int[] getRssiThresholds(int);
13808    method public boolean isLastSelectionWeightEnabled();
13809    method public boolean isSufficiencyCheckEnabledWhenScreenOff();
13810    method public boolean isSufficiencyCheckEnabledWhenScreenOn();
13811    method public boolean isUserConnectChoiceOverrideEnabled();
13812    method public void writeToParcel(@NonNull android.os.Parcel, int);
13813    field public static final int ASSOCIATED_NETWORK_SELECTION_OVERRIDE_DISABLED = 2; // 0x2
13814    field public static final int ASSOCIATED_NETWORK_SELECTION_OVERRIDE_ENABLED = 1; // 0x1
13815    field public static final int ASSOCIATED_NETWORK_SELECTION_OVERRIDE_NONE = 0; // 0x0
13816    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkSelectionConfig> CREATOR;
13817    field public static final int FREQUENCY_WEIGHT_HIGH = 1; // 0x1
13818    field public static final int FREQUENCY_WEIGHT_LOW = 0; // 0x0
13819  }
13820
13821  public static final class WifiNetworkSelectionConfig.Builder {
13822    ctor public WifiNetworkSelectionConfig.Builder();
13823    ctor public WifiNetworkSelectionConfig.Builder(@NonNull android.net.wifi.WifiNetworkSelectionConfig);
13824    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig build();
13825    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setAssociatedNetworkSelectionOverride(int) throws java.lang.IllegalArgumentException;
13826    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setFrequencyWeights(@NonNull android.util.SparseArray<java.lang.Integer>) throws java.lang.IllegalArgumentException;
13827    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setLastSelectionWeightEnabled(boolean);
13828    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setRssiThresholds(int, @NonNull int[]) throws java.lang.IllegalArgumentException;
13829    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setSufficiencyCheckEnabledWhenScreenOff(boolean);
13830    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setSufficiencyCheckEnabledWhenScreenOn(boolean);
13831    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setUserConnectChoiceOverrideEnabled(boolean);
13832  }
13833
13834  public final class WifiNetworkSuggestion implements android.os.Parcelable {
13835    method public int getCarrierId();
13836    method @NonNull public android.net.wifi.WifiConfiguration getWifiConfiguration();
13837    method public boolean isOemPaid();
13838    method public boolean isOemPrivate();
13839  }
13840
13841  public static final class WifiNetworkSuggestion.Builder {
13842    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public android.net.wifi.WifiNetworkSuggestion.Builder setCarrierId(int);
13843    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setOemPaid(boolean);
13844    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setOemPrivate(boolean);
13845  }
13846
13847  public class WifiScanner {
13848    method @Deprecated public void configureWifiChange(int, int, int, int, int, android.net.wifi.WifiScanner.BssidInfo[]);
13849    method @Deprecated public void configureWifiChange(android.net.wifi.WifiScanner.WifiChangeSettings);
13850    method @NonNull @RequiresPermission(android.Manifest.permission.NEARBY_WIFI_DEVICES) public java.util.List<java.lang.Integer> getAvailableChannels(int);
13851    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean getScanResults();
13852    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<android.net.wifi.ScanResult> getSingleScanResults();
13853    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean isScanning();
13854    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);
13855    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setScanningEnabled(boolean);
13856    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startBackgroundScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener);
13857    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startBackgroundScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener, android.os.WorkSource);
13858    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener);
13859    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener, android.os.WorkSource);
13860    method @Deprecated public void startTrackingBssids(android.net.wifi.WifiScanner.BssidInfo[], int, android.net.wifi.WifiScanner.BssidListener);
13861    method @Deprecated public void startTrackingWifiChange(android.net.wifi.WifiScanner.WifiChangeListener);
13862    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopBackgroundScan(android.net.wifi.WifiScanner.ScanListener);
13863    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopScan(android.net.wifi.WifiScanner.ScanListener);
13864    method @Deprecated public void stopTrackingBssids(android.net.wifi.WifiScanner.BssidListener);
13865    method @Deprecated public void stopTrackingWifiChange(android.net.wifi.WifiScanner.WifiChangeListener);
13866    method public void unregisterScanListener(@NonNull android.net.wifi.WifiScanner.ScanListener);
13867    field public static final int MAX_SCAN_PERIOD_MS = 1024000; // 0xfa000
13868    field public static final int MIN_SCAN_PERIOD_MS = 1000; // 0x3e8
13869    field public static final int REASON_ABORT = -7; // 0xfffffff9
13870    field public static final int REASON_BUSY = -6; // 0xfffffffa
13871    field public static final int REASON_DUPLICATE_REQEUST = -5; // 0xfffffffb
13872    field public static final int REASON_INVALID_ARGS = -9; // 0xfffffff7
13873    field public static final int REASON_INVALID_LISTENER = -2; // 0xfffffffe
13874    field public static final int REASON_INVALID_REQUEST = -3; // 0xfffffffd
13875    field public static final int REASON_NOT_AUTHORIZED = -4; // 0xfffffffc
13876    field public static final int REASON_NO_DEVICE = -8; // 0xfffffff8
13877    field public static final int REASON_SUCCEEDED = 0; // 0x0
13878    field public static final int REASON_TIMEOUT = -10; // 0xfffffff6
13879    field public static final int REASON_UNSPECIFIED = -1; // 0xffffffff
13880    field @Deprecated public static final int REPORT_EVENT_AFTER_BUFFER_FULL = 0; // 0x0
13881    field public static final int REPORT_EVENT_AFTER_EACH_SCAN = 1; // 0x1
13882    field public static final int REPORT_EVENT_FULL_SCAN_RESULT = 2; // 0x2
13883    field public static final int REPORT_EVENT_NO_BATCH = 4; // 0x4
13884    field public static final int SCAN_TYPE_HIGH_ACCURACY = 2; // 0x2
13885    field public static final int SCAN_TYPE_LOW_LATENCY = 0; // 0x0
13886    field public static final int SCAN_TYPE_LOW_POWER = 1; // 0x1
13887    field public static final int WIFI_BAND_24_5_6_GHZ = 11; // 0xb
13888    field public static final int WIFI_BAND_24_5_WITH_DFS_6_GHZ = 15; // 0xf
13889    field public static final int WIFI_BAND_24_GHZ = 1; // 0x1
13890    field public static final int WIFI_BAND_5_GHZ = 2; // 0x2
13891    field public static final int WIFI_BAND_5_GHZ_DFS_ONLY = 4; // 0x4
13892    field public static final int WIFI_BAND_5_GHZ_WITH_DFS = 6; // 0x6
13893    field public static final int WIFI_BAND_60_GHZ = 16; // 0x10
13894    field public static final int WIFI_BAND_6_GHZ = 8; // 0x8
13895    field public static final int WIFI_BAND_BOTH = 3; // 0x3
13896    field public static final int WIFI_BAND_BOTH_WITH_DFS = 7; // 0x7
13897    field public static final int WIFI_BAND_UNSPECIFIED = 0; // 0x0
13898    field public static final int WIFI_RNR_ENABLED = 1; // 0x1
13899    field public static final int WIFI_RNR_ENABLED_IF_WIFI_BAND_6_GHZ_SCANNED = 0; // 0x0
13900    field public static final int WIFI_RNR_NOT_NEEDED = 2; // 0x2
13901  }
13902
13903  public static interface WifiScanner.ActionListener {
13904    method public void onFailure(int, String);
13905    method public void onSuccess();
13906  }
13907
13908  @Deprecated public static class WifiScanner.BssidInfo {
13909    ctor @Deprecated public WifiScanner.BssidInfo();
13910    field @Deprecated public String bssid;
13911    field @Deprecated public int frequencyHint;
13912    field @Deprecated public int high;
13913    field @Deprecated public int low;
13914  }
13915
13916  @Deprecated public static interface WifiScanner.BssidListener extends android.net.wifi.WifiScanner.ActionListener {
13917    method @Deprecated public void onFound(android.net.wifi.ScanResult[]);
13918    method @Deprecated public void onLost(android.net.wifi.ScanResult[]);
13919  }
13920
13921  public static class WifiScanner.ChannelSpec {
13922    ctor public WifiScanner.ChannelSpec(int);
13923    field public int frequency;
13924  }
13925
13926  @Deprecated public static class WifiScanner.HotlistSettings implements android.os.Parcelable {
13927    ctor @Deprecated public WifiScanner.HotlistSettings();
13928    field @Deprecated public int apLostThreshold;
13929    field @Deprecated public android.net.wifi.WifiScanner.BssidInfo[] bssidInfos;
13930  }
13931
13932  public static class WifiScanner.ParcelableScanData implements android.os.Parcelable {
13933    ctor public WifiScanner.ParcelableScanData(android.net.wifi.WifiScanner.ScanData[]);
13934    method public android.net.wifi.WifiScanner.ScanData[] getResults();
13935    field public android.net.wifi.WifiScanner.ScanData[] mResults;
13936  }
13937
13938  public static class WifiScanner.ParcelableScanResults implements android.os.Parcelable {
13939    ctor public WifiScanner.ParcelableScanResults(android.net.wifi.ScanResult[]);
13940    method public android.net.wifi.ScanResult[] getResults();
13941    field public android.net.wifi.ScanResult[] mResults;
13942  }
13943
13944  public static class WifiScanner.ScanData implements android.os.Parcelable {
13945    ctor public WifiScanner.ScanData(int, int, android.net.wifi.ScanResult[]);
13946    ctor public WifiScanner.ScanData(android.net.wifi.WifiScanner.ScanData);
13947    method public int getFlags();
13948    method public int getId();
13949    method public android.net.wifi.ScanResult[] getResults();
13950    method public int getScannedBands();
13951  }
13952
13953  public static interface WifiScanner.ScanListener extends android.net.wifi.WifiScanner.ActionListener {
13954    method public void onFullResult(android.net.wifi.ScanResult);
13955    method @Deprecated public void onPeriodChanged(int);
13956    method public void onResults(android.net.wifi.WifiScanner.ScanData[]);
13957  }
13958
13959  public static class WifiScanner.ScanSettings implements android.os.Parcelable {
13960    ctor public WifiScanner.ScanSettings();
13961    method public int getRnrSetting();
13962    method @NonNull public java.util.List<android.net.wifi.ScanResult.InformationElement> getVendorIes();
13963    method public boolean is6GhzPscOnlyEnabled();
13964    method public void set6GhzPscOnlyEnabled(boolean);
13965    method public void setRnrSetting(int);
13966    method public void setVendorIes(@NonNull java.util.List<android.net.wifi.ScanResult.InformationElement>);
13967    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiScanner.ScanSettings> CREATOR;
13968    field public int band;
13969    field public android.net.wifi.WifiScanner.ChannelSpec[] channels;
13970    field @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public final java.util.List<android.net.wifi.WifiScanner.ScanSettings.HiddenNetwork> hiddenNetworks;
13971    field public boolean hideFromAppOps;
13972    field public boolean ignoreLocationSettings;
13973    field @Deprecated public int maxPeriodInMs;
13974    field @Deprecated public int maxScansToCache;
13975    field @Deprecated public int numBssidsPerScan;
13976    field @Deprecated public int periodInMs;
13977    field @Deprecated public int reportEvents;
13978    field @Deprecated public int stepCount;
13979    field @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public int type;
13980  }
13981
13982  public static class WifiScanner.ScanSettings.HiddenNetwork {
13983    ctor public WifiScanner.ScanSettings.HiddenNetwork(@NonNull String);
13984    field @NonNull public final String ssid;
13985  }
13986
13987  @Deprecated public static interface WifiScanner.WifiChangeListener extends android.net.wifi.WifiScanner.ActionListener {
13988    method @Deprecated public void onChanging(android.net.wifi.ScanResult[]);
13989    method @Deprecated public void onQuiescence(android.net.wifi.ScanResult[]);
13990  }
13991
13992  @Deprecated public static class WifiScanner.WifiChangeSettings implements android.os.Parcelable {
13993    ctor @Deprecated public WifiScanner.WifiChangeSettings();
13994    field @Deprecated public android.net.wifi.WifiScanner.BssidInfo[] bssidInfos;
13995    field @Deprecated public int lostApSampleSize;
13996    field @Deprecated public int minApsBreachingThreshold;
13997    field @Deprecated public int periodInMs;
13998    field @Deprecated public int rssiSampleSize;
13999    field @Deprecated public int unchangedSampleSize;
14000  }
14001
14002  public final class WifiUsabilityStatsEntry implements android.os.Parcelable {
14003    method public int describeContents();
14004    method public int getCellularDataNetworkType();
14005    method public int getCellularSignalStrengthDb();
14006    method public int getCellularSignalStrengthDbm();
14007    method @IntRange(from=0xffffffff, to=255) public int getChannelUtilizationRatio();
14008    method @NonNull public android.net.wifi.WifiUsabilityStatsEntry.ContentionTimeStats getContentionTimeStats(int);
14009    method @NonNull public android.net.wifi.WifiUsabilityStatsEntry.ContentionTimeStats getContentionTimeStats(int, int);
14010    method @Nullable public int[] getLinkIds();
14011    method public int getLinkSpeedMbps();
14012    method public int getLinkState(int);
14013    method public int getProbeElapsedTimeSinceLastUpdateMillis();
14014    method public int getProbeMcsRateSinceLastUpdate();
14015    method public int getProbeStatusSinceLastUpdate();
14016    method public long getRadioId(int);
14017    method @NonNull public java.util.List<android.net.wifi.WifiUsabilityStatsEntry.RateStats> getRateStats();
14018    method @NonNull public java.util.List<android.net.wifi.WifiUsabilityStatsEntry.RateStats> getRateStats(int);
14019    method public int getRssi();
14020    method public int getRssi(int);
14021    method public int getRxLinkSpeedMbps();
14022    method public int getRxLinkSpeedMbps(int);
14023    method @IntRange(from=0, to=100) public int getTimeSliceDutyCycleInPercent();
14024    method @IntRange(from=0, to=100) public int getTimeSliceDutyCycleInPercent(int);
14025    method public long getTimeStampMillis();
14026    method public long getTotalBackgroundScanTimeMillis();
14027    method public long getTotalBeaconRx();
14028    method public long getTotalBeaconRx(int);
14029    method public long getTotalCcaBusyFreqTimeMillis();
14030    method public long getTotalHotspot2ScanTimeMillis();
14031    method public long getTotalNanScanTimeMillis();
14032    method public long getTotalPnoScanTimeMillis();
14033    method public long getTotalRadioOnFreqTimeMillis();
14034    method public long getTotalRadioOnTimeMillis();
14035    method public long getTotalRadioRxTimeMillis();
14036    method public long getTotalRadioTxTimeMillis();
14037    method public long getTotalRoamScanTimeMillis();
14038    method public long getTotalRxSuccess();
14039    method public long getTotalRxSuccess(int);
14040    method public long getTotalScanTimeMillis();
14041    method public long getTotalTxBad();
14042    method public long getTotalTxBad(int);
14043    method public long getTotalTxRetries();
14044    method public long getTotalTxRetries(int);
14045    method public long getTotalTxSuccess();
14046    method public long getTotalTxSuccess(int);
14047    method public int getTxLinkSpeedMbps(int);
14048    method @NonNull public java.util.List<android.net.wifi.WifiUsabilityStatsEntry.RadioStats> getWifiLinkLayerRadioStats();
14049    method public boolean isCellularDataAvailable();
14050    method public boolean isSameRegisteredCell();
14051    method public boolean isThroughputSufficient();
14052    method public boolean isWifiScoringEnabled();
14053    method public void writeToParcel(android.os.Parcel, int);
14054    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry> CREATOR;
14055    field public static final int LINK_STATE_IN_USE = 2; // 0x2
14056    field public static final int LINK_STATE_NOT_IN_USE = 1; // 0x1
14057    field public static final int LINK_STATE_UNKNOWN = 0; // 0x0
14058    field public static final int NUM_WME_ACCESS_CATEGORIES = 4; // 0x4
14059    field public static final int PROBE_STATUS_FAILURE = 3; // 0x3
14060    field public static final int PROBE_STATUS_NO_PROBE = 1; // 0x1
14061    field public static final int PROBE_STATUS_SUCCESS = 2; // 0x2
14062    field public static final int PROBE_STATUS_UNKNOWN = 0; // 0x0
14063    field public static final int WIFI_BANDWIDTH_10_MHZ = 6; // 0x6
14064    field public static final int WIFI_BANDWIDTH_160_MHZ = 3; // 0x3
14065    field public static final int WIFI_BANDWIDTH_20_MHZ = 0; // 0x0
14066    field public static final int WIFI_BANDWIDTH_320_MHZ = 7; // 0x7
14067    field public static final int WIFI_BANDWIDTH_40_MHZ = 1; // 0x1
14068    field public static final int WIFI_BANDWIDTH_5_MHZ = 5; // 0x5
14069    field public static final int WIFI_BANDWIDTH_80P80_MHZ = 4; // 0x4
14070    field public static final int WIFI_BANDWIDTH_80_MHZ = 2; // 0x2
14071    field public static final int WIFI_BANDWIDTH_INVALID = -1; // 0xffffffff
14072    field public static final int WIFI_PREAMBLE_CCK = 1; // 0x1
14073    field public static final int WIFI_PREAMBLE_EHT = 6; // 0x6
14074    field public static final int WIFI_PREAMBLE_HE = 5; // 0x5
14075    field public static final int WIFI_PREAMBLE_HT = 2; // 0x2
14076    field public static final int WIFI_PREAMBLE_INVALID = -1; // 0xffffffff
14077    field public static final int WIFI_PREAMBLE_OFDM = 0; // 0x0
14078    field public static final int WIFI_PREAMBLE_VHT = 3; // 0x3
14079    field public static final int WIFI_SPATIAL_STREAMS_FOUR = 4; // 0x4
14080    field public static final int WIFI_SPATIAL_STREAMS_INVALID = -1; // 0xffffffff
14081    field public static final int WIFI_SPATIAL_STREAMS_ONE = 1; // 0x1
14082    field public static final int WIFI_SPATIAL_STREAMS_THREE = 3; // 0x3
14083    field public static final int WIFI_SPATIAL_STREAMS_TWO = 2; // 0x2
14084    field public static final int WME_ACCESS_CATEGORY_BE = 0; // 0x0
14085    field public static final int WME_ACCESS_CATEGORY_BK = 1; // 0x1
14086    field public static final int WME_ACCESS_CATEGORY_VI = 2; // 0x2
14087    field public static final int WME_ACCESS_CATEGORY_VO = 3; // 0x3
14088  }
14089
14090  public static final class WifiUsabilityStatsEntry.ContentionTimeStats implements android.os.Parcelable {
14091    ctor public WifiUsabilityStatsEntry.ContentionTimeStats(long, long, long, long);
14092    method public int describeContents();
14093    method public long getContentionNumSamples();
14094    method public long getContentionTimeAvgMicros();
14095    method public long getContentionTimeMaxMicros();
14096    method public long getContentionTimeMinMicros();
14097    method public void writeToParcel(@NonNull android.os.Parcel, int);
14098    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.ContentionTimeStats> CREATOR;
14099  }
14100
14101  public static final class WifiUsabilityStatsEntry.RadioStats implements android.os.Parcelable {
14102    ctor public WifiUsabilityStatsEntry.RadioStats(int, long, long, long, long, long, long, long, long, long);
14103    method public int describeContents();
14104    method public long getRadioId();
14105    method public long getTotalBackgroundScanTimeMillis();
14106    method public long getTotalHotspot2ScanTimeMillis();
14107    method public long getTotalNanScanTimeMillis();
14108    method public long getTotalPnoScanTimeMillis();
14109    method public long getTotalRadioOnTimeMillis();
14110    method public long getTotalRadioRxTimeMillis();
14111    method public long getTotalRadioTxTimeMillis();
14112    method public long getTotalRoamScanTimeMillis();
14113    method public long getTotalScanTimeMillis();
14114    method public void writeToParcel(@NonNull android.os.Parcel, int);
14115    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.RadioStats> CREATOR;
14116  }
14117
14118  public static final class WifiUsabilityStatsEntry.RateStats implements android.os.Parcelable {
14119    ctor public WifiUsabilityStatsEntry.RateStats(int, int, int, int, int, int, int, int, int);
14120    method public int describeContents();
14121    method public int getBandwidthInMhz();
14122    method public int getBitRateInKbps();
14123    method public int getMpduLost();
14124    method public int getNumberOfSpatialStreams();
14125    method public int getPreamble();
14126    method public int getRateMcsIdx();
14127    method public int getRetries();
14128    method public int getRxMpdu();
14129    method public int getTxMpdu();
14130    method public void writeToParcel(@NonNull android.os.Parcel, int);
14131    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.RateStats> CREATOR;
14132  }
14133
14134}
14135
14136package android.net.wifi.aware {
14137
14138  public final class AwareParams implements android.os.Parcelable {
14139    ctor public AwareParams();
14140    method public int describeContents();
14141    method public int getDiscoveryBeaconIntervalMillis();
14142    method public int getDiscoveryWindowWakeInterval24Ghz();
14143    method public int getDiscoveryWindowWakeInterval5Ghz();
14144    method public int getMacRandomizationIntervalSeconds();
14145    method public int getNumSpatialStreamsInDiscovery();
14146    method public boolean isDwEarlyTerminationEnabled();
14147    method public void setDiscoveryBeaconIntervalMillis(@IntRange(from=1) int);
14148    method public void setDiscoveryWindowWakeInterval24Ghz(@IntRange(from=1, to=5) int);
14149    method public void setDiscoveryWindowWakeInterval5Ghz(@IntRange(from=0, to=5) int);
14150    method public void setDwEarlyTerminationEnabled(boolean);
14151    method public void setMacRandomizationIntervalSeconds(@IntRange(from=1, to=1800) int);
14152    method public void setNumSpatialStreamsInDiscovery(@IntRange(from=1) int);
14153    method public void writeToParcel(@NonNull android.os.Parcel, int);
14154    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.AwareParams> CREATOR;
14155    field public static final int UNSET_PARAMETER = -1; // 0xffffffff
14156  }
14157
14158  public class DiscoverySession implements java.lang.AutoCloseable {
14159    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPmk(@NonNull android.net.wifi.aware.PeerHandle, @NonNull byte[]);
14160    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void resume();
14161    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void suspend();
14162  }
14163
14164  public class DiscoverySessionCallback {
14165    method public void onSessionResumeFailed(int);
14166    method public void onSessionResumeSucceeded();
14167    method public void onSessionSuspendFailed(int);
14168    method public void onSessionSuspendSucceeded();
14169  }
14170
14171  public final class PublishConfig implements android.os.Parcelable {
14172    method public boolean isSuspendable();
14173  }
14174
14175  public static final class PublishConfig.Builder {
14176    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public android.net.wifi.aware.PublishConfig.Builder setSuspendable(boolean);
14177  }
14178
14179  public final class SubscribeConfig implements android.os.Parcelable {
14180    method public boolean isSuspendable();
14181  }
14182
14183  public static final class SubscribeConfig.Builder {
14184    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public android.net.wifi.aware.SubscribeConfig.Builder setSuspendable(boolean);
14185  }
14186
14187  public class WifiAwareManager {
14188    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);
14189    method @RequiresPermission(allOf={android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void enableInstantCommunicationMode(boolean);
14190    method @RequiresPermission(allOf={android.Manifest.permission.OVERRIDE_WIFI_CONFIG, android.Manifest.permission.CHANGE_WIFI_STATE}) public void setAwareParams(@Nullable android.net.wifi.aware.AwareParams);
14191    field public static final int WIFI_AWARE_RESUME_INTERNAL_ERROR = 2; // 0x2
14192    field public static final int WIFI_AWARE_RESUME_INVALID_SESSION = 1; // 0x1
14193    field public static final int WIFI_AWARE_RESUME_REDUNDANT_REQUEST = 0; // 0x0
14194    field public static final int WIFI_AWARE_SUSPEND_CANNOT_SUSPEND = 2; // 0x2
14195    field public static final int WIFI_AWARE_SUSPEND_INTERNAL_ERROR = 3; // 0x3
14196    field public static final int WIFI_AWARE_SUSPEND_INVALID_SESSION = 1; // 0x1
14197    field public static final int WIFI_AWARE_SUSPEND_REDUNDANT_REQUEST = 0; // 0x0
14198  }
14199
14200  public class WifiAwareSession implements java.lang.AutoCloseable {
14201    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPmk(int, @NonNull byte[], @NonNull byte[]);
14202    method @RequiresPermission(android.Manifest.permission.OVERRIDE_WIFI_CONFIG) public void getMasterPreference(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
14203    method @RequiresPermission(android.Manifest.permission.OVERRIDE_WIFI_CONFIG) public void setMasterPreference(@IntRange(from=0, to=254) int);
14204  }
14205
14206}
14207
14208package android.net.wifi.hotspot2 {
14209
14210  public final class OsuProvider implements android.os.Parcelable {
14211    method public int describeContents();
14212    method @Nullable public String getFriendlyName();
14213    method @Nullable public android.net.Uri getServerUri();
14214    method public void writeToParcel(android.os.Parcel, int);
14215    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.OsuProvider> CREATOR;
14216  }
14217
14218  public final class PasspointConfiguration implements android.os.Parcelable {
14219    method public int getMeteredOverride();
14220    method public boolean isAutojoinEnabled();
14221    method public boolean isMacRandomizationEnabled();
14222  }
14223
14224  public abstract class ProvisioningCallback {
14225    ctor public ProvisioningCallback();
14226    method public abstract void onProvisioningComplete();
14227    method public abstract void onProvisioningFailure(int);
14228    method public abstract void onProvisioningStatus(int);
14229    field public static final int OSU_FAILURE_ADD_PASSPOINT_CONFIGURATION = 22; // 0x16
14230    field public static final int OSU_FAILURE_AP_CONNECTION = 1; // 0x1
14231    field public static final int OSU_FAILURE_INVALID_URL_FORMAT_FOR_OSU = 8; // 0x8
14232    field public static final int OSU_FAILURE_NO_AAA_SERVER_TRUST_ROOT_NODE = 17; // 0x11
14233    field public static final int OSU_FAILURE_NO_AAA_TRUST_ROOT_CERTIFICATE = 21; // 0x15
14234    field public static final int OSU_FAILURE_NO_OSU_ACTIVITY_FOUND = 14; // 0xe
14235    field public static final int OSU_FAILURE_NO_POLICY_SERVER_TRUST_ROOT_NODE = 19; // 0x13
14236    field public static final int OSU_FAILURE_NO_PPS_MO = 16; // 0x10
14237    field public static final int OSU_FAILURE_NO_REMEDIATION_SERVER_TRUST_ROOT_NODE = 18; // 0x12
14238    field public static final int OSU_FAILURE_OSU_PROVIDER_NOT_FOUND = 23; // 0x17
14239    field public static final int OSU_FAILURE_PROVISIONING_ABORTED = 6; // 0x6
14240    field public static final int OSU_FAILURE_PROVISIONING_NOT_AVAILABLE = 7; // 0x7
14241    field public static final int OSU_FAILURE_RETRIEVE_TRUST_ROOT_CERTIFICATES = 20; // 0x14
14242    field public static final int OSU_FAILURE_SERVER_CONNECTION = 3; // 0x3
14243    field public static final int OSU_FAILURE_SERVER_URL_INVALID = 2; // 0x2
14244    field public static final int OSU_FAILURE_SERVER_VALIDATION = 4; // 0x4
14245    field public static final int OSU_FAILURE_SERVICE_PROVIDER_VERIFICATION = 5; // 0x5
14246    field public static final int OSU_FAILURE_SOAP_MESSAGE_EXCHANGE = 11; // 0xb
14247    field public static final int OSU_FAILURE_START_REDIRECT_LISTENER = 12; // 0xc
14248    field public static final int OSU_FAILURE_TIMED_OUT_REDIRECT_LISTENER = 13; // 0xd
14249    field public static final int OSU_FAILURE_UNEXPECTED_COMMAND_TYPE = 9; // 0x9
14250    field public static final int OSU_FAILURE_UNEXPECTED_SOAP_MESSAGE_STATUS = 15; // 0xf
14251    field public static final int OSU_FAILURE_UNEXPECTED_SOAP_MESSAGE_TYPE = 10; // 0xa
14252    field public static final int OSU_STATUS_AP_CONNECTED = 2; // 0x2
14253    field public static final int OSU_STATUS_AP_CONNECTING = 1; // 0x1
14254    field public static final int OSU_STATUS_INIT_SOAP_EXCHANGE = 6; // 0x6
14255    field public static final int OSU_STATUS_REDIRECT_RESPONSE_RECEIVED = 8; // 0x8
14256    field public static final int OSU_STATUS_RETRIEVING_TRUST_ROOT_CERTS = 11; // 0xb
14257    field public static final int OSU_STATUS_SECOND_SOAP_EXCHANGE = 9; // 0x9
14258    field public static final int OSU_STATUS_SERVER_CONNECTED = 5; // 0x5
14259    field public static final int OSU_STATUS_SERVER_CONNECTING = 3; // 0x3
14260    field public static final int OSU_STATUS_SERVER_VALIDATED = 4; // 0x4
14261    field public static final int OSU_STATUS_THIRD_SOAP_EXCHANGE = 10; // 0xa
14262    field public static final int OSU_STATUS_WAITING_FOR_REDIRECT_RESPONSE = 7; // 0x7
14263  }
14264
14265}
14266
14267package android.net.wifi.nl80211 {
14268
14269  public final class DeviceWiphyCapabilities implements android.os.Parcelable {
14270    ctor public DeviceWiphyCapabilities();
14271    method public int describeContents();
14272    method public int getMaxNumberRxSpatialStreams();
14273    method public int getMaxNumberTxSpatialStreams();
14274    method public boolean isChannelWidthSupported(int);
14275    method public boolean isWifiStandardSupported(int);
14276    method public void setWifiStandardSupport(int, boolean);
14277    method public void writeToParcel(@NonNull android.os.Parcel, int);
14278    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.DeviceWiphyCapabilities> CREATOR;
14279  }
14280
14281  public final class NativeScanResult implements android.os.Parcelable {
14282    ctor public NativeScanResult();
14283    method public int describeContents();
14284    method @Nullable public android.net.MacAddress getBssid();
14285    method public int getCapabilities();
14286    method public int getFrequencyMhz();
14287    method @NonNull public byte[] getInformationElements();
14288    method @NonNull public java.util.List<android.net.wifi.nl80211.RadioChainInfo> getRadioChainInfos();
14289    method public int getSignalMbm();
14290    method @NonNull public byte[] getSsid();
14291    method public long getTsf();
14292    method public boolean isAssociated();
14293    method public void writeToParcel(@NonNull android.os.Parcel, int);
14294    field public static final int BSS_CAPABILITY_APSD = 2048; // 0x800
14295    field public static final int BSS_CAPABILITY_CF_POLLABLE = 4; // 0x4
14296    field public static final int BSS_CAPABILITY_CF_POLL_REQUEST = 8; // 0x8
14297    field public static final int BSS_CAPABILITY_CHANNEL_AGILITY = 128; // 0x80
14298    field public static final int BSS_CAPABILITY_DELAYED_BLOCK_ACK = 16384; // 0x4000
14299    field public static final int BSS_CAPABILITY_DMG_ESS = 3; // 0x3
14300    field public static final int BSS_CAPABILITY_DMG_IBSS = 1; // 0x1
14301    field public static final int BSS_CAPABILITY_DSSS_OFDM = 8192; // 0x2000
14302    field public static final int BSS_CAPABILITY_ESS = 1; // 0x1
14303    field public static final int BSS_CAPABILITY_IBSS = 2; // 0x2
14304    field public static final int BSS_CAPABILITY_IMMEDIATE_BLOCK_ACK = 32768; // 0x8000
14305    field public static final int BSS_CAPABILITY_PBCC = 64; // 0x40
14306    field public static final int BSS_CAPABILITY_PRIVACY = 16; // 0x10
14307    field public static final int BSS_CAPABILITY_QOS = 512; // 0x200
14308    field public static final int BSS_CAPABILITY_RADIO_MANAGEMENT = 4096; // 0x1000
14309    field public static final int BSS_CAPABILITY_SHORT_PREAMBLE = 32; // 0x20
14310    field public static final int BSS_CAPABILITY_SHORT_SLOT_TIME = 1024; // 0x400
14311    field public static final int BSS_CAPABILITY_SPECTRUM_MANAGEMENT = 256; // 0x100
14312    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.NativeScanResult> CREATOR;
14313  }
14314
14315  public final class NativeWifiClient implements android.os.Parcelable {
14316    ctor public NativeWifiClient(@Nullable android.net.MacAddress);
14317    method public int describeContents();
14318    method @Nullable public android.net.MacAddress getMacAddress();
14319    method public void writeToParcel(@NonNull android.os.Parcel, int);
14320    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.NativeWifiClient> CREATOR;
14321  }
14322
14323  public final class PnoNetwork implements android.os.Parcelable {
14324    ctor public PnoNetwork();
14325    method public int describeContents();
14326    method @NonNull public int[] getFrequenciesMhz();
14327    method @NonNull public byte[] getSsid();
14328    method public boolean isHidden();
14329    method public void setFrequenciesMhz(@NonNull int[]);
14330    method public void setHidden(boolean);
14331    method public void setSsid(@NonNull byte[]);
14332    method public void writeToParcel(@NonNull android.os.Parcel, int);
14333    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.PnoNetwork> CREATOR;
14334  }
14335
14336  public final class PnoSettings implements android.os.Parcelable {
14337    ctor public PnoSettings();
14338    method public int describeContents();
14339    method public long getIntervalMillis();
14340    method public int getMin2gRssiDbm();
14341    method public int getMin5gRssiDbm();
14342    method public int getMin6gRssiDbm();
14343    method @NonNull public java.util.List<android.net.wifi.nl80211.PnoNetwork> getPnoNetworks();
14344    method public int getScanIntervalMultiplier();
14345    method public int getScanIterations();
14346    method public void setIntervalMillis(long);
14347    method public void setMin2gRssiDbm(int);
14348    method public void setMin5gRssiDbm(int);
14349    method public void setMin6gRssiDbm(int);
14350    method public void setPnoNetworks(@NonNull java.util.List<android.net.wifi.nl80211.PnoNetwork>);
14351    method public void setScanIntervalMultiplier(int);
14352    method public void setScanIterations(int);
14353    method public void writeToParcel(@NonNull android.os.Parcel, int);
14354    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.PnoSettings> CREATOR;
14355  }
14356
14357  public final class RadioChainInfo implements android.os.Parcelable {
14358    ctor public RadioChainInfo(int, int);
14359    method public int describeContents();
14360    method public int getChainId();
14361    method public int getLevelDbm();
14362    method public void writeToParcel(@NonNull android.os.Parcel, int);
14363    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.RadioChainInfo> CREATOR;
14364  }
14365
14366  public class WifiNl80211Manager {
14367    ctor public WifiNl80211Manager(@NonNull android.content.Context, @NonNull android.os.IBinder);
14368    method public void abortScan(@NonNull String);
14369    method public void enableVerboseLogging(boolean);
14370    method @NonNull public int[] getChannelsMhzForBand(int);
14371    method @Nullable public android.net.wifi.nl80211.DeviceWiphyCapabilities getDeviceWiphyCapabilities(@NonNull String);
14372    method public int getMaxSsidsPerScan(@NonNull String);
14373    method @NonNull public java.util.List<android.net.wifi.nl80211.NativeScanResult> getScanResults(@NonNull String, int);
14374    method @Nullable public android.net.wifi.nl80211.WifiNl80211Manager.TxPacketCounters getTxPacketCounters(@NonNull String);
14375    method public void notifyCountryCodeChanged(@Nullable String);
14376    method @Nullable public static android.net.wifi.nl80211.WifiNl80211Manager.OemSecurityType parseOemSecurityTypeElement(int, int, @NonNull byte[]);
14377    method @Deprecated public boolean registerApCallback(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.SoftApCallback);
14378    method public boolean registerCountryCodeChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.CountryCodeChangedListener);
14379    method public void sendMgmtFrame(@NonNull String, @NonNull byte[], int, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.SendMgmtFrameCallback);
14380    method public void setOnServiceDeadCallback(@NonNull Runnable);
14381    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);
14382    method public boolean setupInterfaceForSoftApMode(@NonNull String);
14383    method @Deprecated @Nullable public android.net.wifi.nl80211.WifiNl80211Manager.SignalPollResult signalPoll(@NonNull String);
14384    method public boolean startPnoScan(@NonNull String, @NonNull android.net.wifi.nl80211.PnoSettings, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.PnoScanRequestCallback);
14385    method @Deprecated public boolean startScan(@NonNull String, int, @Nullable java.util.Set<java.lang.Integer>, @Nullable java.util.List<byte[]>);
14386    method @Deprecated public boolean startScan(@NonNull String, int, @Nullable java.util.Set<java.lang.Integer>, @Nullable java.util.List<byte[]>, @Nullable android.os.Bundle);
14387    method public int startScan2(@NonNull String, int, @Nullable java.util.Set<java.lang.Integer>, @Nullable java.util.List<byte[]>, @Nullable android.os.Bundle);
14388    method public boolean stopPnoScan(@NonNull String);
14389    method public boolean tearDownClientInterface(@NonNull String);
14390    method public boolean tearDownInterfaces();
14391    method public boolean tearDownSoftApInterface(@NonNull String);
14392    method public void unregisterCountryCodeChangedListener(@NonNull android.net.wifi.nl80211.WifiNl80211Manager.CountryCodeChangedListener);
14393    field public static final String EXTRA_SCANNING_PARAM_VENDOR_IES = "android.net.wifi.nl80211.extra.SCANNING_PARAM_VENDOR_IES";
14394    field public static final String SCANNING_PARAM_ENABLE_6GHZ_RNR = "android.net.wifi.nl80211.SCANNING_PARAM_ENABLE_6GHZ_RNR";
14395    field public static final int SCAN_TYPE_PNO_SCAN = 1; // 0x1
14396    field public static final int SCAN_TYPE_SINGLE_SCAN = 0; // 0x0
14397    field public static final int SEND_MGMT_FRAME_ERROR_ALREADY_STARTED = 5; // 0x5
14398    field public static final int SEND_MGMT_FRAME_ERROR_MCS_UNSUPPORTED = 2; // 0x2
14399    field public static final int SEND_MGMT_FRAME_ERROR_NO_ACK = 3; // 0x3
14400    field public static final int SEND_MGMT_FRAME_ERROR_TIMEOUT = 4; // 0x4
14401    field public static final int SEND_MGMT_FRAME_ERROR_UNKNOWN = 1; // 0x1
14402  }
14403
14404  public static interface WifiNl80211Manager.CountryCodeChangedListener {
14405    method public void onCountryCodeChanged(@NonNull String);
14406  }
14407
14408  public static class WifiNl80211Manager.OemSecurityType {
14409    ctor public WifiNl80211Manager.OemSecurityType(int, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>, int);
14410    field public final int groupCipher;
14411    field @NonNull public final java.util.List<java.lang.Integer> keyManagement;
14412    field @NonNull public final java.util.List<java.lang.Integer> pairwiseCipher;
14413    field public final int protocol;
14414  }
14415
14416  public static interface WifiNl80211Manager.PnoScanRequestCallback {
14417    method public void onPnoRequestFailed();
14418    method public void onPnoRequestSucceeded();
14419  }
14420
14421  public static interface WifiNl80211Manager.ScanEventCallback {
14422    method @Deprecated public void onScanFailed();
14423    method public default void onScanFailed(int);
14424    method public void onScanResultReady();
14425  }
14426
14427  public static interface WifiNl80211Manager.SendMgmtFrameCallback {
14428    method public void onAck(int);
14429    method public void onFailure(int);
14430  }
14431
14432  @Deprecated public static class WifiNl80211Manager.SignalPollResult {
14433    field @Deprecated public final int associationFrequencyMHz;
14434    field @Deprecated public final int currentRssiDbm;
14435    field @Deprecated public final int rxBitrateMbps;
14436    field @Deprecated public final int txBitrateMbps;
14437  }
14438
14439  @Deprecated public static interface WifiNl80211Manager.SoftApCallback {
14440    method @Deprecated public void onConnectedClientsChanged(@NonNull android.net.wifi.nl80211.NativeWifiClient, boolean);
14441    method @Deprecated public void onFailure();
14442    method @Deprecated public void onSoftApChannelSwitched(int, int);
14443  }
14444
14445  public static class WifiNl80211Manager.TxPacketCounters {
14446    field public final int txPacketFailed;
14447    field public final int txPacketSucceeded;
14448  }
14449
14450}
14451
14452package android.net.wifi.p2p {
14453
14454  public class WifiP2pConfig implements android.os.Parcelable {
14455    method public boolean isJoinExistingGroup();
14456  }
14457
14458  public static final class WifiP2pConfig.Builder {
14459    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setJoinExistingGroup(boolean);
14460  }
14461
14462  public final class WifiP2pGroupList implements android.os.Parcelable {
14463    method public int describeContents();
14464    method @NonNull public java.util.List<android.net.wifi.p2p.WifiP2pGroup> getGroupList();
14465    method public void writeToParcel(@NonNull android.os.Parcel, int);
14466    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pGroupList> CREATOR;
14467  }
14468
14469  public class WifiP2pManager {
14470    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);
14471    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void factoryReset(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
14472    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);
14473    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);
14474    method @RequiresPermission(android.Manifest.permission.CONFIGURE_WIFI_DISPLAY) public void setMiracastMode(int);
14475    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);
14476    field public static final String ACTION_WIFI_P2P_PERSISTENT_GROUPS_CHANGED = "android.net.wifi.p2p.action.WIFI_P2P_PERSISTENT_GROUPS_CHANGED";
14477    field public static final int MIRACAST_DISABLED = 0; // 0x0
14478    field public static final int MIRACAST_SINK = 2; // 0x2
14479    field public static final int MIRACAST_SOURCE = 1; // 0x1
14480  }
14481
14482  public static interface WifiP2pManager.PersistentGroupInfoListener {
14483    method public void onPersistentGroupInfoAvailable(@NonNull android.net.wifi.p2p.WifiP2pGroupList);
14484  }
14485
14486}
14487
14488package android.net.wifi.rtt {
14489
14490  public final class RangingRequest implements android.os.Parcelable {
14491    method @NonNull public java.util.List<android.net.wifi.rtt.ResponderConfig> getRttResponders();
14492  }
14493
14494  public final class RangingResult implements android.os.Parcelable {
14495    method @NonNull public byte[] getLci();
14496    method @NonNull public byte[] getLcr();
14497  }
14498
14499  public final class ResponderConfig implements android.os.Parcelable {
14500    ctor public ResponderConfig(@NonNull android.net.MacAddress, int, boolean, int, int, int, int, int);
14501    ctor public ResponderConfig(@NonNull android.net.wifi.aware.PeerHandle, int, boolean, int, int, int, int, int);
14502    method @NonNull public static android.net.wifi.rtt.ResponderConfig fromWifiAwarePeerHandleWithDefaults(@NonNull android.net.wifi.aware.PeerHandle);
14503    method @NonNull public static android.net.wifi.rtt.ResponderConfig fromWifiAwarePeerMacAddressWithDefaults(@NonNull android.net.MacAddress);
14504    field public static final int CHANNEL_WIDTH_160MHZ = 3; // 0x3
14505    field public static final int CHANNEL_WIDTH_20MHZ = 0; // 0x0
14506    field public static final int CHANNEL_WIDTH_320MHZ = 5; // 0x5
14507    field public static final int CHANNEL_WIDTH_40MHZ = 1; // 0x1
14508    field public static final int CHANNEL_WIDTH_80MHZ = 2; // 0x2
14509    field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 4; // 0x4
14510    field public static final int PREAMBLE_EHT = 4; // 0x4
14511    field public static final int PREAMBLE_HE = 3; // 0x3
14512    field public static final int PREAMBLE_HT = 1; // 0x1
14513    field public static final int PREAMBLE_LEGACY = 0; // 0x0
14514    field public static final int PREAMBLE_VHT = 2; // 0x2
14515    field public static final int RESPONDER_AWARE = 4; // 0x4
14516    field public static final int RESPONDER_P2P_CLIENT = 3; // 0x3
14517    field public static final int RESPONDER_P2P_GO = 2; // 0x2
14518    field public final int centerFreq0;
14519    field public final int centerFreq1;
14520    field public final int channelWidth;
14521    field public final int frequency;
14522    field @Nullable public final android.net.MacAddress macAddress;
14523    field @Nullable public final android.net.wifi.aware.PeerHandle peerHandle;
14524    field public final int preamble;
14525    field public final int responderType;
14526    field public final boolean supports80211mc;
14527  }
14528
14529  public final class ResponderLocation implements android.os.Parcelable {
14530    method public boolean getExtraInfoOnAssociationIndication();
14531  }
14532
14533  public class WifiRttManager {
14534    method @RequiresPermission(allOf={android.Manifest.permission.LOCATION_HARDWARE}) public void cancelRanging(@Nullable android.os.WorkSource);
14535    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);
14536  }
14537
14538}
14539
14540package android.net.wifi.sharedconnectivity.app {
14541
14542  public final class HotspotNetwork implements android.os.Parcelable {
14543    method public int describeContents();
14544    method public long getDeviceId();
14545    method @NonNull public android.os.Bundle getExtras();
14546    method public int getHostNetworkType();
14547    method @Nullable public String getHotspotBssid();
14548    method @NonNull public java.util.Set<java.lang.Integer> getHotspotSecurityTypes();
14549    method @Nullable public String getHotspotSsid();
14550    method @NonNull public String getNetworkName();
14551    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo getNetworkProviderInfo();
14552    method public void writeToParcel(@NonNull android.os.Parcel, int);
14553    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.HotspotNetwork> CREATOR;
14554    field public static final int NETWORK_TYPE_CELLULAR = 1; // 0x1
14555    field public static final int NETWORK_TYPE_ETHERNET = 3; // 0x3
14556    field public static final int NETWORK_TYPE_UNKNOWN = 0; // 0x0
14557    field public static final int NETWORK_TYPE_WIFI = 2; // 0x2
14558  }
14559
14560  public static final class HotspotNetwork.Builder {
14561    ctor public HotspotNetwork.Builder();
14562    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder addHotspotSecurityType(int);
14563    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork build();
14564    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setDeviceId(long);
14565    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setExtras(@NonNull android.os.Bundle);
14566    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setHostNetworkType(int);
14567    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setHotspotBssid(@NonNull String);
14568    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setHotspotSsid(@NonNull String);
14569    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setNetworkName(@NonNull String);
14570    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setNetworkProviderInfo(@NonNull android.net.wifi.sharedconnectivity.app.NetworkProviderInfo);
14571  }
14572
14573  public final class HotspotNetworkConnectionStatus implements android.os.Parcelable {
14574    method public int describeContents();
14575    method @NonNull public android.os.Bundle getExtras();
14576    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork getHotspotNetwork();
14577    method public int getStatus();
14578    method public void writeToParcel(@NonNull android.os.Parcel, int);
14579    field public static final int CONNECTION_STATUS_CONNECT_TO_HOTSPOT_FAILED = 9; // 0x9
14580    field public static final int CONNECTION_STATUS_ENABLING_HOTSPOT = 1; // 0x1
14581    field public static final int CONNECTION_STATUS_ENABLING_HOTSPOT_FAILED = 7; // 0x7
14582    field public static final int CONNECTION_STATUS_ENABLING_HOTSPOT_TIMEOUT = 8; // 0x8
14583    field public static final int CONNECTION_STATUS_NO_CELL_DATA = 6; // 0x6
14584    field public static final int CONNECTION_STATUS_PROVISIONING_FAILED = 3; // 0x3
14585    field public static final int CONNECTION_STATUS_TETHERING_TIMEOUT = 4; // 0x4
14586    field public static final int CONNECTION_STATUS_TETHERING_UNSUPPORTED = 5; // 0x5
14587    field public static final int CONNECTION_STATUS_UNKNOWN = 0; // 0x0
14588    field public static final int CONNECTION_STATUS_UNKNOWN_ERROR = 2; // 0x2
14589    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus> CREATOR;
14590  }
14591
14592  public static final class HotspotNetworkConnectionStatus.Builder {
14593    ctor public HotspotNetworkConnectionStatus.Builder();
14594    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus build();
14595    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus.Builder setExtras(@NonNull android.os.Bundle);
14596    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus.Builder setHotspotNetwork(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetwork);
14597    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus.Builder setStatus(int);
14598  }
14599
14600  public final class KnownNetwork implements android.os.Parcelable {
14601    method public int describeContents();
14602    method @NonNull public android.os.Bundle getExtras();
14603    method @Nullable public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo getNetworkProviderInfo();
14604    method public int getNetworkSource();
14605    method @NonNull public java.util.Set<java.lang.Integer> getSecurityTypes();
14606    method @NonNull public String getSsid();
14607    method public void writeToParcel(@NonNull android.os.Parcel, int);
14608    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.KnownNetwork> CREATOR;
14609    field public static final int NETWORK_SOURCE_CLOUD_SELF = 2; // 0x2
14610    field public static final int NETWORK_SOURCE_NEARBY_SELF = 1; // 0x1
14611    field public static final int NETWORK_SOURCE_UNKNOWN = 0; // 0x0
14612  }
14613
14614  public static final class KnownNetwork.Builder {
14615    ctor public KnownNetwork.Builder();
14616    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder addSecurityType(int);
14617    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork build();
14618    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setExtras(@NonNull android.os.Bundle);
14619    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setNetworkProviderInfo(@Nullable android.net.wifi.sharedconnectivity.app.NetworkProviderInfo);
14620    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setNetworkSource(int);
14621    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setSsid(@NonNull String);
14622  }
14623
14624  public final class KnownNetworkConnectionStatus implements android.os.Parcelable {
14625    method public int describeContents();
14626    method @NonNull public android.os.Bundle getExtras();
14627    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork getKnownNetwork();
14628    method public int getStatus();
14629    method public void writeToParcel(@NonNull android.os.Parcel, int);
14630    field public static final int CONNECTION_STATUS_SAVED = 1; // 0x1
14631    field public static final int CONNECTION_STATUS_SAVE_FAILED = 2; // 0x2
14632    field public static final int CONNECTION_STATUS_UNKNOWN = 0; // 0x0
14633    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus> CREATOR;
14634  }
14635
14636  public static final class KnownNetworkConnectionStatus.Builder {
14637    ctor public KnownNetworkConnectionStatus.Builder();
14638    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus build();
14639    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus.Builder setExtras(@NonNull android.os.Bundle);
14640    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus.Builder setKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork);
14641    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus.Builder setStatus(int);
14642  }
14643
14644  public final class NetworkProviderInfo implements android.os.Parcelable {
14645    method public int describeContents();
14646    method @IntRange(from=0, to=100) public int getBatteryPercentage();
14647    method @IntRange(from=0, to=4) public int getConnectionStrength();
14648    method @NonNull public String getDeviceName();
14649    method public int getDeviceType();
14650    method @NonNull public android.os.Bundle getExtras();
14651    method @NonNull public String getModelName();
14652    method public void writeToParcel(@NonNull android.os.Parcel, int);
14653    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.NetworkProviderInfo> CREATOR;
14654    field public static final int DEVICE_TYPE_AUTO = 5; // 0x5
14655    field public static final int DEVICE_TYPE_LAPTOP = 3; // 0x3
14656    field public static final int DEVICE_TYPE_PHONE = 1; // 0x1
14657    field public static final int DEVICE_TYPE_TABLET = 2; // 0x2
14658    field public static final int DEVICE_TYPE_UNKNOWN = 0; // 0x0
14659    field public static final int DEVICE_TYPE_WATCH = 4; // 0x4
14660  }
14661
14662  public static final class NetworkProviderInfo.Builder {
14663    ctor public NetworkProviderInfo.Builder(@NonNull String, @NonNull String);
14664    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo build();
14665    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setBatteryPercentage(@IntRange(from=0, to=100) int);
14666    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setConnectionStrength(@IntRange(from=0, to=4) int);
14667    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setDeviceName(@NonNull String);
14668    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setDeviceType(int);
14669    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setExtras(@NonNull android.os.Bundle);
14670    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setModelName(@NonNull String);
14671  }
14672
14673  public interface SharedConnectivityClientCallback {
14674    method public void onHotspotNetworkConnectionStatusChanged(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus);
14675    method public void onHotspotNetworksUpdated(@NonNull java.util.List<android.net.wifi.sharedconnectivity.app.HotspotNetwork>);
14676    method public void onKnownNetworkConnectionStatusChanged(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus);
14677    method public void onKnownNetworksUpdated(@NonNull java.util.List<android.net.wifi.sharedconnectivity.app.KnownNetwork>);
14678    method public void onRegisterCallbackFailed(@NonNull Exception);
14679    method public void onServiceConnected();
14680    method public void onServiceDisconnected();
14681    method public void onSharedConnectivitySettingsChanged(@NonNull android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState);
14682  }
14683
14684  public class SharedConnectivityManager {
14685    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean connectHotspotNetwork(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetwork);
14686    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean connectKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork);
14687    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean disconnectHotspotNetwork(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetwork);
14688    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean forgetKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork);
14689    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus getHotspotNetworkConnectionStatus();
14690    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();
14691    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus getKnownNetworkConnectionStatus();
14692    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();
14693    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState getSettingsState();
14694    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);
14695    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean unregisterCallback(@NonNull android.net.wifi.sharedconnectivity.app.SharedConnectivityClientCallback);
14696  }
14697
14698  public final class SharedConnectivitySettingsState implements android.os.Parcelable {
14699    method public int describeContents();
14700    method @NonNull public android.os.Bundle getExtras();
14701    method @Nullable public android.app.PendingIntent getInstantTetherSettingsPendingIntent();
14702    method public boolean isInstantTetherEnabled();
14703    method public void writeToParcel(@NonNull android.os.Parcel, int);
14704    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState> CREATOR;
14705  }
14706
14707  public static final class SharedConnectivitySettingsState.Builder {
14708    ctor public SharedConnectivitySettingsState.Builder();
14709    method @NonNull public android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState build();
14710    method @NonNull public android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState.Builder setExtras(@NonNull android.os.Bundle);
14711    method @NonNull public android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState.Builder setInstantTetherEnabled(boolean);
14712    method @NonNull public android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState.Builder setInstantTetherSettingsPendingIntent(@NonNull android.app.PendingIntent);
14713  }
14714
14715}
14716
14717package android.net.wifi.sharedconnectivity.service {
14718
14719  public abstract class SharedConnectivityService extends android.app.Service {
14720    ctor public SharedConnectivityService();
14721    method public static boolean areHotspotNetworksEnabledForService(@NonNull android.content.Context);
14722    method public static boolean areKnownNetworksEnabledForService(@NonNull android.content.Context);
14723    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
14724    method public abstract void onConnectHotspotNetwork(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetwork);
14725    method public abstract void onConnectKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork);
14726    method public abstract void onDisconnectHotspotNetwork(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetwork);
14727    method public abstract void onForgetKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork);
14728    method public final void setHotspotNetworks(@NonNull java.util.List<android.net.wifi.sharedconnectivity.app.HotspotNetwork>);
14729    method public final void setKnownNetworks(@NonNull java.util.List<android.net.wifi.sharedconnectivity.app.KnownNetwork>);
14730    method public final void setSettingsState(@NonNull android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState);
14731    method public final void updateHotspotNetworkConnectionStatus(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus);
14732    method public final void updateKnownNetworkConnectionStatus(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus);
14733  }
14734
14735}
14736
14737package android.nfc {
14738
14739  public final class NfcAdapter {
14740    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean addNfcUnlockHandler(android.nfc.NfcAdapter.NfcUnlockHandler, String[]);
14741    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disable();
14742    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disable(boolean);
14743    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enable();
14744    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableSecureNfc(boolean);
14745    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public java.util.Map<java.lang.String,java.lang.Boolean> getTagIntentAppPreferenceForUser(int);
14746    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean isControllerAlwaysOn();
14747    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean isControllerAlwaysOnSupported();
14748    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean isTagIntentAppPreferenceSupported();
14749    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void registerControllerAlwaysOnListener(@NonNull java.util.concurrent.Executor, @NonNull android.nfc.NfcAdapter.ControllerAlwaysOnListener);
14750    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean removeNfcUnlockHandler(android.nfc.NfcAdapter.NfcUnlockHandler);
14751    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean setControllerAlwaysOn(boolean);
14752    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int setTagIntentAppPreferenceForUser(int, @NonNull String, boolean);
14753    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void unregisterControllerAlwaysOnListener(@NonNull android.nfc.NfcAdapter.ControllerAlwaysOnListener);
14754    field public static final int TAG_INTENT_APP_PREF_RESULT_PACKAGE_NOT_FOUND = -1; // 0xffffffff
14755    field public static final int TAG_INTENT_APP_PREF_RESULT_SUCCESS = 0; // 0x0
14756    field public static final int TAG_INTENT_APP_PREF_RESULT_UNAVAILABLE = -2; // 0xfffffffe
14757  }
14758
14759  public static interface NfcAdapter.ControllerAlwaysOnListener {
14760    method public void onControllerAlwaysOnChanged(boolean);
14761  }
14762
14763  public static interface NfcAdapter.NfcUnlockHandler {
14764    method public boolean onUnlockAttempted(android.nfc.Tag);
14765  }
14766
14767}
14768
14769package android.os {
14770
14771  public class BatteryManager {
14772    method @RequiresPermission(android.Manifest.permission.POWER_SAVER) public boolean setChargingStateUpdateDelayMillis(int);
14773    field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_CHARGING_POLICY = 9; // 0x9
14774    field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_FIRST_USAGE_DATE = 8; // 0x8
14775    field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_MANUFACTURING_DATE = 7; // 0x7
14776    field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_STATE_OF_HEALTH = 10; // 0xa
14777    field public static final int CHARGING_POLICY_ADAPTIVE_AC = 3; // 0x3
14778    field public static final int CHARGING_POLICY_ADAPTIVE_AON = 2; // 0x2
14779    field public static final int CHARGING_POLICY_ADAPTIVE_LONGLIFE = 4; // 0x4
14780    field public static final int CHARGING_POLICY_DEFAULT = 1; // 0x1
14781    field public static final String EXTRA_EVENTS = "android.os.extra.EVENTS";
14782    field public static final String EXTRA_EVENT_TIMESTAMP = "android.os.extra.EVENT_TIMESTAMP";
14783  }
14784
14785  public final class BatterySaverPolicyConfig implements android.os.Parcelable {
14786    method public int describeContents();
14787    method public float getAdjustBrightnessFactor();
14788    method public boolean getAdvertiseIsEnabled();
14789    method public boolean getDeferFullBackup();
14790    method public boolean getDeferKeyValueBackup();
14791    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getDeviceSpecificSettings();
14792    method public boolean getDisableAnimation();
14793    method public boolean getDisableAod();
14794    method public boolean getDisableLaunchBoost();
14795    method public boolean getDisableOptionalSensors();
14796    method @Deprecated public boolean getDisableSoundTrigger();
14797    method public boolean getDisableVibration();
14798    method public boolean getEnableAdjustBrightness();
14799    method public boolean getEnableDataSaver();
14800    method public boolean getEnableFirewall();
14801    method public boolean getEnableNightMode();
14802    method public boolean getEnableQuickDoze();
14803    method public boolean getForceAllAppsStandby();
14804    method public boolean getForceBackgroundCheck();
14805    method public int getLocationMode();
14806    method public int getSoundTriggerMode();
14807    method public void writeToParcel(android.os.Parcel, int);
14808    field @NonNull public static final android.os.Parcelable.Creator<android.os.BatterySaverPolicyConfig> CREATOR;
14809  }
14810
14811  public static final class BatterySaverPolicyConfig.Builder {
14812    ctor public BatterySaverPolicyConfig.Builder();
14813    ctor public BatterySaverPolicyConfig.Builder(@NonNull android.os.BatterySaverPolicyConfig);
14814    method @NonNull public android.os.BatterySaverPolicyConfig.Builder addDeviceSpecificSetting(@NonNull String, @NonNull String);
14815    method @NonNull public android.os.BatterySaverPolicyConfig build();
14816    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setAdjustBrightnessFactor(float);
14817    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setAdvertiseIsEnabled(boolean);
14818    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDeferFullBackup(boolean);
14819    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDeferKeyValueBackup(boolean);
14820    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableAnimation(boolean);
14821    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableAod(boolean);
14822    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableLaunchBoost(boolean);
14823    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableOptionalSensors(boolean);
14824    method @Deprecated @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableSoundTrigger(boolean);
14825    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableVibration(boolean);
14826    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableAdjustBrightness(boolean);
14827    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableDataSaver(boolean);
14828    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableFirewall(boolean);
14829    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableNightMode(boolean);
14830    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableQuickDoze(boolean);
14831    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setForceAllAppsStandby(boolean);
14832    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setForceBackgroundCheck(boolean);
14833    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setLocationMode(int);
14834    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setSoundTriggerMode(int);
14835  }
14836
14837  public final class BatteryStatsManager {
14838    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.BATTERY_STATS, android.Manifest.permission.UPDATE_DEVICE_STATS}) public android.os.connectivity.CellularBatteryStats getCellularBatteryStats();
14839    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.BATTERY_STATS, android.Manifest.permission.UPDATE_DEVICE_STATS}) public android.os.connectivity.WifiBatteryStats getWifiBatteryStats();
14840    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanReset();
14841    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanResults(@NonNull android.os.WorkSource, int);
14842    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanStarted(@NonNull android.os.WorkSource, boolean);
14843    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanStopped(@NonNull android.os.WorkSource, boolean);
14844    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void reportBluetoothOff(int, int, @NonNull String);
14845    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void reportBluetoothOn(int, int, @NonNull String);
14846    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockAcquiredFromSource(@NonNull android.os.WorkSource);
14847    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockReleasedFromSource(@NonNull android.os.WorkSource);
14848    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportMobileRadioPowerState(boolean, int);
14849    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStartedFromSource(@NonNull android.os.WorkSource, @IntRange(from=0) int);
14850    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStoppedFromSource(@NonNull android.os.WorkSource);
14851    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiMulticastDisabled(@NonNull android.os.WorkSource);
14852    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiMulticastEnabled(@NonNull android.os.WorkSource);
14853    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiOff();
14854    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiOn();
14855    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiRadioPowerState(boolean, int);
14856    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiRssiChanged(@IntRange(from=0xffffff81, to=0) int);
14857    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStartedFromSource(@NonNull android.os.WorkSource);
14858    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStoppedFromSource(@NonNull android.os.WorkSource);
14859    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiState(int, @Nullable String);
14860    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiSupplicantStateChanged(int, boolean);
14861    field public static final int WIFI_STATE_OFF = 0; // 0x0
14862    field public static final int WIFI_STATE_OFF_SCANNING = 1; // 0x1
14863    field public static final int WIFI_STATE_ON_CONNECTED_P2P = 5; // 0x5
14864    field public static final int WIFI_STATE_ON_CONNECTED_STA = 4; // 0x4
14865    field public static final int WIFI_STATE_ON_CONNECTED_STA_P2P = 6; // 0x6
14866    field public static final int WIFI_STATE_ON_DISCONNECTED = 3; // 0x3
14867    field public static final int WIFI_STATE_ON_NO_NETWORKS = 2; // 0x2
14868    field public static final int WIFI_STATE_SOFT_AP = 7; // 0x7
14869    field public static final int WIFI_SUPPL_STATE_ASSOCIATED = 7; // 0x7
14870    field public static final int WIFI_SUPPL_STATE_ASSOCIATING = 6; // 0x6
14871    field public static final int WIFI_SUPPL_STATE_AUTHENTICATING = 5; // 0x5
14872    field public static final int WIFI_SUPPL_STATE_COMPLETED = 10; // 0xa
14873    field public static final int WIFI_SUPPL_STATE_DISCONNECTED = 1; // 0x1
14874    field public static final int WIFI_SUPPL_STATE_DORMANT = 11; // 0xb
14875    field public static final int WIFI_SUPPL_STATE_FOUR_WAY_HANDSHAKE = 8; // 0x8
14876    field public static final int WIFI_SUPPL_STATE_GROUP_HANDSHAKE = 9; // 0x9
14877    field public static final int WIFI_SUPPL_STATE_INACTIVE = 3; // 0x3
14878    field public static final int WIFI_SUPPL_STATE_INTERFACE_DISABLED = 2; // 0x2
14879    field public static final int WIFI_SUPPL_STATE_INVALID = 0; // 0x0
14880    field public static final int WIFI_SUPPL_STATE_SCANNING = 4; // 0x4
14881    field public static final int WIFI_SUPPL_STATE_UNINITIALIZED = 12; // 0xc
14882  }
14883
14884  public class Binder implements android.os.IBinder {
14885    method public int handleShellCommand(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.ParcelFileDescriptor, @NonNull android.os.ParcelFileDescriptor, @NonNull String[]);
14886    method public final void markVintfStability();
14887    method public static void setProxyTransactListener(@Nullable android.os.Binder.ProxyTransactListener);
14888  }
14889
14890  public static interface Binder.ProxyTransactListener {
14891    method public void onTransactEnded(@Nullable Object);
14892    method @Nullable public Object onTransactStarted(@NonNull android.os.IBinder, int);
14893  }
14894
14895  public final class BugreportManager {
14896    method @RequiresPermission(android.Manifest.permission.DUMP) @WorkerThread public void preDumpUiData();
14897    method @RequiresPermission(android.Manifest.permission.DUMP) public void requestBugreport(@NonNull android.os.BugreportParams, @Nullable CharSequence, @Nullable CharSequence);
14898    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);
14899    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);
14900  }
14901
14902  public abstract static class BugreportManager.BugreportCallback {
14903    method public void onFinished(@NonNull String);
14904  }
14905
14906  public final class BugreportParams {
14907    ctor public BugreportParams(int);
14908    ctor public BugreportParams(int, int);
14909    method public int getFlags();
14910    method public int getMode();
14911    field public static final int BUGREPORT_FLAG_DEFER_CONSENT = 2; // 0x2
14912    field public static final int BUGREPORT_FLAG_USE_PREDUMPED_UI_DATA = 1; // 0x1
14913    field public static final int BUGREPORT_MODE_FULL = 0; // 0x0
14914    field public static final int BUGREPORT_MODE_INTERACTIVE = 1; // 0x1
14915    field public static final int BUGREPORT_MODE_REMOTE = 2; // 0x2
14916    field public static final int BUGREPORT_MODE_TELEPHONY = 4; // 0x4
14917    field public static final int BUGREPORT_MODE_WEAR = 3; // 0x3
14918    field public static final int BUGREPORT_MODE_WIFI = 5; // 0x5
14919  }
14920
14921  public static class Build.VERSION {
14922    field @NonNull public static final java.util.Set<java.lang.String> KNOWN_CODENAMES;
14923    field @NonNull public static final String PREVIEW_SDK_FINGERPRINT;
14924  }
14925
14926  public final class ConfigUpdate {
14927    field public static final String ACTION_UPDATE_CARRIER_ID_DB = "android.os.action.UPDATE_CARRIER_ID_DB";
14928    field public static final String ACTION_UPDATE_CARRIER_PROVISIONING_URLS = "android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS";
14929    field public static final String ACTION_UPDATE_CONVERSATION_ACTIONS = "android.intent.action.UPDATE_CONVERSATION_ACTIONS";
14930    field public static final String ACTION_UPDATE_CT_LOGS = "android.intent.action.UPDATE_CT_LOGS";
14931    field public static final String ACTION_UPDATE_EMERGENCY_NUMBER_DB = "android.os.action.UPDATE_EMERGENCY_NUMBER_DB";
14932    field public static final String ACTION_UPDATE_INTENT_FIREWALL = "android.intent.action.UPDATE_INTENT_FIREWALL";
14933    field public static final String ACTION_UPDATE_LANG_ID = "android.intent.action.UPDATE_LANG_ID";
14934    field public static final String ACTION_UPDATE_NETWORK_WATCHLIST = "android.intent.action.UPDATE_NETWORK_WATCHLIST";
14935    field public static final String ACTION_UPDATE_PINS = "android.intent.action.UPDATE_PINS";
14936    field public static final String ACTION_UPDATE_SMART_SELECTION = "android.intent.action.UPDATE_SMART_SELECTION";
14937    field public static final String ACTION_UPDATE_SMS_SHORT_CODES = "android.intent.action.UPDATE_SMS_SHORT_CODES";
14938    field public static final String EXTRA_REQUIRED_HASH = "android.os.extra.REQUIRED_HASH";
14939    field public static final String EXTRA_VERSION = "android.os.extra.VERSION";
14940  }
14941
14942  public class DeviceIdleManager {
14943    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void endIdle(@NonNull String);
14944  }
14945
14946  public class Environment {
14947    method @NonNull public static java.io.File getDataCePackageDirectoryForUser(@NonNull java.util.UUID, @NonNull android.os.UserHandle, @NonNull String);
14948    method @NonNull public static java.io.File getDataDePackageDirectoryForUser(@NonNull java.util.UUID, @NonNull android.os.UserHandle, @NonNull String);
14949    method @NonNull public static java.util.Collection<java.io.File> getInternalMediaDirectories();
14950    method @NonNull public static java.io.File getOdmDirectory();
14951    method @NonNull public static java.io.File getOemDirectory();
14952    method @NonNull public static java.io.File getProductDirectory();
14953    method @Deprecated @NonNull public static java.io.File getProductServicesDirectory();
14954    method @NonNull public static java.io.File getSystemExtDirectory();
14955    method @NonNull public static java.io.File getVendorDirectory();
14956  }
14957
14958  public class HidlMemory implements java.io.Closeable {
14959    ctor public HidlMemory(@NonNull String, @IntRange(from=0) long, @Nullable android.os.NativeHandle);
14960    method public void close() throws java.io.IOException;
14961    method @NonNull public android.os.HidlMemory dup() throws java.io.IOException;
14962    method protected void finalize();
14963    method @Nullable public android.os.NativeHandle getHandle();
14964    method @NonNull public String getName();
14965    method public long getSize();
14966    method @Nullable public android.os.NativeHandle releaseHandle();
14967  }
14968
14969  public class HidlSupport {
14970    method public static boolean deepEquals(Object, Object);
14971    method public static int deepHashCode(Object);
14972    method public static int getPidIfSharable();
14973    method public static boolean interfacesEqual(android.os.IHwInterface, Object);
14974  }
14975
14976  public abstract class HwBinder implements android.os.IHwBinder {
14977    ctor public HwBinder();
14978    method public static final void configureRpcThreadpool(long, boolean);
14979    method public static void enableInstrumentation();
14980    method public static final android.os.IHwBinder getService(String, String) throws java.util.NoSuchElementException, android.os.RemoteException;
14981    method public static final android.os.IHwBinder getService(String, String, boolean) throws java.util.NoSuchElementException, android.os.RemoteException;
14982    method public static final void joinRpcThreadpool();
14983    method public abstract void onTransact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
14984    method public final void registerService(String) throws android.os.RemoteException;
14985    method public final void transact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
14986  }
14987
14988  public class HwBlob {
14989    ctor public HwBlob(int);
14990    method public final void copyToBoolArray(long, boolean[], int);
14991    method public final void copyToDoubleArray(long, double[], int);
14992    method public final void copyToFloatArray(long, float[], int);
14993    method public final void copyToInt16Array(long, short[], int);
14994    method public final void copyToInt32Array(long, int[], int);
14995    method public final void copyToInt64Array(long, long[], int);
14996    method public final void copyToInt8Array(long, byte[], int);
14997    method public final boolean getBool(long);
14998    method public final double getDouble(long);
14999    method public final long getFieldHandle(long);
15000    method public final float getFloat(long);
15001    method public final short getInt16(long);
15002    method public final int getInt32(long);
15003    method public final long getInt64(long);
15004    method public final byte getInt8(long);
15005    method public final String getString(long);
15006    method public final long handle();
15007    method public final void putBlob(long, android.os.HwBlob);
15008    method public final void putBool(long, boolean);
15009    method public final void putBoolArray(long, boolean[]);
15010    method public final void putDouble(long, double);
15011    method public final void putDoubleArray(long, double[]);
15012    method public final void putFloat(long, float);
15013    method public final void putFloatArray(long, float[]);
15014    method public final void putHidlMemory(long, @NonNull android.os.HidlMemory);
15015    method public final void putInt16(long, short);
15016    method public final void putInt16Array(long, short[]);
15017    method public final void putInt32(long, int);
15018    method public final void putInt32Array(long, int[]);
15019    method public final void putInt64(long, long);
15020    method public final void putInt64Array(long, long[]);
15021    method public final void putInt8(long, byte);
15022    method public final void putInt8Array(long, byte[]);
15023    method public final void putNativeHandle(long, @Nullable android.os.NativeHandle);
15024    method public final void putString(long, String);
15025    method public static Boolean[] wrapArray(@NonNull boolean[]);
15026    method public static Long[] wrapArray(@NonNull long[]);
15027    method public static Byte[] wrapArray(@NonNull byte[]);
15028    method public static Short[] wrapArray(@NonNull short[]);
15029    method public static Integer[] wrapArray(@NonNull int[]);
15030    method public static Float[] wrapArray(@NonNull float[]);
15031    method public static Double[] wrapArray(@NonNull double[]);
15032  }
15033
15034  public class HwParcel {
15035    ctor public HwParcel();
15036    method public final void enforceInterface(String);
15037    method public final boolean readBool();
15038    method public final java.util.ArrayList<java.lang.Boolean> readBoolVector();
15039    method public final android.os.HwBlob readBuffer(long);
15040    method public final double readDouble();
15041    method public final java.util.ArrayList<java.lang.Double> readDoubleVector();
15042    method public final android.os.HwBlob readEmbeddedBuffer(long, long, long, boolean);
15043    method @NonNull @Nullable public final android.os.HidlMemory readEmbeddedHidlMemory(long, long, long);
15044    method @Nullable public final android.os.NativeHandle readEmbeddedNativeHandle(long, long);
15045    method public final float readFloat();
15046    method public final java.util.ArrayList<java.lang.Float> readFloatVector();
15047    method @NonNull public final android.os.HidlMemory readHidlMemory();
15048    method public final short readInt16();
15049    method public final java.util.ArrayList<java.lang.Short> readInt16Vector();
15050    method public final int readInt32();
15051    method public final java.util.ArrayList<java.lang.Integer> readInt32Vector();
15052    method public final long readInt64();
15053    method public final java.util.ArrayList<java.lang.Long> readInt64Vector();
15054    method public final byte readInt8();
15055    method public final java.util.ArrayList<java.lang.Byte> readInt8Vector();
15056    method @Nullable public final android.os.NativeHandle readNativeHandle();
15057    method @NonNull public final java.util.ArrayList<android.os.NativeHandle> readNativeHandleVector();
15058    method public final String readString();
15059    method public final java.util.ArrayList<java.lang.String> readStringVector();
15060    method public final android.os.IHwBinder readStrongBinder();
15061    method public final void release();
15062    method public final void releaseTemporaryStorage();
15063    method public final void send();
15064    method public final void verifySuccess();
15065    method public final void writeBool(boolean);
15066    method public final void writeBoolVector(java.util.ArrayList<java.lang.Boolean>);
15067    method public final void writeBuffer(android.os.HwBlob);
15068    method public final void writeDouble(double);
15069    method public final void writeDoubleVector(java.util.ArrayList<java.lang.Double>);
15070    method public final void writeFloat(float);
15071    method public final void writeFloatVector(java.util.ArrayList<java.lang.Float>);
15072    method public final void writeHidlMemory(@NonNull android.os.HidlMemory);
15073    method public final void writeInt16(short);
15074    method public final void writeInt16Vector(java.util.ArrayList<java.lang.Short>);
15075    method public final void writeInt32(int);
15076    method public final void writeInt32Vector(java.util.ArrayList<java.lang.Integer>);
15077    method public final void writeInt64(long);
15078    method public final void writeInt64Vector(java.util.ArrayList<java.lang.Long>);
15079    method public final void writeInt8(byte);
15080    method public final void writeInt8Vector(java.util.ArrayList<java.lang.Byte>);
15081    method public final void writeInterfaceToken(String);
15082    method public final void writeNativeHandle(@Nullable android.os.NativeHandle);
15083    method public final void writeNativeHandleVector(@NonNull java.util.ArrayList<android.os.NativeHandle>);
15084    method public final void writeStatus(int);
15085    method public final void writeString(String);
15086    method public final void writeStringVector(java.util.ArrayList<java.lang.String>);
15087    method public final void writeStrongBinder(android.os.IHwBinder);
15088    field public static final int STATUS_SUCCESS = 0; // 0x0
15089  }
15090
15091  public interface IHwBinder {
15092    method public boolean linkToDeath(android.os.IHwBinder.DeathRecipient, long);
15093    method public android.os.IHwInterface queryLocalInterface(String);
15094    method public void transact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
15095    method public boolean unlinkToDeath(android.os.IHwBinder.DeathRecipient);
15096  }
15097
15098  public static interface IHwBinder.DeathRecipient {
15099    method public void serviceDied(long);
15100  }
15101
15102  public interface IHwInterface {
15103    method public android.os.IHwBinder asBinder();
15104  }
15105
15106  public class IncidentManager {
15107    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public void approveReport(android.net.Uri);
15108    method @RequiresPermission("android.permission.REQUEST_INCIDENT_REPORT_APPROVAL") public void cancelAuthorization(android.os.IncidentManager.AuthListener);
15109    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void deleteIncidentReports(android.net.Uri);
15110    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public void denyReport(android.net.Uri);
15111    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public android.os.IncidentManager.IncidentReport getIncidentReport(android.net.Uri);
15112    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public java.util.List<android.net.Uri> getIncidentReportList(String);
15113    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public java.util.List<android.os.IncidentManager.PendingReport> getPendingReports();
15114    method public void registerSection(int, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.os.IncidentManager.DumpCallback);
15115    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void reportIncident(android.os.IncidentReportArgs);
15116    method @RequiresPermission("android.permission.REQUEST_INCIDENT_REPORT_APPROVAL") public void requestAuthorization(int, String, int, android.os.IncidentManager.AuthListener);
15117    method public void unregisterSection(int);
15118    field public static final int FLAG_ALLOW_CONSENTLESS_BUGREPORT = 2; // 0x2
15119    field public static final int FLAG_CONFIRMATION_DIALOG = 1; // 0x1
15120    field public static final int PRIVACY_POLICY_AUTO = 200; // 0xc8
15121    field public static final int PRIVACY_POLICY_EXPLICIT = 100; // 0x64
15122    field public static final int PRIVACY_POLICY_LOCAL = 0; // 0x0
15123  }
15124
15125  public static class IncidentManager.AuthListener {
15126    ctor public IncidentManager.AuthListener();
15127    method public void onReportApproved();
15128    method public void onReportDenied();
15129  }
15130
15131  public static class IncidentManager.DumpCallback {
15132    ctor public IncidentManager.DumpCallback();
15133    method public void onDumpSection(int, @NonNull java.io.OutputStream);
15134  }
15135
15136  public static class IncidentManager.IncidentReport implements java.io.Closeable android.os.Parcelable {
15137    ctor public IncidentManager.IncidentReport(android.os.Parcel);
15138    method public void close();
15139    method public int describeContents();
15140    method public java.io.InputStream getInputStream() throws java.io.IOException;
15141    method public long getPrivacyPolicy();
15142    method public long getTimestamp();
15143    method public void writeToParcel(android.os.Parcel, int);
15144    field @NonNull public static final android.os.Parcelable.Creator<android.os.IncidentManager.IncidentReport> CREATOR;
15145  }
15146
15147  public static class IncidentManager.PendingReport {
15148    ctor public IncidentManager.PendingReport(@NonNull android.net.Uri);
15149    method public int getFlags();
15150    method @NonNull public String getRequestingPackage();
15151    method public long getTimestamp();
15152    method @NonNull public android.net.Uri getUri();
15153  }
15154
15155  public final class IncidentReportArgs implements android.os.Parcelable {
15156    ctor public IncidentReportArgs();
15157    ctor public IncidentReportArgs(android.os.Parcel);
15158    method public void addHeader(byte[]);
15159    method public void addSection(int);
15160    method public boolean containsSection(int);
15161    method public int describeContents();
15162    method public boolean isAll();
15163    method public void readFromParcel(android.os.Parcel);
15164    method public int sectionCount();
15165    method public void setAll(boolean);
15166    method public void setPrivacyPolicy(int);
15167    method public void writeToParcel(android.os.Parcel, int);
15168    field @NonNull public static final android.os.Parcelable.Creator<android.os.IncidentReportArgs> CREATOR;
15169  }
15170
15171  public final class NativeHandle implements java.io.Closeable {
15172    ctor public NativeHandle();
15173    ctor public NativeHandle(@NonNull java.io.FileDescriptor, boolean);
15174    ctor public NativeHandle(@NonNull java.io.FileDescriptor[], @NonNull int[], boolean);
15175    method public void close() throws java.io.IOException;
15176    method @NonNull public android.os.NativeHandle dup() throws java.io.IOException;
15177    method @NonNull public java.io.FileDescriptor getFileDescriptor();
15178    method @NonNull public java.io.FileDescriptor[] getFileDescriptors();
15179    method @NonNull public int[] getInts();
15180    method public boolean hasSingleFileDescriptor();
15181  }
15182
15183  public final class NewUserRequest {
15184    method @Nullable public String getAccountName();
15185    method @Nullable public android.os.PersistableBundle getAccountOptions();
15186    method @Nullable public String getAccountType();
15187    method @Nullable public String getName();
15188    method @Nullable public android.graphics.Bitmap getUserIcon();
15189    method @NonNull public String getUserType();
15190    method public boolean isAdmin();
15191    method public boolean isEphemeral();
15192  }
15193
15194  public static final class NewUserRequest.Builder {
15195    ctor public NewUserRequest.Builder();
15196    method @NonNull public android.os.NewUserRequest build();
15197    method @NonNull public android.os.NewUserRequest.Builder setAccountName(@Nullable String);
15198    method @NonNull public android.os.NewUserRequest.Builder setAccountOptions(@Nullable android.os.PersistableBundle);
15199    method @NonNull public android.os.NewUserRequest.Builder setAccountType(@Nullable String);
15200    method @NonNull public android.os.NewUserRequest.Builder setAdmin();
15201    method @NonNull public android.os.NewUserRequest.Builder setEphemeral();
15202    method @NonNull public android.os.NewUserRequest.Builder setName(@Nullable String);
15203    method @NonNull public android.os.NewUserRequest.Builder setUserIcon(@Nullable android.graphics.Bitmap);
15204    method @NonNull public android.os.NewUserRequest.Builder setUserType(@NonNull String);
15205  }
15206
15207  public final class NewUserResponse {
15208    method public int getOperationResult();
15209    method @Nullable public android.os.UserHandle getUser();
15210    method public boolean isSuccessful();
15211  }
15212
15213  public interface Parcelable {
15214    method public default int getStability();
15215    field public static final int PARCELABLE_STABILITY_LOCAL = 0; // 0x0
15216    field public static final int PARCELABLE_STABILITY_VINTF = 1; // 0x1
15217  }
15218
15219  public final class ParcelableHolder implements android.os.Parcelable {
15220    ctor public ParcelableHolder(int);
15221    method public int describeContents();
15222    method @Nullable public <T extends android.os.Parcelable> T getParcelable(@NonNull Class<T>);
15223    method public void readFromParcel(@NonNull android.os.Parcel);
15224    method public void setParcelable(@Nullable android.os.Parcelable);
15225    method public void writeToParcel(@NonNull android.os.Parcel, int);
15226    field @NonNull public static final android.os.Parcelable.Creator<android.os.ParcelableHolder> CREATOR;
15227  }
15228
15229  public class PowerExemptionManager {
15230    method @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void addToTemporaryAllowList(@NonNull String, int, @Nullable String, long);
15231    method @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long addToTemporaryAllowListForEvent(@NonNull String, int, @Nullable String, int);
15232    field public static final int EVENT_MMS = 2; // 0x2
15233    field public static final int EVENT_SMS = 1; // 0x1
15234    field public static final int EVENT_UNSPECIFIED = 0; // 0x0
15235    field public static final int REASON_ACCOUNT_TRANSFER = 104; // 0x68
15236    field public static final int REASON_ACTIVITY_RECOGNITION = 103; // 0x67
15237    field public static final int REASON_BLUETOOTH_BROADCAST = 203; // 0xcb
15238    field public static final int REASON_GEOFENCING = 100; // 0x64
15239    field public static final int REASON_LOCATION_PROVIDER = 312; // 0x138
15240    field public static final int REASON_OTHER = 1; // 0x1
15241    field public static final int REASON_PUSH_MESSAGING = 101; // 0x65
15242    field public static final int REASON_PUSH_MESSAGING_OVER_QUOTA = 102; // 0x66
15243    field public static final int REASON_REFRESH_SAFETY_SOURCES = 208; // 0xd0
15244    field public static final int REASON_UNKNOWN = 0; // 0x0
15245    field public static final int TEMPORARY_ALLOW_LIST_TYPE_FOREGROUND_SERVICE_ALLOWED = 0; // 0x0
15246    field public static final int TEMPORARY_ALLOW_LIST_TYPE_FOREGROUND_SERVICE_NOT_ALLOWED = 1; // 0x1
15247    field public static final int TEMPORARY_ALLOW_LIST_TYPE_NONE = -1; // 0xffffffff
15248  }
15249
15250  public final class PowerManager {
15251    method @RequiresPermission(allOf={android.Manifest.permission.READ_DREAM_STATE, android.Manifest.permission.WRITE_DREAM_STATE}) public void dream(long);
15252    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public boolean forceSuspend();
15253    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();
15254    method @NonNull public android.os.BatterySaverPolicyConfig getFullPowerSavePolicy();
15255    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public android.os.PowerManager.LowPowerStandbyPolicy getLowPowerStandbyPolicy();
15256    method public int getPowerSaveModeTrigger();
15257    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplayAvailable();
15258    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplaySuppressed();
15259    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplaySuppressedForToken(@NonNull String);
15260    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public boolean isLowPowerStandbySupported();
15261    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>);
15262    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setAdaptivePowerSaveEnabled(boolean);
15263    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setAdaptivePowerSavePolicy(@NonNull android.os.BatterySaverPolicyConfig);
15264    method @RequiresPermission(anyOf={android.Manifest.permission.BATTERY_PREDICTION, android.Manifest.permission.DEVICE_POWER}) public void setBatteryDischargePrediction(@NonNull java.time.Duration, boolean);
15265    method @RequiresPermission(android.Manifest.permission.POWER_SAVER) public boolean setDynamicPowerSaveHint(boolean, int);
15266    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setFullPowerSavePolicy(@NonNull android.os.BatterySaverPolicyConfig);
15267    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public void setLowPowerStandbyActiveDuringMaintenance(boolean);
15268    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public void setLowPowerStandbyEnabled(boolean);
15269    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public void setLowPowerStandbyPolicy(@Nullable android.os.PowerManager.LowPowerStandbyPolicy);
15270    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setPowerSaveModeEnabled(boolean);
15271    method @RequiresPermission(android.Manifest.permission.WRITE_DREAM_STATE) public void suppressAmbientDisplay(@NonNull String, boolean);
15272    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.USER_ACTIVITY}) public void userActivity(long, int, int);
15273    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";
15274    field public static final int POWER_SAVE_MODE_TRIGGER_DYNAMIC = 1; // 0x1
15275    field public static final int POWER_SAVE_MODE_TRIGGER_PERCENTAGE = 0; // 0x0
15276    field public static final String REBOOT_USERSPACE = "userspace";
15277    field public static final int SOUND_TRIGGER_MODE_ALL_DISABLED = 2; // 0x2
15278    field public static final int SOUND_TRIGGER_MODE_ALL_ENABLED = 0; // 0x0
15279    field public static final int SOUND_TRIGGER_MODE_CRITICAL_ONLY = 1; // 0x1
15280    field public static final int USER_ACTIVITY_EVENT_ACCESSIBILITY = 3; // 0x3
15281    field public static final int USER_ACTIVITY_EVENT_BUTTON = 1; // 0x1
15282    field public static final int USER_ACTIVITY_EVENT_OTHER = 0; // 0x0
15283    field public static final int USER_ACTIVITY_EVENT_TOUCH = 2; // 0x2
15284    field public static final int USER_ACTIVITY_FLAG_INDIRECT = 2; // 0x2
15285    field public static final int USER_ACTIVITY_FLAG_NO_CHANGE_LIGHTS = 1; // 0x1
15286  }
15287
15288  public static final class PowerManager.LowPowerStandbyPolicy {
15289    ctor public PowerManager.LowPowerStandbyPolicy(@NonNull String, @NonNull java.util.Set<java.lang.String>, int, @NonNull java.util.Set<java.lang.String>);
15290    method @NonNull public java.util.Set<java.lang.String> getAllowedFeatures();
15291    method public int getAllowedReasons();
15292    method @NonNull public java.util.Set<java.lang.String> getExemptPackages();
15293    method @NonNull public String getIdentifier();
15294  }
15295
15296  public static final class PowerManager.LowPowerStandbyPortDescription {
15297    ctor public PowerManager.LowPowerStandbyPortDescription(int, int, int);
15298    ctor public PowerManager.LowPowerStandbyPortDescription(int, int, int, @Nullable java.net.InetAddress);
15299    method @Nullable public java.net.InetAddress getLocalAddress();
15300    method public int getPortMatcher();
15301    method public int getPortNumber();
15302    method public int getProtocol();
15303    field public static final int MATCH_PORT_LOCAL = 1; // 0x1
15304    field public static final int MATCH_PORT_REMOTE = 2; // 0x2
15305    field public static final int PROTOCOL_TCP = 6; // 0x6
15306    field public static final int PROTOCOL_UDP = 17; // 0x11
15307  }
15308
15309  public final class PowerManager.LowPowerStandbyPortsLock {
15310    method @RequiresPermission(android.Manifest.permission.SET_LOW_POWER_STANDBY_PORTS) public void acquire();
15311    method protected void finalize();
15312    method @RequiresPermission(android.Manifest.permission.SET_LOW_POWER_STANDBY_PORTS) public void release();
15313  }
15314
15315  @Deprecated public class PowerWhitelistManager {
15316    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void addToWhitelist(@NonNull String);
15317    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void addToWhitelist(@NonNull java.util.List<java.lang.String>);
15318    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void removeFromWhitelist(@NonNull String);
15319    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(@NonNull String, long, int, @Nullable String);
15320    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(@NonNull String, long);
15321    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long whitelistAppTemporarilyForEvent(@NonNull String, int, @Nullable String);
15322    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long whitelistAppTemporarilyForEvent(@NonNull String, int, int, @Nullable String);
15323    field @Deprecated public static final int EVENT_MMS = 2; // 0x2
15324    field @Deprecated public static final int EVENT_SMS = 1; // 0x1
15325    field @Deprecated public static final int EVENT_UNSPECIFIED = 0; // 0x0
15326    field @Deprecated public static final int REASON_ACTIVITY_RECOGNITION = 103; // 0x67
15327    field @Deprecated public static final int REASON_GEOFENCING = 100; // 0x64
15328    field @Deprecated public static final int REASON_LOCATION_PROVIDER = 312; // 0x138
15329    field @Deprecated public static final int REASON_OTHER = 1; // 0x1
15330    field @Deprecated public static final int REASON_PUSH_MESSAGING = 101; // 0x65
15331    field @Deprecated public static final int REASON_PUSH_MESSAGING_OVER_QUOTA = 102; // 0x66
15332    field @Deprecated public static final int REASON_UNKNOWN = 0; // 0x0
15333    field @Deprecated public static final int TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_ALLOWED = 0; // 0x0
15334    field @Deprecated public static final int TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_NOT_ALLOWED = 1; // 0x1
15335  }
15336
15337  public class RecoverySystem {
15338    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void cancelScheduledUpdate(android.content.Context) throws java.io.IOException;
15339    method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static void clearPrepareForUnattendedUpdate(@NonNull android.content.Context) throws java.io.IOException;
15340    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void installPackage(android.content.Context, java.io.File, boolean) throws java.io.IOException;
15341    method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static boolean isPreparedForUnattendedUpdate(@NonNull android.content.Context) throws java.io.IOException;
15342    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;
15343    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;
15344    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void processPackage(android.content.Context, java.io.File, android.os.RecoverySystem.ProgressListener) throws java.io.IOException;
15345    method @Deprecated @RequiresPermission(android.Manifest.permission.RECOVERY) public static void rebootAndApply(@NonNull android.content.Context, @NonNull String, @NonNull String) throws java.io.IOException;
15346    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;
15347    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;
15348    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void scheduleUpdateOnBoot(android.content.Context, java.io.File) throws java.io.IOException;
15349    method public static boolean verifyPackageCompatibility(java.io.File) throws java.io.IOException;
15350    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_INVALID_PACKAGE_NAME = 2000; // 0x7d0
15351    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_LSKF_NOT_CAPTURED = 3000; // 0xbb8
15352    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_PROVIDER_PREPARATION_FAILURE = 5000; // 0x1388
15353    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_SLOT_MISMATCH = 4000; // 0xfa0
15354    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_UNSPECIFIED = 1000; // 0x3e8
15355  }
15356
15357  public final class RemoteCallback implements android.os.Parcelable {
15358    ctor public RemoteCallback(android.os.RemoteCallback.OnResultListener);
15359    ctor public RemoteCallback(@NonNull android.os.RemoteCallback.OnResultListener, @Nullable android.os.Handler);
15360    method public int describeContents();
15361    method public void sendResult(@Nullable android.os.Bundle);
15362    method public void writeToParcel(android.os.Parcel, int);
15363    field @NonNull public static final android.os.Parcelable.Creator<android.os.RemoteCallback> CREATOR;
15364  }
15365
15366  public static interface RemoteCallback.OnResultListener {
15367    method public void onResult(@Nullable android.os.Bundle);
15368  }
15369
15370  public class ServiceSpecificException extends java.lang.RuntimeException {
15371    ctor public ServiceSpecificException(int, @Nullable String);
15372    ctor public ServiceSpecificException(int);
15373    field public final int errorCode;
15374  }
15375
15376  public final class StatsDimensionsValue implements android.os.Parcelable {
15377    method public int describeContents();
15378    method public boolean getBooleanValue();
15379    method public int getField();
15380    method public float getFloatValue();
15381    method public int getIntValue();
15382    method public long getLongValue();
15383    method public String getStringValue();
15384    method public java.util.List<android.os.StatsDimensionsValue> getTupleValueList();
15385    method public int getValueType();
15386    method public boolean isValueType(int);
15387    method public void writeToParcel(android.os.Parcel, int);
15388    field public static final int BOOLEAN_VALUE_TYPE = 5; // 0x5
15389    field @NonNull public static final android.os.Parcelable.Creator<android.os.StatsDimensionsValue> CREATOR;
15390    field public static final int FLOAT_VALUE_TYPE = 6; // 0x6
15391    field public static final int INT_VALUE_TYPE = 3; // 0x3
15392    field public static final int LONG_VALUE_TYPE = 4; // 0x4
15393    field public static final int STRING_VALUE_TYPE = 2; // 0x2
15394    field public static final int TUPLE_VALUE_TYPE = 7; // 0x7
15395  }
15396
15397  public class SystemConfigManager {
15398    method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Set<java.lang.String> getDisabledUntilUsedPreinstalledCarrierApps();
15399    method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getDisabledUntilUsedPreinstalledCarrierAssociatedApps();
15400    method @NonNull @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSIONS) public int[] getSystemPermissionUids(@NonNull String);
15401  }
15402
15403  public class SystemProperties {
15404    method @NonNull public static String get(@NonNull String);
15405    method @NonNull public static String get(@NonNull String, @Nullable String);
15406    method public static boolean getBoolean(@NonNull String, boolean);
15407    method public static int getInt(@NonNull String, int);
15408    method public static long getLong(@NonNull String, long);
15409  }
15410
15411  public class SystemUpdateManager {
15412    method @RequiresPermission(anyOf={android.Manifest.permission.READ_SYSTEM_UPDATE_INFO, android.Manifest.permission.RECOVERY}) public android.os.Bundle retrieveSystemUpdateInfo();
15413    method @RequiresPermission(android.Manifest.permission.RECOVERY) public void updateSystemUpdateInfo(android.os.PersistableBundle);
15414    field public static final String KEY_IS_SECURITY_UPDATE = "is_security_update";
15415    field public static final String KEY_STATUS = "status";
15416    field public static final String KEY_TARGET_BUILD_FINGERPRINT = "target_build_fingerprint";
15417    field public static final String KEY_TARGET_SECURITY_PATCH_LEVEL = "target_security_patch_level";
15418    field public static final String KEY_TITLE = "title";
15419    field public static final int STATUS_IDLE = 1; // 0x1
15420    field public static final int STATUS_IN_PROGRESS = 3; // 0x3
15421    field public static final int STATUS_UNKNOWN = 0; // 0x0
15422    field public static final int STATUS_WAITING_DOWNLOAD = 2; // 0x2
15423    field public static final int STATUS_WAITING_INSTALL = 4; // 0x4
15424    field public static final int STATUS_WAITING_REBOOT = 5; // 0x5
15425  }
15426
15427  public final class Trace {
15428    field public static final long TRACE_TAG_AIDL = 16777216L; // 0x1000000L
15429  }
15430
15431  public class UpdateEngine {
15432    ctor public UpdateEngine();
15433    method @NonNull @WorkerThread public android.os.UpdateEngine.AllocateSpaceResult allocateSpace(@NonNull String, @NonNull String[]);
15434    method public void applyPayload(String, long, long, String[]);
15435    method public void applyPayload(@NonNull android.content.res.AssetFileDescriptor, @NonNull String[]);
15436    method public boolean bind(android.os.UpdateEngineCallback, android.os.Handler);
15437    method public boolean bind(android.os.UpdateEngineCallback);
15438    method public void cancel();
15439    method @WorkerThread public int cleanupAppliedPayload();
15440    method public void resetShouldSwitchSlotOnReboot();
15441    method public void resetStatus();
15442    method public void resume();
15443    method public void setShouldSwitchSlotOnReboot(@NonNull String);
15444    method public void suspend();
15445    method public boolean unbind();
15446    method public boolean verifyPayloadMetadata(String);
15447  }
15448
15449  public static final class UpdateEngine.AllocateSpaceResult {
15450    method public int getErrorCode();
15451    method public long getFreeSpaceRequired();
15452  }
15453
15454  public static final class UpdateEngine.ErrorCodeConstants {
15455    ctor public UpdateEngine.ErrorCodeConstants();
15456    field public static final int DEVICE_CORRUPTED = 61; // 0x3d
15457    field public static final int DOWNLOAD_PAYLOAD_VERIFICATION_ERROR = 12; // 0xc
15458    field public static final int DOWNLOAD_TRANSFER_ERROR = 9; // 0x9
15459    field public static final int ERROR = 1; // 0x1
15460    field public static final int FILESYSTEM_COPIER_ERROR = 4; // 0x4
15461    field public static final int INSTALL_DEVICE_OPEN_ERROR = 7; // 0x7
15462    field public static final int KERNEL_DEVICE_OPEN_ERROR = 8; // 0x8
15463    field public static final int NOT_ENOUGH_SPACE = 60; // 0x3c
15464    field public static final int PAYLOAD_HASH_MISMATCH_ERROR = 10; // 0xa
15465    field public static final int PAYLOAD_MISMATCHED_TYPE_ERROR = 6; // 0x6
15466    field public static final int PAYLOAD_SIZE_MISMATCH_ERROR = 11; // 0xb
15467    field public static final int PAYLOAD_TIMESTAMP_ERROR = 51; // 0x33
15468    field public static final int POST_INSTALL_RUNNER_ERROR = 5; // 0x5
15469    field public static final int SUCCESS = 0; // 0x0
15470    field public static final int UPDATED_BUT_NOT_ACTIVE = 52; // 0x34
15471  }
15472
15473  public static final class UpdateEngine.UpdateStatusConstants {
15474    ctor public UpdateEngine.UpdateStatusConstants();
15475    field public static final int ATTEMPTING_ROLLBACK = 8; // 0x8
15476    field public static final int CHECKING_FOR_UPDATE = 1; // 0x1
15477    field public static final int DISABLED = 9; // 0x9
15478    field public static final int DOWNLOADING = 3; // 0x3
15479    field public static final int FINALIZING = 5; // 0x5
15480    field public static final int IDLE = 0; // 0x0
15481    field public static final int REPORTING_ERROR_EVENT = 7; // 0x7
15482    field public static final int UPDATED_NEED_REBOOT = 6; // 0x6
15483    field public static final int UPDATE_AVAILABLE = 2; // 0x2
15484    field public static final int VERIFYING = 4; // 0x4
15485  }
15486
15487  public abstract class UpdateEngineCallback {
15488    ctor public UpdateEngineCallback();
15489    method public abstract void onPayloadApplicationComplete(int);
15490    method public abstract void onStatusUpdate(int, float);
15491  }
15492
15493  public final class UserHandle implements android.os.Parcelable {
15494    method @NonNull public static String formatUid(int);
15495    method public static int getAppId(int);
15496    method public int getIdentifier();
15497    method public static int getSharedAppGid(int);
15498    method public int getUid(int);
15499    method @Deprecated public boolean isOwner();
15500    method public boolean isSystem();
15501    method public static int myUserId();
15502    method public static android.os.UserHandle of(int);
15503    field @NonNull public static final android.os.UserHandle ALL;
15504    field @NonNull public static final android.os.UserHandle CURRENT;
15505    field @NonNull public static final android.os.UserHandle SYSTEM;
15506  }
15507
15508  public class UserManager {
15509    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean canHaveRestrictedProfile();
15510    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void clearSeedAccountData();
15511    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;
15512    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.os.NewUserResponse createUser(@NonNull android.os.NewUserRequest);
15513    method @NonNull public java.util.List<android.os.UserHandle> getAllProfiles();
15514    method @NonNull public java.util.List<android.os.UserHandle> getEnabledProfiles();
15515    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public android.os.UserHandle getMainUser();
15516    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public android.os.UserHandle getPreviousForegroundUser();
15517    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public android.os.UserHandle getProfileParent(@NonNull android.os.UserHandle);
15518    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public int getRemainingCreatableProfileCount(@NonNull String);
15519    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public int getRemainingCreatableUserCount(@NonNull String);
15520    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public android.os.UserHandle getRestrictedProfileParent();
15521    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountName();
15522    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.PersistableBundle getSeedAccountOptions();
15523    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountType();
15524    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public long[] getSerialNumbersOfUsers(boolean);
15525    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public java.util.List<android.os.UserHandle> getUserHandles(boolean);
15526    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}) public android.graphics.Bitmap getUserIcon();
15527    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);
15528    method @Deprecated @android.os.UserManager.UserRestrictionSource @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.QUERY_USERS}) public int getUserRestrictionSource(String, android.os.UserHandle);
15529    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);
15530    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public int getUserSwitchability();
15531    method @NonNull @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.MANAGE_USERS"}) public java.util.Set<android.os.UserHandle> getVisibleUsers();
15532    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean hasRestrictedProfiles();
15533    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);
15534    method public boolean isCloneProfile();
15535    method @Deprecated public boolean isCredentialSharableWithParent();
15536    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isGuestUser();
15537    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isMainUser();
15538    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);
15539    method @Deprecated public boolean isMediaSharedWithParent();
15540    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isPrimaryUser();
15541    method public static boolean isRemoveResultSuccessful(int);
15542    method public boolean isRestrictedProfile();
15543    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}, conditional=true) public boolean isRestrictedProfile(@NonNull android.os.UserHandle);
15544    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isSameProfileGroup(@NonNull android.os.UserHandle, @NonNull android.os.UserHandle);
15545    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();
15546    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isUserOfType(@NonNull String);
15547    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isUserUnlockingOrUnlocked(@NonNull android.os.UserHandle);
15548    method @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.MANAGE_USERS"}) public boolean isUserVisible();
15549    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean removeUser(@NonNull android.os.UserHandle);
15550    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public int removeUserWhenPossible(@NonNull android.os.UserHandle, boolean);
15551    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public void setBootUser(@NonNull android.os.UserHandle);
15552    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserIcon(@NonNull android.graphics.Bitmap) throws android.os.UserManager.UserOperationException;
15553    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserName(@Nullable String);
15554    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean someUserHasAccount(@NonNull String, @NonNull String);
15555    field @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public static final String ACTION_CREATE_SUPERVISED_USER = "android.os.action.CREATE_SUPERVISED_USER";
15556    field public static final String ACTION_USER_RESTRICTIONS_CHANGED = "android.os.action.USER_RESTRICTIONS_CHANGED";
15557    field @Deprecated public static final String DISALLOW_OEM_UNLOCK = "no_oem_unlock";
15558    field public static final String DISALLOW_RUN_IN_BACKGROUND = "no_run_in_background";
15559    field public static final int REMOVE_RESULT_ALREADY_BEING_REMOVED = 2; // 0x2
15560    field public static final int REMOVE_RESULT_DEFERRED = 1; // 0x1
15561    field public static final int REMOVE_RESULT_ERROR_MAIN_USER_PERMANENT_ADMIN = -5; // 0xfffffffb
15562    field public static final int REMOVE_RESULT_ERROR_SYSTEM_USER = -4; // 0xfffffffc
15563    field public static final int REMOVE_RESULT_ERROR_UNKNOWN = -1; // 0xffffffff
15564    field public static final int REMOVE_RESULT_ERROR_USER_NOT_FOUND = -3; // 0xfffffffd
15565    field public static final int REMOVE_RESULT_ERROR_USER_RESTRICTION = -2; // 0xfffffffe
15566    field public static final int REMOVE_RESULT_REMOVED = 0; // 0x0
15567    field public static final int RESTRICTION_NOT_SET = 0; // 0x0
15568    field public static final int RESTRICTION_SOURCE_DEVICE_OWNER = 2; // 0x2
15569    field public static final int RESTRICTION_SOURCE_PROFILE_OWNER = 4; // 0x4
15570    field public static final int RESTRICTION_SOURCE_SYSTEM = 1; // 0x1
15571    field public static final int SWITCHABILITY_STATUS_OK = 0; // 0x0
15572    field public static final int SWITCHABILITY_STATUS_SYSTEM_USER_LOCKED = 4; // 0x4
15573    field public static final int SWITCHABILITY_STATUS_USER_IN_CALL = 1; // 0x1
15574    field public static final int SWITCHABILITY_STATUS_USER_SWITCH_DISALLOWED = 2; // 0x2
15575    field public static final int USER_OPERATION_ERROR_USER_ACCOUNT_ALREADY_EXISTS = 7; // 0x7
15576    field public static final String USER_TYPE_FULL_GUEST = "android.os.usertype.full.GUEST";
15577    field public static final String USER_TYPE_FULL_SECONDARY = "android.os.usertype.full.SECONDARY";
15578    field public static final String USER_TYPE_FULL_SYSTEM = "android.os.usertype.full.SYSTEM";
15579    field public static final String USER_TYPE_PROFILE_CLONE = "android.os.usertype.profile.CLONE";
15580    field public static final String USER_TYPE_PROFILE_MANAGED = "android.os.usertype.profile.MANAGED";
15581    field public static final String USER_TYPE_SYSTEM_HEADLESS = "android.os.usertype.system.HEADLESS";
15582  }
15583
15584  public static final class UserManager.EnforcingUser implements android.os.Parcelable {
15585    method public int describeContents();
15586    method public android.os.UserHandle getUserHandle();
15587    method @android.os.UserManager.UserRestrictionSource public int getUserRestrictionSource();
15588    method public void writeToParcel(android.os.Parcel, int);
15589    field @NonNull public static final android.os.Parcelable.Creator<android.os.UserManager.EnforcingUser> CREATOR;
15590  }
15591
15592  @IntDef(flag=true, prefix={"RESTRICTION_"}, value={android.os.UserManager.RESTRICTION_NOT_SET, android.os.UserManager.RESTRICTION_SOURCE_SYSTEM, android.os.UserManager.RESTRICTION_SOURCE_DEVICE_OWNER, android.os.UserManager.RESTRICTION_SOURCE_PROFILE_OWNER}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface UserManager.UserRestrictionSource {
15593  }
15594
15595  public abstract class Vibrator {
15596    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void addVibratorStateListener(@NonNull android.os.Vibrator.OnVibratorStateChangedListener);
15597    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void addVibratorStateListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.Vibrator.OnVibratorStateChangedListener);
15598    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public boolean isVibrating();
15599    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void removeVibratorStateListener(@NonNull android.os.Vibrator.OnVibratorStateChangedListener);
15600  }
15601
15602  public static interface Vibrator.OnVibratorStateChangedListener {
15603    method public void onVibratorStateChanged(boolean);
15604  }
15605
15606  public class WorkSource implements android.os.Parcelable {
15607    ctor public WorkSource(int);
15608    ctor public WorkSource(int, @NonNull String);
15609    method public android.os.WorkSource.WorkChain createWorkChain();
15610    method @Nullable public String getPackageName(int);
15611    method public int getUid(int);
15612    method @Nullable public java.util.List<android.os.WorkSource.WorkChain> getWorkChains();
15613    method public boolean isEmpty();
15614    method public int size();
15615    method @NonNull public android.os.WorkSource withoutNames();
15616  }
15617
15618  public static final class WorkSource.WorkChain implements android.os.Parcelable {
15619    ctor public WorkSource.WorkChain();
15620    method public android.os.WorkSource.WorkChain addNode(int, @Nullable String);
15621    method public int describeContents();
15622    method public String getAttributionTag();
15623    method public int getAttributionUid();
15624    method public void writeToParcel(android.os.Parcel, int);
15625    field @NonNull public static final android.os.Parcelable.Creator<android.os.WorkSource.WorkChain> CREATOR;
15626  }
15627
15628}
15629
15630package android.os.connectivity {
15631
15632  public final class CellularBatteryStats implements android.os.Parcelable {
15633    method public int describeContents();
15634    method public long getEnergyConsumedMaMillis();
15635    method public long getIdleTimeMillis();
15636    method public long getKernelActiveTimeMillis();
15637    method public long getLoggingDurationMillis();
15638    method public long getMonitoredRailChargeConsumedMaMillis();
15639    method public long getNumBytesRx();
15640    method public long getNumBytesTx();
15641    method public long getNumPacketsRx();
15642    method public long getNumPacketsTx();
15643    method public long getRxTimeMillis();
15644    method public long getSleepTimeMillis();
15645    method @NonNull public long getTimeInRatMicros(int);
15646    method @NonNull public long getTimeInRxSignalStrengthLevelMicros(@IntRange(from=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN, to=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_GREAT) int);
15647    method public void writeToParcel(@NonNull android.os.Parcel, int);
15648    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.CellularBatteryStats> CREATOR;
15649  }
15650
15651  public final class WifiActivityEnergyInfo implements android.os.Parcelable {
15652    ctor public WifiActivityEnergyInfo(long, int, @IntRange(from=0) long, @IntRange(from=0) long, @IntRange(from=0) long, @IntRange(from=0) long);
15653    method public int describeContents();
15654    method @IntRange(from=0) public long getControllerEnergyUsedMicroJoules();
15655    method @IntRange(from=0) public long getControllerIdleDurationMillis();
15656    method @IntRange(from=0) public long getControllerRxDurationMillis();
15657    method @IntRange(from=0) public long getControllerScanDurationMillis();
15658    method @IntRange(from=0) public long getControllerTxDurationMillis();
15659    method public int getStackState();
15660    method public long getTimeSinceBootMillis();
15661    method public void writeToParcel(@NonNull android.os.Parcel, int);
15662    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.WifiActivityEnergyInfo> CREATOR;
15663    field public static final int STACK_STATE_INVALID = 0; // 0x0
15664    field public static final int STACK_STATE_STATE_ACTIVE = 1; // 0x1
15665    field public static final int STACK_STATE_STATE_IDLE = 3; // 0x3
15666    field public static final int STACK_STATE_STATE_SCANNING = 2; // 0x2
15667  }
15668
15669  public final class WifiBatteryStats implements android.os.Parcelable {
15670    method public int describeContents();
15671    method public long getAppScanRequestCount();
15672    method public long getEnergyConsumedMaMillis();
15673    method public long getIdleTimeMillis();
15674    method public long getKernelActiveTimeMillis();
15675    method public long getLoggingDurationMillis();
15676    method public long getMonitoredRailChargeConsumedMaMillis();
15677    method public long getNumBytesRx();
15678    method public long getNumBytesTx();
15679    method public long getNumPacketsRx();
15680    method public long getNumPacketsTx();
15681    method public long getRxTimeMillis();
15682    method public long getScanTimeMillis();
15683    method public long getSleepTimeMillis();
15684    method public long getTxTimeMillis();
15685    method public void writeToParcel(@NonNull android.os.Parcel, int);
15686    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.WifiBatteryStats> CREATOR;
15687  }
15688
15689}
15690
15691package android.os.image {
15692
15693  public class DynamicSystemClient {
15694    ctor public DynamicSystemClient(@NonNull android.content.Context);
15695    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void bind();
15696    method public void setOnStatusChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.image.DynamicSystemClient.OnStatusChangedListener);
15697    method public void setOnStatusChangedListener(@NonNull android.os.image.DynamicSystemClient.OnStatusChangedListener);
15698    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void start(@NonNull android.net.Uri, long);
15699    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void start(@NonNull android.net.Uri, long, long);
15700    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void unbind();
15701    field public static final int CAUSE_ERROR_EXCEPTION = 6; // 0x6
15702    field public static final int CAUSE_ERROR_INVALID_URL = 4; // 0x4
15703    field public static final int CAUSE_ERROR_IO = 3; // 0x3
15704    field public static final int CAUSE_ERROR_IPC = 5; // 0x5
15705    field public static final int CAUSE_INSTALL_CANCELLED = 2; // 0x2
15706    field public static final int CAUSE_INSTALL_COMPLETED = 1; // 0x1
15707    field public static final int CAUSE_NOT_SPECIFIED = 0; // 0x0
15708    field public static final int STATUS_IN_PROGRESS = 2; // 0x2
15709    field public static final int STATUS_IN_USE = 4; // 0x4
15710    field public static final int STATUS_NOT_STARTED = 1; // 0x1
15711    field public static final int STATUS_READY = 3; // 0x3
15712    field public static final int STATUS_UNKNOWN = 0; // 0x0
15713  }
15714
15715  public static interface DynamicSystemClient.OnStatusChangedListener {
15716    method public void onStatusChanged(int, int, long, @Nullable Throwable);
15717  }
15718
15719}
15720
15721package android.os.storage {
15722
15723  public class StorageManager {
15724    method @WorkerThread public void allocateBytes(@NonNull java.util.UUID, long, @RequiresPermission int) throws java.io.IOException;
15725    method @WorkerThread public void allocateBytes(java.io.FileDescriptor, long, @RequiresPermission int) throws java.io.IOException;
15726    method @WorkerThread public long getAllocatableBytes(@NonNull java.util.UUID, @RequiresPermission int) throws java.io.IOException;
15727    method @RequiresPermission(android.Manifest.permission.WRITE_MEDIA_STORAGE) public int getExternalStorageMountMode(int, @NonNull String);
15728    method public static boolean hasIsolatedStorage();
15729    method public void updateExternalStorageFileQuotaType(@NonNull java.io.File, int) throws java.io.IOException;
15730    field @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public static final int FLAG_ALLOCATE_AGGRESSIVE = 1; // 0x1
15731    field public static final int MOUNT_MODE_EXTERNAL_ANDROID_WRITABLE = 4; // 0x4
15732    field public static final int MOUNT_MODE_EXTERNAL_DEFAULT = 1; // 0x1
15733    field public static final int MOUNT_MODE_EXTERNAL_INSTALLER = 2; // 0x2
15734    field public static final int MOUNT_MODE_EXTERNAL_NONE = 0; // 0x0
15735    field public static final int MOUNT_MODE_EXTERNAL_PASS_THROUGH = 3; // 0x3
15736    field public static final int QUOTA_TYPE_MEDIA_AUDIO = 2; // 0x2
15737    field public static final int QUOTA_TYPE_MEDIA_IMAGE = 1; // 0x1
15738    field public static final int QUOTA_TYPE_MEDIA_NONE = 0; // 0x0
15739    field public static final int QUOTA_TYPE_MEDIA_VIDEO = 3; // 0x3
15740  }
15741
15742  public final class StorageVolume implements android.os.Parcelable {
15743    method @NonNull public String getId();
15744    method public boolean isExternallyManaged();
15745  }
15746
15747}
15748
15749package android.permission {
15750
15751  public final class AdminPermissionControlParams implements android.os.Parcelable {
15752    method public boolean canAdminGrantSensorsPermissions();
15753    method public int describeContents();
15754    method public int getGrantState();
15755    method @NonNull public String getGranteePackageName();
15756    method @NonNull public String getPermission();
15757    method public void writeToParcel(@NonNull android.os.Parcel, int);
15758    field @NonNull public static final android.os.Parcelable.Creator<android.permission.AdminPermissionControlParams> CREATOR;
15759  }
15760
15761  public final class PermissionControllerManager {
15762    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>);
15763    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void getHibernationEligibility(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.IntConsumer);
15764    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[]>);
15765    method public void getUnusedAppCount(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.IntConsumer);
15766    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);
15767    method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.RESTORE_RUNTIME_PERMISSIONS}) public void stageAndApplyRuntimePermissionsBackup(@NonNull byte[], @NonNull android.os.UserHandle);
15768    field public static final int COUNT_ONLY_WHEN_GRANTED = 1; // 0x1
15769    field public static final int COUNT_WHEN_SYSTEM = 2; // 0x2
15770    field public static final int HIBERNATION_ELIGIBILITY_ELIGIBLE = 0; // 0x0
15771    field public static final int HIBERNATION_ELIGIBILITY_EXEMPT_BY_SYSTEM = 1; // 0x1
15772    field public static final int HIBERNATION_ELIGIBILITY_EXEMPT_BY_USER = 2; // 0x2
15773    field public static final int HIBERNATION_ELIGIBILITY_UNKNOWN = -1; // 0xffffffff
15774    field public static final int REASON_INSTALLER_POLICY_VIOLATION = 2; // 0x2
15775    field public static final int REASON_MALWARE = 1; // 0x1
15776  }
15777
15778  public abstract static class PermissionControllerManager.OnRevokeRuntimePermissionsCallback {
15779    ctor public PermissionControllerManager.OnRevokeRuntimePermissionsCallback();
15780    method public abstract void onRevokeRuntimePermissions(@NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>);
15781  }
15782
15783  public abstract class PermissionControllerService extends android.app.Service {
15784    ctor public PermissionControllerService();
15785    method @NonNull @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public String getPrivilegesDescriptionStringForProfile(@NonNull String);
15786    method @BinderThread public void onApplyStagedRuntimePermissionBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.function.Consumer<java.lang.Boolean>);
15787    method @NonNull public final android.os.IBinder onBind(android.content.Intent);
15788    method @BinderThread public abstract void onCountPermissionApps(@NonNull java.util.List<java.lang.String>, int, @NonNull java.util.function.IntConsumer);
15789    method @BinderThread public abstract void onGetAppPermissions(@NonNull String, @NonNull java.util.function.Consumer<java.util.List<android.permission.RuntimePermissionPresentationInfo>>);
15790    method @BinderThread public void onGetGroupOfPlatformPermission(@NonNull String, @NonNull java.util.function.Consumer<java.lang.String>);
15791    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void onGetHibernationEligibility(@NonNull String, @NonNull java.util.function.IntConsumer);
15792    method @BinderThread public abstract void onGetPermissionUsages(boolean, long, @NonNull java.util.function.Consumer<java.util.List<android.permission.RuntimePermissionUsageInfo>>);
15793    method @BinderThread public void onGetPlatformPermissionsForGroup(@NonNull String, @NonNull java.util.function.Consumer<java.util.List<java.lang.String>>);
15794    method @BinderThread public abstract void onGetRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.OutputStream, @NonNull Runnable);
15795    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void onGetUnusedAppCount(@NonNull java.util.function.IntConsumer);
15796    method @BinderThread public abstract void onGrantOrUpgradeDefaultRuntimePermissions(@NonNull Runnable);
15797    method @BinderThread public void onOneTimePermissionSessionTimeout(@NonNull String);
15798    method @Deprecated @BinderThread public void onRestoreDelayedRuntimePermissionsBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.function.Consumer<java.lang.Boolean>);
15799    method @Deprecated @BinderThread public void onRestoreRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable);
15800    method @BinderThread public abstract void onRevokeRuntimePermission(@NonNull String, @NonNull String, @NonNull Runnable);
15801    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>>>);
15802    method @BinderThread public void onRevokeSelfPermissionsOnKill(@NonNull String, @NonNull java.util.List<java.lang.String>, @NonNull Runnable);
15803    method @Deprecated @BinderThread public abstract void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String, @NonNull String, @NonNull String, int, @NonNull java.util.function.Consumer<java.lang.Boolean>);
15804    method @BinderThread public void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String, @NonNull android.permission.AdminPermissionControlParams, @NonNull java.util.function.Consumer<java.lang.Boolean>);
15805    method @BinderThread public void onStageAndApplyRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable);
15806    method @BinderThread public void onUpdateUserSensitivePermissionFlags(int, @NonNull java.util.concurrent.Executor, @NonNull Runnable);
15807    method @BinderThread public void onUpdateUserSensitivePermissionFlags(int, @NonNull Runnable);
15808    field public static final String SERVICE_INTERFACE = "android.permission.PermissionControllerService";
15809  }
15810
15811  public final class PermissionGroupUsage implements android.os.Parcelable {
15812    method public int describeContents();
15813    method @Nullable public CharSequence getAttributionLabel();
15814    method @Nullable public CharSequence getAttributionTag();
15815    method public long getLastAccessTimeMillis();
15816    method @NonNull public String getPackageName();
15817    method @NonNull public String getPermissionGroupName();
15818    method @Nullable public CharSequence getProxyLabel();
15819    method public int getUid();
15820    method public boolean isActive();
15821    method public boolean isPhoneCall();
15822    method public void writeToParcel(@NonNull android.os.Parcel, int);
15823    field @NonNull public static final android.os.Parcelable.Creator<android.permission.PermissionGroupUsage> CREATOR;
15824  }
15825
15826  public final class PermissionManager {
15827    method public int checkDeviceIdentifierAccess(@Nullable String, @Nullable String, @Nullable String, int, int);
15828    method @RequiresPermission(value=android.Manifest.permission.UPDATE_APP_OPS_STATS, conditional=true) public int checkPermissionForDataDelivery(@NonNull String, @NonNull android.content.AttributionSource, @Nullable String);
15829    method @RequiresPermission(value=android.Manifest.permission.UPDATE_APP_OPS_STATS, conditional=true) public int checkPermissionForDataDeliveryFromDataSource(@NonNull String, @NonNull android.content.AttributionSource, @Nullable String);
15830    method public int checkPermissionForPreflight(@NonNull String, @NonNull android.content.AttributionSource);
15831    method @RequiresPermission(value=android.Manifest.permission.UPDATE_APP_OPS_STATS, conditional=true) public int checkPermissionForStartDataDelivery(@NonNull String, @NonNull android.content.AttributionSource, @Nullable String);
15832    method public void finishDataDelivery(@NonNull String, @NonNull android.content.AttributionSource);
15833    method @NonNull @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Set<java.lang.String> getAutoRevokeExemptionGrantedPackages();
15834    method @NonNull @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Set<java.lang.String> getAutoRevokeExemptionRequestedPackages();
15835    method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY, android.Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS}) public int getRuntimePermissionsVersion();
15836    method @NonNull public java.util.List<android.permission.PermissionManager.SplitPermissionInfo> getSplitPermissions();
15837    method @RequiresPermission(anyOf={android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY, android.Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS}) public void setRuntimePermissionsVersion(@IntRange(from=0) int);
15838    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void startOneTimePermissionSession(@NonNull String, long, int, int);
15839    method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void startOneTimePermissionSession(@NonNull String, long, long, int, int);
15840    method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void stopOneTimePermissionSession(@NonNull String);
15841    field @RequiresPermission(android.Manifest.permission.START_REVIEW_PERMISSION_DECISIONS) public static final String ACTION_REVIEW_PERMISSION_DECISIONS = "android.permission.action.REVIEW_PERMISSION_DECISIONS";
15842    field public static final String EXTRA_PERMISSION_USAGES = "android.permission.extra.PERMISSION_USAGES";
15843    field public static final int PERMISSION_GRANTED = 0; // 0x0
15844    field public static final int PERMISSION_HARD_DENIED = 2; // 0x2
15845    field public static final int PERMISSION_SOFT_DENIED = 1; // 0x1
15846  }
15847
15848  public static final class PermissionManager.SplitPermissionInfo {
15849    method @NonNull public java.util.List<java.lang.String> getNewPermissions();
15850    method @NonNull public String getSplitPermission();
15851    method public int getTargetSdk();
15852  }
15853
15854  public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
15855    ctor public RuntimePermissionPresentationInfo(@NonNull CharSequence, boolean, boolean);
15856    method public int describeContents();
15857    method @NonNull public CharSequence getLabel();
15858    method public boolean isGranted();
15859    method public boolean isStandard();
15860    method public void writeToParcel(android.os.Parcel, int);
15861    field @NonNull public static final android.os.Parcelable.Creator<android.permission.RuntimePermissionPresentationInfo> CREATOR;
15862  }
15863
15864  public final class RuntimePermissionUsageInfo implements android.os.Parcelable {
15865    ctor public RuntimePermissionUsageInfo(@NonNull String, int);
15866    method public int describeContents();
15867    method public int getAppAccessCount();
15868    method @NonNull public String getName();
15869    method public void writeToParcel(android.os.Parcel, int);
15870    field @NonNull public static final android.os.Parcelable.Creator<android.permission.RuntimePermissionUsageInfo> CREATOR;
15871  }
15872
15873}
15874
15875package android.permissionpresenterservice {
15876
15877  @Deprecated public abstract class RuntimePermissionPresenterService extends android.app.Service {
15878    ctor @Deprecated public RuntimePermissionPresenterService();
15879    method @Deprecated public final void attachBaseContext(android.content.Context);
15880    method @Deprecated public final android.os.IBinder onBind(android.content.Intent);
15881    method @Deprecated public abstract java.util.List<android.content.pm.permission.RuntimePermissionPresentationInfo> onGetAppPermissions(@NonNull String);
15882    field @Deprecated public static final String SERVICE_INTERFACE = "android.permissionpresenterservice.RuntimePermissionPresenterService";
15883  }
15884
15885}
15886
15887package android.preference {
15888
15889  @Deprecated public class PreferenceManager {
15890    method @Deprecated public boolean isStorageCredentialProtected();
15891    method @Deprecated public void setStorageCredentialProtected();
15892  }
15893
15894}
15895
15896package android.print {
15897
15898  public final class PrintManager {
15899    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public void addPrintServiceRecommendationsChangeListener(@NonNull android.print.PrintManager.PrintServiceRecommendationsChangeListener, @Nullable android.os.Handler);
15900    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public void addPrintServicesChangeListener(@NonNull android.print.PrintManager.PrintServicesChangeListener, @Nullable android.os.Handler);
15901    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public java.util.List<android.printservice.recommendation.RecommendationInfo> getPrintServiceRecommendations();
15902    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public java.util.List<android.printservice.PrintServiceInfo> getPrintServices(int);
15903    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public void removePrintServiceRecommendationsChangeListener(@NonNull android.print.PrintManager.PrintServiceRecommendationsChangeListener);
15904    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public void removePrintServicesChangeListener(@NonNull android.print.PrintManager.PrintServicesChangeListener);
15905    field public static final int ENABLED_SERVICES = 1; // 0x1
15906  }
15907
15908  public static interface PrintManager.PrintServiceRecommendationsChangeListener {
15909    method public void onPrintServiceRecommendationsChanged();
15910  }
15911
15912  public static interface PrintManager.PrintServicesChangeListener {
15913    method public void onPrintServicesChanged();
15914  }
15915
15916}
15917
15918package android.printservice {
15919
15920  public final class PrintServiceInfo implements android.os.Parcelable {
15921    method public int describeContents();
15922    method @NonNull public android.content.ComponentName getComponentName();
15923    method public void writeToParcel(android.os.Parcel, int);
15924    field @NonNull public static final android.os.Parcelable.Creator<android.printservice.PrintServiceInfo> CREATOR;
15925  }
15926
15927}
15928
15929package android.printservice.recommendation {
15930
15931  public final class RecommendationInfo implements android.os.Parcelable {
15932    ctor public RecommendationInfo(@NonNull CharSequence, @NonNull CharSequence, @NonNull java.util.List<java.net.InetAddress>, boolean);
15933    ctor @Deprecated public RecommendationInfo(@NonNull CharSequence, @NonNull CharSequence, @IntRange(from=0) int, boolean);
15934    method public int describeContents();
15935    method @NonNull public java.util.List<java.net.InetAddress> getDiscoveredPrinters();
15936    method public CharSequence getName();
15937    method public int getNumDiscoveredPrinters();
15938    method public CharSequence getPackageName();
15939    method public boolean recommendsMultiVendorService();
15940    method public void writeToParcel(android.os.Parcel, int);
15941    field @NonNull public static final android.os.Parcelable.Creator<android.printservice.recommendation.RecommendationInfo> CREATOR;
15942  }
15943
15944  public abstract class RecommendationService extends android.app.Service {
15945    ctor public RecommendationService();
15946    method public final android.os.IBinder onBind(android.content.Intent);
15947    method public abstract void onConnected();
15948    method public abstract void onDisconnected();
15949    method public final void updateRecommendations(@Nullable java.util.List<android.printservice.recommendation.RecommendationInfo>);
15950    field public static final String SERVICE_INTERFACE = "android.printservice.recommendation.RecommendationService";
15951  }
15952
15953}
15954
15955package android.provider {
15956
15957  public class CallLog {
15958    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>);
15959  }
15960
15961  public static class CallLog.CallComposerLoggingException extends java.lang.Throwable {
15962    ctor public CallLog.CallComposerLoggingException(int);
15963    method public int getErrorCode();
15964    field public static final int ERROR_INPUT_CLOSED = 3; // 0x3
15965    field public static final int ERROR_REMOTE_END_CLOSED = 1; // 0x1
15966    field public static final int ERROR_STORAGE_FULL = 2; // 0x2
15967    field public static final int ERROR_UNKNOWN = 0; // 0x0
15968  }
15969
15970  @Deprecated public static final class ContactsContract.MetadataSync implements android.provider.BaseColumns android.provider.ContactsContract.MetadataSyncColumns {
15971    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_metadata";
15972    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_metadata";
15973    field @Deprecated public static final android.net.Uri CONTENT_URI;
15974    field @Deprecated public static final String METADATA_AUTHORITY = "com.android.contacts.metadata";
15975    field @Deprecated public static final android.net.Uri METADATA_AUTHORITY_URI;
15976  }
15977
15978  @Deprecated protected static interface ContactsContract.MetadataSyncColumns {
15979    field @Deprecated public static final String ACCOUNT_NAME = "account_name";
15980    field @Deprecated public static final String ACCOUNT_TYPE = "account_type";
15981    field @Deprecated public static final String DATA = "data";
15982    field @Deprecated public static final String DATA_SET = "data_set";
15983    field @Deprecated public static final String DELETED = "deleted";
15984    field @Deprecated public static final String RAW_CONTACT_BACKUP_ID = "raw_contact_backup_id";
15985  }
15986
15987  @Deprecated public static final class ContactsContract.MetadataSyncState implements android.provider.BaseColumns android.provider.ContactsContract.MetadataSyncStateColumns {
15988    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_metadata_sync_state";
15989    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_metadata_sync_state";
15990    field @Deprecated public static final android.net.Uri CONTENT_URI;
15991  }
15992
15993  @Deprecated protected static interface ContactsContract.MetadataSyncStateColumns {
15994    field @Deprecated public static final String ACCOUNT_NAME = "account_name";
15995    field @Deprecated public static final String ACCOUNT_TYPE = "account_type";
15996    field @Deprecated public static final String DATA_SET = "data_set";
15997    field @Deprecated public static final String STATE = "state";
15998  }
15999
16000  public static final class ContactsContract.Settings implements android.provider.ContactsContract.SettingsColumns {
16001    method @RequiresPermission(android.Manifest.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS) public static void setDefaultAccount(@NonNull android.content.ContentResolver, @Nullable android.accounts.Account);
16002  }
16003
16004  public static final class ContactsContract.SimContacts {
16005    method @RequiresPermission("android.contacts.permission.MANAGE_SIM_ACCOUNTS") public static void addSimAccount(@NonNull android.content.ContentResolver, @NonNull String, @NonNull String, int, int);
16006    method @RequiresPermission("android.contacts.permission.MANAGE_SIM_ACCOUNTS") public static void removeSimAccounts(@NonNull android.content.ContentResolver, int);
16007  }
16008
16009  public final class DeviceConfig {
16010    method public static void addOnPropertiesChangedListener(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.provider.DeviceConfig.OnPropertiesChangedListener);
16011    method @RequiresPermission(android.Manifest.permission.MONITOR_DEVICE_CONFIG_ACCESS) public static void clearMonitorCallback(@NonNull android.content.ContentResolver);
16012    method @RequiresPermission(anyOf={android.Manifest.permission.WRITE_DEVICE_CONFIG, android.Manifest.permission.WRITE_ALLOWLISTED_DEVICE_CONFIG}) public static boolean deleteProperty(@NonNull String, @NonNull String);
16013    method @NonNull public static java.util.Set<java.lang.String> getAdbWritableFlags();
16014    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static boolean getBoolean(@NonNull String, @NonNull String, boolean);
16015    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static float getFloat(@NonNull String, @NonNull String, float);
16016    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static int getInt(@NonNull String, @NonNull String, int);
16017    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static long getLong(@NonNull String, @NonNull String, long);
16018    method @NonNull @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static android.provider.DeviceConfig.Properties getProperties(@NonNull String, @NonNull java.lang.String...);
16019    method @Nullable @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static String getProperty(@NonNull String, @NonNull String);
16020    method @NonNull public static java.util.List<java.lang.String> getPublicNamespaces();
16021    method @Nullable @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static String getString(@NonNull String, @NonNull String, @Nullable String);
16022    method @RequiresPermission(anyOf={android.Manifest.permission.WRITE_DEVICE_CONFIG, android.Manifest.permission.READ_WRITE_SYNC_DISABLED_MODE_CONFIG}) public static int getSyncDisabledMode();
16023    method public static void removeOnPropertiesChangedListener(@NonNull android.provider.DeviceConfig.OnPropertiesChangedListener);
16024    method @RequiresPermission(anyOf={android.Manifest.permission.WRITE_DEVICE_CONFIG, android.Manifest.permission.WRITE_ALLOWLISTED_DEVICE_CONFIG}) public static void resetToDefaults(int, @Nullable String);
16025    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);
16026    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;
16027    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);
16028    method @RequiresPermission(anyOf={android.Manifest.permission.WRITE_DEVICE_CONFIG, android.Manifest.permission.READ_WRITE_SYNC_DISABLED_MODE_CONFIG}) public static void setSyncDisabledMode(int);
16029    field public static final String NAMESPACE_ACCESSIBILITY = "accessibility";
16030    field public static final String NAMESPACE_ACTIVITY_MANAGER = "activity_manager";
16031    field public static final String NAMESPACE_ACTIVITY_MANAGER_NATIVE_BOOT = "activity_manager_native_boot";
16032    field public static final String NAMESPACE_ADSERVICES = "adservices";
16033    field public static final String NAMESPACE_AMBIENT_CONTEXT_MANAGER_SERVICE = "ambient_context_manager_service";
16034    field public static final String NAMESPACE_ANDROID = "android";
16035    field public static final String NAMESPACE_APPSEARCH = "appsearch";
16036    field public static final String NAMESPACE_APP_COMPAT = "app_compat";
16037    field public static final String NAMESPACE_APP_COMPAT_OVERRIDES = "app_compat_overrides";
16038    field public static final String NAMESPACE_APP_HIBERNATION = "app_hibernation";
16039    field public static final String NAMESPACE_ATTENTION_MANAGER_SERVICE = "attention_manager_service";
16040    field public static final String NAMESPACE_AUTOFILL = "autofill";
16041    field public static final String NAMESPACE_AUTO_PIN_CONFIRMATION = "auto_pin_confirmation";
16042    field public static final String NAMESPACE_BACKUP_AND_RESTORE = "backup_and_restore";
16043    field public static final String NAMESPACE_BATTERY_SAVER = "battery_saver";
16044    field public static final String NAMESPACE_BIOMETRICS = "biometrics";
16045    field public static final String NAMESPACE_BLOBSTORE = "blobstore";
16046    field public static final String NAMESPACE_BLUETOOTH = "bluetooth";
16047    field public static final String NAMESPACE_CAMERA_NATIVE = "camera_native";
16048    field public static final String NAMESPACE_CAPTIVEPORTALLOGIN = "captive_portal_login";
16049    field public static final String NAMESPACE_CELLULAR_SECURITY = "cellular_security";
16050    field public static final String NAMESPACE_CLIPBOARD = "clipboard";
16051    field public static final String NAMESPACE_CONNECTIVITY = "connectivity";
16052    field public static final String NAMESPACE_CONSTRAIN_DISPLAY_APIS = "constrain_display_apis";
16053    field public static final String NAMESPACE_CONTENT_CAPTURE = "content_capture";
16054    field public static final String NAMESPACE_CREDENTIAL = "credential_manager";
16055    field @Deprecated public static final String NAMESPACE_DEX_BOOT = "dex_boot";
16056    field public static final String NAMESPACE_DISPLAY_MANAGER = "display_manager";
16057    field public static final String NAMESPACE_EDGETPU_NATIVE = "edgetpu_native";
16058    field public static final String NAMESPACE_GAME_DRIVER = "game_driver";
16059    field public static final String NAMESPACE_HDMI_CONTROL = "hdmi_control";
16060    field public static final String NAMESPACE_HEALTH_FITNESS = "health_fitness";
16061    field public static final String NAMESPACE_INPUT_METHOD_MANAGER = "input_method_manager";
16062    field public static final String NAMESPACE_INPUT_NATIVE_BOOT = "input_native_boot";
16063    field public static final String NAMESPACE_INTELLIGENCE_ATTENTION = "intelligence_attention";
16064    field public static final String NAMESPACE_JOB_SCHEDULER = "jobscheduler";
16065    field public static final String NAMESPACE_LMKD_NATIVE = "lmkd_native";
16066    field public static final String NAMESPACE_LOCATION = "location";
16067    field public static final String NAMESPACE_MEDIA = "media";
16068    field public static final String NAMESPACE_MEDIA_NATIVE = "media_native";
16069    field public static final String NAMESPACE_NEARBY = "nearby";
16070    field public static final String NAMESPACE_NETD_NATIVE = "netd_native";
16071    field public static final String NAMESPACE_NNAPI_NATIVE = "nnapi_native";
16072    field public static final String NAMESPACE_ON_DEVICE_PERSONALIZATION = "on_device_personalization";
16073    field public static final String NAMESPACE_OTA = "ota";
16074    field public static final String NAMESPACE_PACKAGE_MANAGER_SERVICE = "package_manager_service";
16075    field public static final String NAMESPACE_PERMISSIONS = "permissions";
16076    field public static final String NAMESPACE_PRIVACY = "privacy";
16077    field public static final String NAMESPACE_PROFCOLLECT_NATIVE_BOOT = "profcollect_native_boot";
16078    field public static final String NAMESPACE_REBOOT_READINESS = "reboot_readiness";
16079    field public static final String NAMESPACE_REMOTE_AUTH = "remote_auth";
16080    field public static final String NAMESPACE_ROLLBACK = "rollback";
16081    field public static final String NAMESPACE_ROLLBACK_BOOT = "rollback_boot";
16082    field public static final String NAMESPACE_RUNTIME = "runtime";
16083    field public static final String NAMESPACE_RUNTIME_NATIVE = "runtime_native";
16084    field public static final String NAMESPACE_RUNTIME_NATIVE_BOOT = "runtime_native_boot";
16085    field public static final String NAMESPACE_SCHEDULER = "scheduler";
16086    field public static final String NAMESPACE_SDK_SANDBOX = "sdk_sandbox";
16087    field public static final String NAMESPACE_SELECTION_TOOLBAR = "selection_toolbar";
16088    field public static final String NAMESPACE_STATSD_JAVA = "statsd_java";
16089    field public static final String NAMESPACE_STATSD_JAVA_BOOT = "statsd_java_boot";
16090    field public static final String NAMESPACE_STATSD_NATIVE = "statsd_native";
16091    field public static final String NAMESPACE_STATSD_NATIVE_BOOT = "statsd_native_boot";
16092    field @Deprecated public static final String NAMESPACE_STORAGE = "storage";
16093    field public static final String NAMESPACE_STORAGE_NATIVE_BOOT = "storage_native_boot";
16094    field public static final String NAMESPACE_SURFACE_FLINGER_NATIVE_BOOT = "surface_flinger_native_boot";
16095    field public static final String NAMESPACE_SWCODEC_NATIVE = "swcodec_native";
16096    field public static final String NAMESPACE_SYSTEMUI = "systemui";
16097    field public static final String NAMESPACE_SYSTEM_TIME = "system_time";
16098    field public static final String NAMESPACE_TELEPHONY = "telephony";
16099    field public static final String NAMESPACE_TETHERING = "tethering";
16100    field public static final String NAMESPACE_TEXTCLASSIFIER = "textclassifier";
16101    field public static final String NAMESPACE_UWB = "uwb";
16102    field public static final String NAMESPACE_WEARABLE_SENSING = "wearable_sensing";
16103    field public static final String NAMESPACE_WINDOW_MANAGER_NATIVE_BOOT = "window_manager_native_boot";
16104    field public static final int SYNC_DISABLED_MODE_NONE = 0; // 0x0
16105    field public static final int SYNC_DISABLED_MODE_PERSISTENT = 1; // 0x1
16106    field public static final int SYNC_DISABLED_MODE_UNTIL_REBOOT = 2; // 0x2
16107  }
16108
16109  public static class DeviceConfig.BadConfigException extends java.lang.Exception {
16110    ctor public DeviceConfig.BadConfigException();
16111  }
16112
16113  public static interface DeviceConfig.MonitorCallback {
16114    method public void onDeviceConfigAccess(@NonNull String, @NonNull String);
16115    method public void onNamespaceUpdate(@NonNull String);
16116  }
16117
16118  public static interface DeviceConfig.OnPropertiesChangedListener {
16119    method public void onPropertiesChanged(@NonNull android.provider.DeviceConfig.Properties);
16120  }
16121
16122  public static class DeviceConfig.Properties {
16123    method public boolean getBoolean(@NonNull String, boolean);
16124    method public float getFloat(@NonNull String, float);
16125    method public int getInt(@NonNull String, int);
16126    method @NonNull public java.util.Set<java.lang.String> getKeyset();
16127    method public long getLong(@NonNull String, long);
16128    method @NonNull public String getNamespace();
16129    method @Nullable public String getString(@NonNull String, @Nullable String);
16130  }
16131
16132  public static final class DeviceConfig.Properties.Builder {
16133    ctor public DeviceConfig.Properties.Builder(@NonNull String);
16134    method @NonNull public android.provider.DeviceConfig.Properties build();
16135    method @NonNull public android.provider.DeviceConfig.Properties.Builder setBoolean(@NonNull String, boolean);
16136    method @NonNull public android.provider.DeviceConfig.Properties.Builder setFloat(@NonNull String, float);
16137    method @NonNull public android.provider.DeviceConfig.Properties.Builder setInt(@NonNull String, int);
16138    method @NonNull public android.provider.DeviceConfig.Properties.Builder setLong(@NonNull String, long);
16139    method @NonNull public android.provider.DeviceConfig.Properties.Builder setString(@NonNull String, @Nullable String);
16140  }
16141
16142  public final class DocumentsContract {
16143    method @NonNull public static android.net.Uri buildDocumentUriAsUser(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
16144    method public static boolean isManageMode(@NonNull android.net.Uri);
16145    method @NonNull public static android.net.Uri setManageMode(@NonNull android.net.Uri);
16146    field public static final String ACTION_DOCUMENT_ROOT_SETTINGS = "android.provider.action.DOCUMENT_ROOT_SETTINGS";
16147    field public static final String ACTION_MANAGE_DOCUMENT = "android.provider.action.MANAGE_DOCUMENT";
16148    field public static final String DOWNLOADS_PROVIDER_AUTHORITY = "downloads";
16149    field public static final String EXTERNAL_STORAGE_PROVIDER_AUTHORITY = "com.android.externalstorage.documents";
16150    field public static final String EXTRA_SHOW_ADVANCED = "android.provider.extra.SHOW_ADVANCED";
16151  }
16152
16153  public static final class DocumentsContract.Root {
16154    field public static final int FLAG_ADVANCED = 65536; // 0x10000
16155    field public static final int FLAG_HAS_SETTINGS = 131072; // 0x20000
16156    field public static final int FLAG_REMOVABLE_SD = 262144; // 0x40000
16157    field public static final int FLAG_REMOVABLE_USB = 524288; // 0x80000
16158  }
16159
16160  public final class MediaStore {
16161    method @NonNull public static android.net.Uri rewriteToLegacy(@NonNull android.net.Uri);
16162    method @NonNull @WorkerThread public static android.net.Uri scanFile(@NonNull android.content.ContentResolver, @NonNull java.io.File);
16163    method @WorkerThread public static void scanVolume(@NonNull android.content.ContentResolver, @NonNull String);
16164    method @WorkerThread public static void waitForIdle(@NonNull android.content.ContentResolver);
16165    field public static final String ACTION_USER_SELECT_IMAGES_FOR_APP = "android.provider.action.USER_SELECT_IMAGES_FOR_APP";
16166    field public static final String AUTHORITY_LEGACY = "media_legacy";
16167    field @NonNull public static final android.net.Uri AUTHORITY_LEGACY_URI;
16168    field public static final String QUERY_ARG_DEFER_SCAN = "android:query-arg-defer-scan";
16169  }
16170
16171  public abstract class SearchIndexableData {
16172    ctor public SearchIndexableData();
16173    ctor public SearchIndexableData(android.content.Context);
16174    field public String className;
16175    field public android.content.Context context;
16176    field public boolean enabled;
16177    field public int iconResId;
16178    field public String intentAction;
16179    field public String intentTargetClass;
16180    field public String intentTargetPackage;
16181    field public String key;
16182    field public java.util.Locale locale;
16183    field public String packageName;
16184    field public int rank;
16185    field public int userId;
16186  }
16187
16188  public class SearchIndexableResource extends android.provider.SearchIndexableData {
16189    ctor public SearchIndexableResource(int, int, String, int);
16190    ctor public SearchIndexableResource(android.content.Context);
16191    field public int xmlResId;
16192  }
16193
16194  public class SearchIndexablesContract {
16195    ctor public SearchIndexablesContract();
16196    field public static final int COLUMN_INDEX_NON_INDEXABLE_KEYS_KEY_VALUE = 0; // 0x0
16197    field public static final int COLUMN_INDEX_RAW_CLASS_NAME = 7; // 0x7
16198    field public static final int COLUMN_INDEX_RAW_ENTRIES = 4; // 0x4
16199    field public static final int COLUMN_INDEX_RAW_ICON_RESID = 8; // 0x8
16200    field public static final int COLUMN_INDEX_RAW_INTENT_ACTION = 9; // 0x9
16201    field public static final int COLUMN_INDEX_RAW_INTENT_TARGET_CLASS = 11; // 0xb
16202    field public static final int COLUMN_INDEX_RAW_INTENT_TARGET_PACKAGE = 10; // 0xa
16203    field public static final int COLUMN_INDEX_RAW_KEY = 12; // 0xc
16204    field public static final int COLUMN_INDEX_RAW_KEYWORDS = 5; // 0x5
16205    field public static final int COLUMN_INDEX_RAW_RANK = 0; // 0x0
16206    field public static final int COLUMN_INDEX_RAW_SCREEN_TITLE = 6; // 0x6
16207    field public static final int COLUMN_INDEX_RAW_SUMMARY_OFF = 3; // 0x3
16208    field public static final int COLUMN_INDEX_RAW_SUMMARY_ON = 2; // 0x2
16209    field public static final int COLUMN_INDEX_RAW_TITLE = 1; // 0x1
16210    field public static final int COLUMN_INDEX_RAW_USER_ID = 13; // 0xd
16211    field public static final int COLUMN_INDEX_XML_RES_CLASS_NAME = 2; // 0x2
16212    field public static final int COLUMN_INDEX_XML_RES_ICON_RESID = 3; // 0x3
16213    field public static final int COLUMN_INDEX_XML_RES_INTENT_ACTION = 4; // 0x4
16214    field public static final int COLUMN_INDEX_XML_RES_INTENT_TARGET_CLASS = 6; // 0x6
16215    field public static final int COLUMN_INDEX_XML_RES_INTENT_TARGET_PACKAGE = 5; // 0x5
16216    field public static final int COLUMN_INDEX_XML_RES_RANK = 0; // 0x0
16217    field public static final int COLUMN_INDEX_XML_RES_RESID = 1; // 0x1
16218    field public static final String DYNAMIC_INDEXABLES_RAW = "dynamic_indexables_raw";
16219    field public static final String DYNAMIC_INDEXABLES_RAW_PATH = "settings/dynamic_indexables_raw";
16220    field public static final String INDEXABLES_RAW = "indexables_raw";
16221    field public static final String[] INDEXABLES_RAW_COLUMNS;
16222    field public static final String INDEXABLES_RAW_PATH = "settings/indexables_raw";
16223    field public static final String INDEXABLES_XML_RES = "indexables_xml_res";
16224    field public static final String[] INDEXABLES_XML_RES_COLUMNS;
16225    field public static final String INDEXABLES_XML_RES_PATH = "settings/indexables_xml_res";
16226    field public static final String NON_INDEXABLES_KEYS = "non_indexables_key";
16227    field public static final String[] NON_INDEXABLES_KEYS_COLUMNS;
16228    field public static final String NON_INDEXABLES_KEYS_PATH = "settings/non_indexables_key";
16229    field public static final String PROVIDER_INTERFACE = "android.content.action.SEARCH_INDEXABLES_PROVIDER";
16230    field public static final String SLICE_URI_PAIRS = "slice_uri_pairs";
16231    field @NonNull public static final String[] SLICE_URI_PAIRS_COLUMNS;
16232    field public static final String SLICE_URI_PAIRS_PATH = "settings/slice_uri_pairs";
16233  }
16234
16235  public static class SearchIndexablesContract.BaseColumns {
16236    field public static final String COLUMN_CLASS_NAME = "className";
16237    field public static final String COLUMN_ICON_RESID = "iconResId";
16238    field public static final String COLUMN_INTENT_ACTION = "intentAction";
16239    field public static final String COLUMN_INTENT_TARGET_CLASS = "intentTargetClass";
16240    field public static final String COLUMN_INTENT_TARGET_PACKAGE = "intentTargetPackage";
16241    field public static final String COLUMN_RANK = "rank";
16242  }
16243
16244  public static final class SearchIndexablesContract.NonIndexableKey extends android.provider.SearchIndexablesContract.BaseColumns {
16245    field public static final String COLUMN_KEY_VALUE = "key";
16246    field public static final String MIME_TYPE = "vnd.android.cursor.dir/non_indexables_key";
16247  }
16248
16249  public static final class SearchIndexablesContract.RawData extends android.provider.SearchIndexablesContract.BaseColumns {
16250    field public static final String COLUMN_ENTRIES = "entries";
16251    field public static final String COLUMN_KEY = "key";
16252    field public static final String COLUMN_KEYWORDS = "keywords";
16253    field public static final String COLUMN_SCREEN_TITLE = "screenTitle";
16254    field public static final String COLUMN_SUMMARY_OFF = "summaryOff";
16255    field public static final String COLUMN_SUMMARY_ON = "summaryOn";
16256    field public static final String COLUMN_TITLE = "title";
16257    field public static final String COLUMN_USER_ID = "user_id";
16258    field public static final String MIME_TYPE = "vnd.android.cursor.dir/indexables_raw";
16259  }
16260
16261  public static final class SearchIndexablesContract.SliceUriPairColumns {
16262    field public static final String KEY = "key";
16263    field public static final String SLICE_URI = "slice_uri";
16264  }
16265
16266  public static final class SearchIndexablesContract.XmlResource extends android.provider.SearchIndexablesContract.BaseColumns {
16267    field public static final String COLUMN_XML_RESID = "xmlResId";
16268    field public static final String MIME_TYPE = "vnd.android.cursor.dir/indexables_xml_res";
16269  }
16270
16271  public abstract class SearchIndexablesProvider extends android.content.ContentProvider {
16272    ctor public SearchIndexablesProvider();
16273    method public final int delete(android.net.Uri, String, String[]);
16274    method public String getType(android.net.Uri);
16275    method public final android.net.Uri insert(android.net.Uri, android.content.ContentValues);
16276    method public android.database.Cursor query(android.net.Uri, String[], String, String[], String);
16277    method @Nullable public android.database.Cursor queryDynamicRawData(@Nullable String[]);
16278    method public abstract android.database.Cursor queryNonIndexableKeys(String[]);
16279    method public abstract android.database.Cursor queryRawData(String[]);
16280    method @Nullable public android.database.Cursor querySliceUriPairs();
16281    method public abstract android.database.Cursor queryXmlResources(String[]);
16282    method public final int update(android.net.Uri, android.content.ContentValues, String, String[]);
16283  }
16284
16285  public final class Settings {
16286    method @Deprecated public static boolean checkAndNoteWriteSettingsOperation(@NonNull android.content.Context, int, @NonNull String, boolean);
16287    method public static boolean checkAndNoteWriteSettingsOperation(@NonNull android.content.Context, int, @NonNull String, @Nullable String, boolean);
16288    field public static final String ACTION_ACCESSIBILITY_DETAILS_SETTINGS = "android.settings.ACCESSIBILITY_DETAILS_SETTINGS";
16289    field public static final String ACTION_BEDTIME_SETTINGS = "android.settings.BEDTIME_SETTINGS";
16290    field public static final String ACTION_BUGREPORT_HANDLER_SETTINGS = "android.settings.BUGREPORT_HANDLER_SETTINGS";
16291    field public static final String ACTION_ENTERPRISE_PRIVACY_SETTINGS = "android.settings.ENTERPRISE_PRIVACY_SETTINGS";
16292    field public static final String ACTION_LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS = "android.settings.LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS";
16293    field public static final String ACTION_MANAGE_APP_OVERLAY_PERMISSION = "android.settings.MANAGE_APP_OVERLAY_PERMISSION";
16294    field public static final String ACTION_MANAGE_DOMAIN_URLS = "android.settings.MANAGE_DOMAIN_URLS";
16295    field public static final String ACTION_MANAGE_MORE_DEFAULT_APPS_SETTINGS = "android.settings.MANAGE_MORE_DEFAULT_APPS_SETTINGS";
16296    field public static final String ACTION_NOTIFICATION_POLICY_ACCESS_DETAIL_SETTINGS = "android.settings.NOTIFICATION_POLICY_ACCESS_DETAIL_SETTINGS";
16297    field public static final String ACTION_REQUEST_ENABLE_CONTENT_CAPTURE = "android.settings.REQUEST_ENABLE_CONTENT_CAPTURE";
16298    field public static final String ACTION_SHOW_ADMIN_SUPPORT_DETAILS = "android.settings.SHOW_ADMIN_SUPPORT_DETAILS";
16299    field public static final String ACTION_SHOW_RESTRICTED_SETTING_DIALOG = "android.settings.SHOW_RESTRICTED_SETTING_DIALOG";
16300    field public static final String ACTION_TETHER_PROVISIONING_UI = "android.settings.TETHER_PROVISIONING_UI";
16301    field public static final String ACTION_TETHER_SETTINGS = "android.settings.TETHER_SETTINGS";
16302    field public static final String ACTION_TETHER_UNSUPPORTED_CARRIER_UI = "android.settings.TETHER_UNSUPPORTED_CARRIER_UI";
16303    field public static final String ACTION_USER_SETTINGS = "android.settings.USER_SETTINGS";
16304  }
16305
16306  public static final class Settings.Global extends android.provider.Settings.NameValueTable {
16307    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, @Nullable String, boolean);
16308    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String);
16309    field public static final String AIRPLANE_MODE_TOGGLEABLE_RADIOS = "airplane_mode_toggleable_radios";
16310    field public static final String APP_STANDBY_ENABLED = "app_standby_enabled";
16311    field @Deprecated public static final String AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES = "autofill_compat_mode_allowed_packages";
16312    field public static final String CARRIER_APP_NAMES = "carrier_app_names";
16313    field public static final String CARRIER_APP_WHITELIST = "carrier_app_whitelist";
16314    field public static final String DEFAULT_SM_DP_PLUS = "default_sm_dp_plus";
16315    field public static final String DEVICE_DEMO_MODE = "device_demo_mode";
16316    field public static final String DEVICE_PROVISIONING_MOBILE_DATA_ENABLED = "device_provisioning_mobile_data";
16317    field public static final String EUICC_PROVISIONED = "euicc_provisioned";
16318    field public static final String EUICC_SUPPORTED_COUNTRIES = "euicc_supported_countries";
16319    field public static final String EUICC_UNSUPPORTED_COUNTRIES = "euicc_unsupported_countries";
16320    field public static final String INSTALL_CARRIER_APP_NOTIFICATION_PERSISTENT = "install_carrier_app_notification_persistent";
16321    field public static final String INSTALL_CARRIER_APP_NOTIFICATION_SLEEP_MILLIS = "install_carrier_app_notification_sleep_millis";
16322    field public static final String OTA_DISABLE_AUTOMATIC_UPDATE = "ota_disable_automatic_update";
16323    field public static final String REQUIRE_PASSWORD_TO_DECRYPT = "require_password_to_decrypt";
16324    field public static final String TETHER_OFFLOAD_DISABLED = "tether_offload_disabled";
16325    field public static final String TETHER_SUPPORTED = "tether_supported";
16326    field public static final String THEATER_MODE_ON = "theater_mode_on";
16327    field public static final String WEBVIEW_MULTIPROCESS = "webview_multiprocess";
16328    field public static final String WIFI_BADGING_THRESHOLDS = "wifi_badging_thresholds";
16329    field @Deprecated public static final String WIFI_WAKEUP_ENABLED = "wifi_wakeup_enabled";
16330  }
16331
16332  public static final class Settings.Secure extends android.provider.Settings.NameValueTable {
16333    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, @Nullable String, boolean);
16334    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String);
16335    field @Deprecated public static final String ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED = "accessibility_display_magnification_navbar_enabled";
16336    field public static final String ASSIST_GESTURE_SETUP_COMPLETE = "assist_gesture_setup_complete";
16337    field public static final String AUTOFILL_FEATURE_FIELD_CLASSIFICATION = "autofill_field_classification";
16338    field public static final String AUTOFILL_USER_DATA_MAX_CATEGORY_COUNT = "autofill_user_data_max_category_count";
16339    field public static final String AUTOFILL_USER_DATA_MAX_FIELD_CLASSIFICATION_IDS_SIZE = "autofill_user_data_max_field_classification_size";
16340    field public static final String AUTOFILL_USER_DATA_MAX_USER_DATA_SIZE = "autofill_user_data_max_user_data_size";
16341    field public static final String AUTOFILL_USER_DATA_MAX_VALUE_LENGTH = "autofill_user_data_max_value_length";
16342    field public static final String AUTOFILL_USER_DATA_MIN_VALUE_LENGTH = "autofill_user_data_min_value_length";
16343    field public static final String AUTO_REVOKE_DISABLED = "auto_revoke_disabled";
16344    field public static final String COMPLETED_CATEGORY_PREFIX = "suggested.completed_category.";
16345    field public static final String DOZE_ALWAYS_ON = "doze_always_on";
16346    field public static final String HUSH_GESTURE_USED = "hush_gesture_used";
16347    field public static final String INSTANT_APPS_ENABLED = "instant_apps_enabled";
16348    field public static final String LAST_SETUP_SHOWN = "last_setup_shown";
16349    field @Deprecated public static final String LOCATION_ACCESS_CHECK_DELAY_MILLIS = "location_access_check_delay_millis";
16350    field @Deprecated public static final String LOCATION_ACCESS_CHECK_INTERVAL_MILLIS = "location_access_check_interval_millis";
16351    field public static final int LOCATION_MODE_ON = 3; // 0x3
16352    field @Deprecated public static final String LOCATION_PERMISSIONS_UPGRADE_TO_Q_MODE = "location_permissions_upgrade_to_q_mode";
16353    field public static final String LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS = "lock_screen_allow_private_notifications";
16354    field public static final String LOCK_SCREEN_SHOW_NOTIFICATIONS = "lock_screen_show_notifications";
16355    field public static final String ODI_CAPTIONS_ENABLED = "odi_captions_enabled";
16356    field public static final String THEME_CUSTOMIZATION_OVERLAY_PACKAGES = "theme_customization_overlay_packages";
16357    field public static final String UI_TRANSLATION_ENABLED = "ui_translation_enabled";
16358    field public static final String USER_SETUP_COMPLETE = "user_setup_complete";
16359    field public static final int USER_SETUP_PERSONALIZATION_COMPLETE = 10; // 0xa
16360    field public static final int USER_SETUP_PERSONALIZATION_NOT_STARTED = 0; // 0x0
16361    field public static final int USER_SETUP_PERSONALIZATION_PAUSED = 2; // 0x2
16362    field public static final int USER_SETUP_PERSONALIZATION_STARTED = 1; // 0x1
16363    field public static final String USER_SETUP_PERSONALIZATION_STATE = "user_setup_personalization_state";
16364    field public static final String VOLUME_HUSH_GESTURE = "volume_hush_gesture";
16365    field public static final int VOLUME_HUSH_MUTE = 2; // 0x2
16366    field public static final int VOLUME_HUSH_OFF = 0; // 0x0
16367    field public static final int VOLUME_HUSH_VIBRATE = 1; // 0x1
16368  }
16369
16370  public static final class Settings.System extends android.provider.Settings.NameValueTable {
16371    method @RequiresPermission(android.Manifest.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, boolean);
16372  }
16373
16374  public static final class SimPhonebookContract.SimRecords {
16375    field public static final String QUERY_ARG_PIN2 = "android:query-arg-pin2";
16376  }
16377
16378  public static final class Telephony.Carriers implements android.provider.BaseColumns {
16379    field public static final String APN_SET_ID = "apn_set_id";
16380    field public static final int CARRIER_EDITED = 4; // 0x4
16381    field public static final String EDITED_STATUS = "edited";
16382    field public static final int MATCH_ALL_APN_SET_ID = -1; // 0xffffffff
16383    field public static final String MAX_CONNECTIONS = "max_conns";
16384    field public static final String MODEM_PERSIST = "modem_cognitive";
16385    field @Deprecated public static final String MTU = "mtu";
16386    field public static final String MTU_V4 = "mtu_v4";
16387    field public static final String MTU_V6 = "mtu_v6";
16388    field public static final int NO_APN_SET_ID = 0; // 0x0
16389    field public static final String TIME_LIMIT_FOR_MAX_CONNECTIONS = "max_conns_time";
16390    field public static final int UNEDITED = 0; // 0x0
16391    field public static final int USER_DELETED = 2; // 0x2
16392    field public static final String USER_EDITABLE = "user_editable";
16393    field public static final int USER_EDITED = 1; // 0x1
16394    field public static final String USER_VISIBLE = "user_visible";
16395    field public static final String WAIT_TIME_RETRY = "wait_time";
16396  }
16397
16398  public static final class Telephony.CellBroadcasts implements android.provider.BaseColumns {
16399    field @NonNull public static final String AUTHORITY_LEGACY = "cellbroadcast-legacy";
16400    field @NonNull public static final android.net.Uri AUTHORITY_LEGACY_URI;
16401    field @NonNull public static final String CALL_METHOD_GET_PREFERENCE = "get_preference";
16402    field public static final String CID = "cid";
16403    field public static final String CMAS_CATEGORY = "cmas_category";
16404    field public static final String CMAS_CERTAINTY = "cmas_certainty";
16405    field public static final String CMAS_MESSAGE_CLASS = "cmas_message_class";
16406    field public static final String CMAS_RESPONSE_TYPE = "cmas_response_type";
16407    field public static final String CMAS_SEVERITY = "cmas_severity";
16408    field public static final String CMAS_URGENCY = "cmas_urgency";
16409    field @NonNull public static final android.net.Uri CONTENT_URI;
16410    field public static final String DATA_CODING_SCHEME = "dcs";
16411    field public static final String DEFAULT_SORT_ORDER = "date DESC";
16412    field public static final String DELIVERY_TIME = "date";
16413    field public static final String ETWS_IS_PRIMARY = "etws_is_primary";
16414    field public static final String ETWS_WARNING_TYPE = "etws_warning_type";
16415    field public static final String GEOGRAPHICAL_SCOPE = "geo_scope";
16416    field public static final String GEOMETRIES = "geometries";
16417    field public static final String LAC = "lac";
16418    field public static final String LANGUAGE_CODE = "language";
16419    field public static final String LOCATION_CHECK_TIME = "location_check_time";
16420    field public static final String MAXIMUM_WAIT_TIME = "maximum_wait_time";
16421    field public static final String MESSAGE_BODY = "body";
16422    field public static final String MESSAGE_BROADCASTED = "message_broadcasted";
16423    field public static final String MESSAGE_DISPLAYED = "message_displayed";
16424    field public static final String MESSAGE_FORMAT = "format";
16425    field @NonNull @RequiresPermission(android.Manifest.permission.READ_CELL_BROADCASTS) public static final android.net.Uri MESSAGE_HISTORY_URI;
16426    field public static final String MESSAGE_PRIORITY = "priority";
16427    field public static final String MESSAGE_READ = "read";
16428    field public static final String PLMN = "plmn";
16429    field public static final String RECEIVED_TIME = "received_time";
16430    field public static final String SERIAL_NUMBER = "serial_number";
16431    field public static final String SERVICE_CATEGORY = "service_category";
16432    field public static final String SLOT_INDEX = "slot_index";
16433    field public static final String SUBSCRIPTION_ID = "sub_id";
16434  }
16435
16436  public static final class Telephony.CellBroadcasts.Preference {
16437    field @NonNull public static final String ENABLE_ALERT_VIBRATION_PREF = "enable_alert_vibrate";
16438    field @NonNull public static final String ENABLE_AREA_UPDATE_INFO_PREF = "enable_area_update_info_alerts";
16439    field @NonNull public static final String ENABLE_CMAS_AMBER_PREF = "enable_cmas_amber_alerts";
16440    field @NonNull public static final String ENABLE_CMAS_EXTREME_THREAT_PREF = "enable_cmas_extreme_threat_alerts";
16441    field @NonNull public static final String ENABLE_CMAS_IN_SECOND_LANGUAGE_PREF = "receive_cmas_in_second_language";
16442    field @NonNull public static final String ENABLE_CMAS_PRESIDENTIAL_PREF = "enable_cmas_presidential_alerts";
16443    field @NonNull public static final String ENABLE_CMAS_SEVERE_THREAT_PREF = "enable_cmas_severe_threat_alerts";
16444    field @NonNull public static final String ENABLE_EMERGENCY_PERF = "enable_emergency_alerts";
16445    field @NonNull public static final String ENABLE_PUBLIC_SAFETY_PREF = "enable_public_safety_messages";
16446    field @NonNull public static final String ENABLE_STATE_LOCAL_TEST_PREF = "enable_state_local_test_alerts";
16447    field @NonNull public static final String ENABLE_TEST_ALERT_PREF = "enable_test_alerts";
16448  }
16449
16450  public static final class Telephony.Sms.Intents {
16451    field public static final String ACTION_SMS_EMERGENCY_CB_RECEIVED = "android.provider.action.SMS_EMERGENCY_CB_RECEIVED";
16452  }
16453
16454  public final class TimeZoneRulesDataContract {
16455    field public static final String AUTHORITY = "com.android.timezone";
16456  }
16457
16458  public static final class TimeZoneRulesDataContract.Operation {
16459    field public static final String COLUMN_DISTRO_MAJOR_VERSION = "distro_major_version";
16460    field public static final String COLUMN_DISTRO_MINOR_VERSION = "distro_minor_version";
16461    field public static final String COLUMN_REVISION = "revision";
16462    field public static final String COLUMN_RULES_VERSION = "rules_version";
16463    field public static final String COLUMN_TYPE = "type";
16464    field public static final android.net.Uri CONTENT_URI;
16465    field public static final String TYPE_INSTALL = "INSTALL";
16466    field public static final String TYPE_NO_OP = "NOOP";
16467    field public static final String TYPE_UNINSTALL = "UNINSTALL";
16468  }
16469
16470  public final class UpdatableDeviceConfigServiceReadiness {
16471    method public static boolean shouldStartUpdatableService();
16472  }
16473
16474}
16475
16476package android.safetycenter {
16477
16478  public final class SafetyCenterData implements android.os.Parcelable {
16479    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>);
16480    method public int describeContents();
16481    method @NonNull public java.util.List<android.safetycenter.SafetyCenterIssue> getDismissedIssues();
16482    method @NonNull public java.util.List<android.safetycenter.SafetyCenterEntryOrGroup> getEntriesOrGroups();
16483    method @NonNull public android.os.Bundle getExtras();
16484    method @NonNull public java.util.List<android.safetycenter.SafetyCenterIssue> getIssues();
16485    method @NonNull public java.util.List<android.safetycenter.SafetyCenterStaticEntryGroup> getStaticEntryGroups();
16486    method @NonNull public android.safetycenter.SafetyCenterStatus getStatus();
16487    method public void writeToParcel(@NonNull android.os.Parcel, int);
16488    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterData> CREATOR;
16489  }
16490
16491  public static final class SafetyCenterData.Builder {
16492    ctor public SafetyCenterData.Builder(@NonNull android.safetycenter.SafetyCenterStatus);
16493    ctor public SafetyCenterData.Builder(@NonNull android.safetycenter.SafetyCenterData);
16494    method @NonNull public android.safetycenter.SafetyCenterData.Builder addDismissedIssue(@NonNull android.safetycenter.SafetyCenterIssue);
16495    method @NonNull public android.safetycenter.SafetyCenterData.Builder addEntryOrGroup(@NonNull android.safetycenter.SafetyCenterEntryOrGroup);
16496    method @NonNull public android.safetycenter.SafetyCenterData.Builder addIssue(@NonNull android.safetycenter.SafetyCenterIssue);
16497    method @NonNull public android.safetycenter.SafetyCenterData.Builder addStaticEntryGroup(@NonNull android.safetycenter.SafetyCenterStaticEntryGroup);
16498    method @NonNull public android.safetycenter.SafetyCenterData build();
16499    method @NonNull public android.safetycenter.SafetyCenterData.Builder clearDismissedIssues();
16500    method @NonNull public android.safetycenter.SafetyCenterData.Builder clearEntriesOrGroups();
16501    method @NonNull public android.safetycenter.SafetyCenterData.Builder clearExtras();
16502    method @NonNull public android.safetycenter.SafetyCenterData.Builder clearIssues();
16503    method @NonNull public android.safetycenter.SafetyCenterData.Builder clearStaticEntryGroups();
16504    method @NonNull public android.safetycenter.SafetyCenterData.Builder setExtras(@NonNull android.os.Bundle);
16505  }
16506
16507  public final class SafetyCenterEntry implements android.os.Parcelable {
16508    method public int describeContents();
16509    method @Nullable public android.safetycenter.SafetyCenterEntry.IconAction getIconAction();
16510    method @NonNull public String getId();
16511    method @Nullable public android.app.PendingIntent getPendingIntent();
16512    method public int getSeverityLevel();
16513    method public int getSeverityUnspecifiedIconType();
16514    method @Nullable public CharSequence getSummary();
16515    method @NonNull public CharSequence getTitle();
16516    method public boolean isEnabled();
16517    method public void writeToParcel(@NonNull android.os.Parcel, int);
16518    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterEntry> CREATOR;
16519    field public static final int ENTRY_SEVERITY_LEVEL_CRITICAL_WARNING = 3400; // 0xd48
16520    field public static final int ENTRY_SEVERITY_LEVEL_OK = 3200; // 0xc80
16521    field public static final int ENTRY_SEVERITY_LEVEL_RECOMMENDATION = 3300; // 0xce4
16522    field public static final int ENTRY_SEVERITY_LEVEL_UNKNOWN = 3000; // 0xbb8
16523    field public static final int ENTRY_SEVERITY_LEVEL_UNSPECIFIED = 3100; // 0xc1c
16524    field public static final int SEVERITY_UNSPECIFIED_ICON_TYPE_NO_ICON = 0; // 0x0
16525    field public static final int SEVERITY_UNSPECIFIED_ICON_TYPE_NO_RECOMMENDATION = 2; // 0x2
16526    field public static final int SEVERITY_UNSPECIFIED_ICON_TYPE_PRIVACY = 1; // 0x1
16527  }
16528
16529  public static final class SafetyCenterEntry.Builder {
16530    ctor public SafetyCenterEntry.Builder(@NonNull String, @NonNull CharSequence);
16531    ctor public SafetyCenterEntry.Builder(@NonNull android.safetycenter.SafetyCenterEntry);
16532    method @NonNull public android.safetycenter.SafetyCenterEntry build();
16533    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setEnabled(boolean);
16534    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setIconAction(@Nullable android.safetycenter.SafetyCenterEntry.IconAction);
16535    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setIconAction(int, @NonNull android.app.PendingIntent);
16536    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setId(@NonNull String);
16537    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setPendingIntent(@Nullable android.app.PendingIntent);
16538    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setSeverityLevel(int);
16539    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setSeverityUnspecifiedIconType(int);
16540    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setSummary(@Nullable CharSequence);
16541    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setTitle(@NonNull CharSequence);
16542  }
16543
16544  public static final class SafetyCenterEntry.IconAction implements android.os.Parcelable {
16545    ctor public SafetyCenterEntry.IconAction(int, @NonNull android.app.PendingIntent);
16546    method public int describeContents();
16547    method @NonNull public android.app.PendingIntent getPendingIntent();
16548    method public int getType();
16549    method public void writeToParcel(@NonNull android.os.Parcel, int);
16550    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterEntry.IconAction> CREATOR;
16551    field public static final int ICON_ACTION_TYPE_GEAR = 30100; // 0x7594
16552    field public static final int ICON_ACTION_TYPE_INFO = 30200; // 0x75f8
16553  }
16554
16555  public final class SafetyCenterEntryGroup implements android.os.Parcelable {
16556    method public int describeContents();
16557    method @NonNull public java.util.List<android.safetycenter.SafetyCenterEntry> getEntries();
16558    method @NonNull public String getId();
16559    method public int getSeverityLevel();
16560    method public int getSeverityUnspecifiedIconType();
16561    method @Nullable public CharSequence getSummary();
16562    method @NonNull public CharSequence getTitle();
16563    method public void writeToParcel(@NonNull android.os.Parcel, int);
16564    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterEntryGroup> CREATOR;
16565  }
16566
16567  public static final class SafetyCenterEntryGroup.Builder {
16568    ctor public SafetyCenterEntryGroup.Builder(@NonNull String, @NonNull CharSequence);
16569    ctor public SafetyCenterEntryGroup.Builder(@NonNull android.safetycenter.SafetyCenterEntryGroup);
16570    method @NonNull public android.safetycenter.SafetyCenterEntryGroup build();
16571    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setEntries(@NonNull java.util.List<android.safetycenter.SafetyCenterEntry>);
16572    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setId(@NonNull String);
16573    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setSeverityLevel(int);
16574    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setSeverityUnspecifiedIconType(int);
16575    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setSummary(@Nullable CharSequence);
16576    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setTitle(@NonNull CharSequence);
16577  }
16578
16579  public final class SafetyCenterEntryOrGroup implements android.os.Parcelable {
16580    ctor public SafetyCenterEntryOrGroup(@NonNull android.safetycenter.SafetyCenterEntry);
16581    ctor public SafetyCenterEntryOrGroup(@NonNull android.safetycenter.SafetyCenterEntryGroup);
16582    method public int describeContents();
16583    method @Nullable public android.safetycenter.SafetyCenterEntry getEntry();
16584    method @Nullable public android.safetycenter.SafetyCenterEntryGroup getEntryGroup();
16585    method public void writeToParcel(@NonNull android.os.Parcel, int);
16586    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterEntryOrGroup> CREATOR;
16587  }
16588
16589  public final class SafetyCenterErrorDetails implements android.os.Parcelable {
16590    ctor public SafetyCenterErrorDetails(@NonNull CharSequence);
16591    method public int describeContents();
16592    method @NonNull public CharSequence getErrorMessage();
16593    method public void writeToParcel(@NonNull android.os.Parcel, int);
16594    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterErrorDetails> CREATOR;
16595  }
16596
16597  public final class SafetyCenterIssue implements android.os.Parcelable {
16598    method public int describeContents();
16599    method @NonNull public java.util.List<android.safetycenter.SafetyCenterIssue.Action> getActions();
16600    method @Nullable public CharSequence getAttributionTitle();
16601    method @Nullable public String getGroupId();
16602    method @NonNull public String getId();
16603    method public int getSeverityLevel();
16604    method @Nullable public CharSequence getSubtitle();
16605    method @NonNull public CharSequence getSummary();
16606    method @NonNull public CharSequence getTitle();
16607    method public boolean isDismissible();
16608    method public boolean shouldConfirmDismissal();
16609    method public void writeToParcel(@NonNull android.os.Parcel, int);
16610    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterIssue> CREATOR;
16611    field public static final int ISSUE_SEVERITY_LEVEL_CRITICAL_WARNING = 2300; // 0x8fc
16612    field public static final int ISSUE_SEVERITY_LEVEL_OK = 2100; // 0x834
16613    field public static final int ISSUE_SEVERITY_LEVEL_RECOMMENDATION = 2200; // 0x898
16614  }
16615
16616  public static final class SafetyCenterIssue.Action implements android.os.Parcelable {
16617    method public int describeContents();
16618    method @Nullable public android.safetycenter.SafetyCenterIssue.Action.ConfirmationDialogDetails getConfirmationDialogDetails();
16619    method @NonNull public String getId();
16620    method @NonNull public CharSequence getLabel();
16621    method @NonNull public android.app.PendingIntent getPendingIntent();
16622    method @Nullable public CharSequence getSuccessMessage();
16623    method public boolean isInFlight();
16624    method public boolean willResolve();
16625    method public void writeToParcel(@NonNull android.os.Parcel, int);
16626    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterIssue.Action> CREATOR;
16627  }
16628
16629  public static final class SafetyCenterIssue.Action.Builder {
16630    ctor public SafetyCenterIssue.Action.Builder(@NonNull String, @NonNull CharSequence, @NonNull android.app.PendingIntent);
16631    ctor public SafetyCenterIssue.Action.Builder(@NonNull android.safetycenter.SafetyCenterIssue.Action);
16632    method @NonNull public android.safetycenter.SafetyCenterIssue.Action build();
16633    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setConfirmationDialogDetails(@Nullable android.safetycenter.SafetyCenterIssue.Action.ConfirmationDialogDetails);
16634    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setId(@NonNull String);
16635    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setIsInFlight(boolean);
16636    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setLabel(@NonNull CharSequence);
16637    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setPendingIntent(@NonNull android.app.PendingIntent);
16638    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setSuccessMessage(@Nullable CharSequence);
16639    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setWillResolve(boolean);
16640  }
16641
16642  public static final class SafetyCenterIssue.Action.ConfirmationDialogDetails implements android.os.Parcelable {
16643    ctor public SafetyCenterIssue.Action.ConfirmationDialogDetails(@NonNull CharSequence, @NonNull CharSequence, @NonNull CharSequence, @NonNull CharSequence);
16644    method public int describeContents();
16645    method @NonNull public CharSequence getAcceptButtonText();
16646    method @NonNull public CharSequence getDenyButtonText();
16647    method @NonNull public CharSequence getText();
16648    method @NonNull public CharSequence getTitle();
16649    method public void writeToParcel(@NonNull android.os.Parcel, int);
16650    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterIssue.Action.ConfirmationDialogDetails> CREATOR;
16651  }
16652
16653  public static final class SafetyCenterIssue.Builder {
16654    ctor public SafetyCenterIssue.Builder(@NonNull String, @NonNull CharSequence, @NonNull CharSequence);
16655    ctor public SafetyCenterIssue.Builder(@NonNull android.safetycenter.SafetyCenterIssue);
16656    method @NonNull public android.safetycenter.SafetyCenterIssue build();
16657    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setActions(@NonNull java.util.List<android.safetycenter.SafetyCenterIssue.Action>);
16658    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setAttributionTitle(@Nullable CharSequence);
16659    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setDismissible(boolean);
16660    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setGroupId(@Nullable String);
16661    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setId(@NonNull String);
16662    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setSeverityLevel(int);
16663    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setShouldConfirmDismissal(boolean);
16664    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setSubtitle(@Nullable CharSequence);
16665    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setSummary(@NonNull CharSequence);
16666    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setTitle(@NonNull CharSequence);
16667  }
16668
16669  public final class SafetyCenterManager {
16670    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void addOnSafetyCenterDataChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.safetycenter.SafetyCenterManager.OnSafetyCenterDataChangedListener);
16671    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void clearAllSafetySourceDataForTests();
16672    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void clearSafetyCenterConfigForTests();
16673    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void dismissSafetyCenterIssue(@NonNull String);
16674    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void executeSafetyCenterIssueAction(@NonNull String, @NonNull String);
16675    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public android.safetycenter.config.SafetyCenterConfig getSafetyCenterConfig();
16676    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public android.safetycenter.SafetyCenterData getSafetyCenterData();
16677    method @Nullable @RequiresPermission(android.Manifest.permission.SEND_SAFETY_CENTER_UPDATE) public android.safetycenter.SafetySourceData getSafetySourceData(@NonNull String);
16678    method @RequiresPermission(anyOf={android.Manifest.permission.READ_SAFETY_CENTER_STATUS, android.Manifest.permission.SEND_SAFETY_CENTER_UPDATE}) public boolean isSafetyCenterEnabled();
16679    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void refreshSafetySources(int);
16680    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void refreshSafetySources(int, @NonNull java.util.List<java.lang.String>);
16681    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void removeOnSafetyCenterDataChangedListener(@NonNull android.safetycenter.SafetyCenterManager.OnSafetyCenterDataChangedListener);
16682    method @RequiresPermission(android.Manifest.permission.SEND_SAFETY_CENTER_UPDATE) public void reportSafetySourceError(@NonNull String, @NonNull android.safetycenter.SafetySourceErrorDetails);
16683    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void setSafetyCenterConfigForTests(@NonNull android.safetycenter.config.SafetyCenterConfig);
16684    method @RequiresPermission(android.Manifest.permission.SEND_SAFETY_CENTER_UPDATE) public void setSafetySourceData(@NonNull String, @Nullable android.safetycenter.SafetySourceData, @NonNull android.safetycenter.SafetyEvent);
16685    field public static final String ACTION_REFRESH_SAFETY_SOURCES = "android.safetycenter.action.REFRESH_SAFETY_SOURCES";
16686    field public static final String ACTION_SAFETY_CENTER_ENABLED_CHANGED = "android.safetycenter.action.SAFETY_CENTER_ENABLED_CHANGED";
16687    field public static final int EXTRA_REFRESH_REQUEST_TYPE_FETCH_FRESH_DATA = 0; // 0x0
16688    field public static final int EXTRA_REFRESH_REQUEST_TYPE_GET_DATA = 1; // 0x1
16689    field public static final String EXTRA_REFRESH_SAFETY_SOURCES_BROADCAST_ID = "android.safetycenter.extra.REFRESH_SAFETY_SOURCES_BROADCAST_ID";
16690    field public static final String EXTRA_REFRESH_SAFETY_SOURCES_REQUEST_TYPE = "android.safetycenter.extra.REFRESH_SAFETY_SOURCES_REQUEST_TYPE";
16691    field public static final String EXTRA_REFRESH_SAFETY_SOURCE_IDS = "android.safetycenter.extra.REFRESH_SAFETY_SOURCE_IDS";
16692    field public static final String EXTRA_SAFETY_SOURCES_GROUP_ID = "android.safetycenter.extra.SAFETY_SOURCES_GROUP_ID";
16693    field public static final String EXTRA_SAFETY_SOURCE_ID = "android.safetycenter.extra.SAFETY_SOURCE_ID";
16694    field public static final String EXTRA_SAFETY_SOURCE_ISSUE_ID = "android.safetycenter.extra.SAFETY_SOURCE_ISSUE_ID";
16695    field public static final String EXTRA_SAFETY_SOURCE_USER_HANDLE = "android.safetycenter.extra.SAFETY_SOURCE_USER_HANDLE";
16696    field public static final int REFRESH_REASON_DEVICE_LOCALE_CHANGE = 400; // 0x190
16697    field public static final int REFRESH_REASON_DEVICE_REBOOT = 300; // 0x12c
16698    field public static final int REFRESH_REASON_OTHER = 600; // 0x258
16699    field public static final int REFRESH_REASON_PAGE_OPEN = 100; // 0x64
16700    field public static final int REFRESH_REASON_PERIODIC = 700; // 0x2bc
16701    field public static final int REFRESH_REASON_RESCAN_BUTTON_CLICK = 200; // 0xc8
16702    field public static final int REFRESH_REASON_SAFETY_CENTER_ENABLED = 500; // 0x1f4
16703  }
16704
16705  public static interface SafetyCenterManager.OnSafetyCenterDataChangedListener {
16706    method public default void onError(@NonNull android.safetycenter.SafetyCenterErrorDetails);
16707    method public void onSafetyCenterDataChanged(@NonNull android.safetycenter.SafetyCenterData);
16708  }
16709
16710  public final class SafetyCenterStaticEntry implements android.os.Parcelable {
16711    method public int describeContents();
16712    method @Nullable public android.app.PendingIntent getPendingIntent();
16713    method @Nullable public CharSequence getSummary();
16714    method @NonNull public CharSequence getTitle();
16715    method public void writeToParcel(@NonNull android.os.Parcel, int);
16716    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterStaticEntry> CREATOR;
16717  }
16718
16719  public static final class SafetyCenterStaticEntry.Builder {
16720    ctor public SafetyCenterStaticEntry.Builder(@NonNull CharSequence);
16721    ctor public SafetyCenterStaticEntry.Builder(@NonNull android.safetycenter.SafetyCenterStaticEntry);
16722    method @NonNull public android.safetycenter.SafetyCenterStaticEntry build();
16723    method @NonNull public android.safetycenter.SafetyCenterStaticEntry.Builder setPendingIntent(@Nullable android.app.PendingIntent);
16724    method @NonNull public android.safetycenter.SafetyCenterStaticEntry.Builder setSummary(@Nullable CharSequence);
16725    method @NonNull public android.safetycenter.SafetyCenterStaticEntry.Builder setTitle(@NonNull CharSequence);
16726  }
16727
16728  public final class SafetyCenterStaticEntryGroup implements android.os.Parcelable {
16729    ctor public SafetyCenterStaticEntryGroup(@NonNull CharSequence, @NonNull java.util.List<android.safetycenter.SafetyCenterStaticEntry>);
16730    method public int describeContents();
16731    method @NonNull public java.util.List<android.safetycenter.SafetyCenterStaticEntry> getStaticEntries();
16732    method @NonNull public CharSequence getTitle();
16733    method public void writeToParcel(@NonNull android.os.Parcel, int);
16734    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterStaticEntryGroup> CREATOR;
16735  }
16736
16737  public final class SafetyCenterStatus implements android.os.Parcelable {
16738    method public int describeContents();
16739    method public int getRefreshStatus();
16740    method public int getSeverityLevel();
16741    method @NonNull public CharSequence getSummary();
16742    method @NonNull public CharSequence getTitle();
16743    method public void writeToParcel(@NonNull android.os.Parcel, int);
16744    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterStatus> CREATOR;
16745    field public static final int OVERALL_SEVERITY_LEVEL_CRITICAL_WARNING = 1300; // 0x514
16746    field public static final int OVERALL_SEVERITY_LEVEL_OK = 1100; // 0x44c
16747    field public static final int OVERALL_SEVERITY_LEVEL_RECOMMENDATION = 1200; // 0x4b0
16748    field public static final int OVERALL_SEVERITY_LEVEL_UNKNOWN = 1000; // 0x3e8
16749    field public static final int REFRESH_STATUS_DATA_FETCH_IN_PROGRESS = 10100; // 0x2774
16750    field public static final int REFRESH_STATUS_FULL_RESCAN_IN_PROGRESS = 10200; // 0x27d8
16751    field public static final int REFRESH_STATUS_NONE = 0; // 0x0
16752  }
16753
16754  public static final class SafetyCenterStatus.Builder {
16755    ctor public SafetyCenterStatus.Builder(@NonNull CharSequence, @NonNull CharSequence);
16756    ctor public SafetyCenterStatus.Builder(@NonNull android.safetycenter.SafetyCenterStatus);
16757    method @NonNull public android.safetycenter.SafetyCenterStatus build();
16758    method @NonNull public android.safetycenter.SafetyCenterStatus.Builder setRefreshStatus(int);
16759    method @NonNull public android.safetycenter.SafetyCenterStatus.Builder setSeverityLevel(int);
16760    method @NonNull public android.safetycenter.SafetyCenterStatus.Builder setSummary(@NonNull CharSequence);
16761    method @NonNull public android.safetycenter.SafetyCenterStatus.Builder setTitle(@NonNull CharSequence);
16762  }
16763
16764  public final class SafetyEvent implements android.os.Parcelable {
16765    method public int describeContents();
16766    method @Nullable public String getRefreshBroadcastId();
16767    method @Nullable public String getSafetySourceIssueActionId();
16768    method @Nullable public String getSafetySourceIssueId();
16769    method public int getType();
16770    method public void writeToParcel(@NonNull android.os.Parcel, int);
16771    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyEvent> CREATOR;
16772    field public static final int SAFETY_EVENT_TYPE_DEVICE_LOCALE_CHANGED = 500; // 0x1f4
16773    field public static final int SAFETY_EVENT_TYPE_DEVICE_REBOOTED = 600; // 0x258
16774    field public static final int SAFETY_EVENT_TYPE_REFRESH_REQUESTED = 200; // 0xc8
16775    field public static final int SAFETY_EVENT_TYPE_RESOLVING_ACTION_FAILED = 400; // 0x190
16776    field public static final int SAFETY_EVENT_TYPE_RESOLVING_ACTION_SUCCEEDED = 300; // 0x12c
16777    field public static final int SAFETY_EVENT_TYPE_SOURCE_STATE_CHANGED = 100; // 0x64
16778  }
16779
16780  public static final class SafetyEvent.Builder {
16781    ctor public SafetyEvent.Builder(int);
16782    ctor public SafetyEvent.Builder(@NonNull android.safetycenter.SafetyEvent);
16783    method @NonNull public android.safetycenter.SafetyEvent build();
16784    method @NonNull public android.safetycenter.SafetyEvent.Builder setRefreshBroadcastId(@Nullable String);
16785    method @NonNull public android.safetycenter.SafetyEvent.Builder setSafetySourceIssueActionId(@Nullable String);
16786    method @NonNull public android.safetycenter.SafetyEvent.Builder setSafetySourceIssueId(@Nullable String);
16787  }
16788
16789  public final class SafetySourceData implements android.os.Parcelable {
16790    method public int describeContents();
16791    method @NonNull public android.os.Bundle getExtras();
16792    method @NonNull public java.util.List<android.safetycenter.SafetySourceIssue> getIssues();
16793    method @Nullable public android.safetycenter.SafetySourceStatus getStatus();
16794    method public void writeToParcel(@NonNull android.os.Parcel, int);
16795    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceData> CREATOR;
16796    field public static final int SEVERITY_LEVEL_CRITICAL_WARNING = 400; // 0x190
16797    field public static final int SEVERITY_LEVEL_INFORMATION = 200; // 0xc8
16798    field public static final int SEVERITY_LEVEL_RECOMMENDATION = 300; // 0x12c
16799    field public static final int SEVERITY_LEVEL_UNSPECIFIED = 100; // 0x64
16800  }
16801
16802  public static final class SafetySourceData.Builder {
16803    ctor public SafetySourceData.Builder();
16804    ctor public SafetySourceData.Builder(@NonNull android.safetycenter.SafetySourceData);
16805    method @NonNull public android.safetycenter.SafetySourceData.Builder addIssue(@NonNull android.safetycenter.SafetySourceIssue);
16806    method @NonNull public android.safetycenter.SafetySourceData build();
16807    method @NonNull public android.safetycenter.SafetySourceData.Builder clearExtras();
16808    method @NonNull public android.safetycenter.SafetySourceData.Builder clearIssues();
16809    method @NonNull public android.safetycenter.SafetySourceData.Builder setExtras(@NonNull android.os.Bundle);
16810    method @NonNull public android.safetycenter.SafetySourceData.Builder setStatus(@Nullable android.safetycenter.SafetySourceStatus);
16811  }
16812
16813  public final class SafetySourceErrorDetails implements android.os.Parcelable {
16814    ctor public SafetySourceErrorDetails(@NonNull android.safetycenter.SafetyEvent);
16815    method public int describeContents();
16816    method @NonNull public android.safetycenter.SafetyEvent getSafetyEvent();
16817    method public void writeToParcel(@NonNull android.os.Parcel, int);
16818    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceErrorDetails> CREATOR;
16819  }
16820
16821  public final class SafetySourceIssue implements android.os.Parcelable {
16822    method public int describeContents();
16823    method @NonNull public java.util.List<android.safetycenter.SafetySourceIssue.Action> getActions();
16824    method @Nullable public CharSequence getAttributionTitle();
16825    method @Nullable public android.safetycenter.SafetySourceIssue.Notification getCustomNotification();
16826    method @Nullable public String getDeduplicationId();
16827    method @NonNull public String getId();
16828    method public int getIssueActionability();
16829    method public int getIssueCategory();
16830    method @NonNull public String getIssueTypeId();
16831    method public int getNotificationBehavior();
16832    method @Nullable public android.app.PendingIntent getOnDismissPendingIntent();
16833    method public int getSeverityLevel();
16834    method @Nullable public CharSequence getSubtitle();
16835    method @NonNull public CharSequence getSummary();
16836    method @NonNull public CharSequence getTitle();
16837    method public void writeToParcel(@NonNull android.os.Parcel, int);
16838    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceIssue> CREATOR;
16839    field public static final int ISSUE_ACTIONABILITY_AUTOMATIC = 200; // 0xc8
16840    field public static final int ISSUE_ACTIONABILITY_MANUAL = 0; // 0x0
16841    field public static final int ISSUE_ACTIONABILITY_TIP = 100; // 0x64
16842    field public static final int ISSUE_CATEGORY_ACCOUNT = 200; // 0xc8
16843    field public static final int ISSUE_CATEGORY_DATA = 400; // 0x190
16844    field public static final int ISSUE_CATEGORY_DEVICE = 100; // 0x64
16845    field public static final int ISSUE_CATEGORY_GENERAL = 300; // 0x12c
16846    field public static final int ISSUE_CATEGORY_PASSWORDS = 500; // 0x1f4
16847    field public static final int ISSUE_CATEGORY_PERSONAL_SAFETY = 600; // 0x258
16848    field public static final int NOTIFICATION_BEHAVIOR_DELAYED = 200; // 0xc8
16849    field public static final int NOTIFICATION_BEHAVIOR_IMMEDIATELY = 300; // 0x12c
16850    field public static final int NOTIFICATION_BEHAVIOR_NEVER = 100; // 0x64
16851    field public static final int NOTIFICATION_BEHAVIOR_UNSPECIFIED = 0; // 0x0
16852  }
16853
16854  public static final class SafetySourceIssue.Action implements android.os.Parcelable {
16855    method public int describeContents();
16856    method @Nullable public android.safetycenter.SafetySourceIssue.Action.ConfirmationDialogDetails getConfirmationDialogDetails();
16857    method @NonNull public String getId();
16858    method @NonNull public CharSequence getLabel();
16859    method @NonNull public android.app.PendingIntent getPendingIntent();
16860    method @Nullable public CharSequence getSuccessMessage();
16861    method public boolean willResolve();
16862    method public void writeToParcel(@NonNull android.os.Parcel, int);
16863    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceIssue.Action> CREATOR;
16864  }
16865
16866  public static final class SafetySourceIssue.Action.Builder {
16867    ctor public SafetySourceIssue.Action.Builder(@NonNull String, @NonNull CharSequence, @NonNull android.app.PendingIntent);
16868    ctor public SafetySourceIssue.Action.Builder(@NonNull android.safetycenter.SafetySourceIssue.Action);
16869    method @NonNull public android.safetycenter.SafetySourceIssue.Action build();
16870    method @NonNull public android.safetycenter.SafetySourceIssue.Action.Builder setConfirmationDialogDetails(@Nullable android.safetycenter.SafetySourceIssue.Action.ConfirmationDialogDetails);
16871    method @NonNull public android.safetycenter.SafetySourceIssue.Action.Builder setSuccessMessage(@Nullable CharSequence);
16872    method @NonNull public android.safetycenter.SafetySourceIssue.Action.Builder setWillResolve(boolean);
16873  }
16874
16875  public static final class SafetySourceIssue.Action.ConfirmationDialogDetails implements android.os.Parcelable {
16876    ctor public SafetySourceIssue.Action.ConfirmationDialogDetails(@NonNull CharSequence, @NonNull CharSequence, @NonNull CharSequence, @NonNull CharSequence);
16877    method public int describeContents();
16878    method @NonNull public CharSequence getAcceptButtonText();
16879    method @NonNull public CharSequence getDenyButtonText();
16880    method @NonNull public CharSequence getText();
16881    method @NonNull public CharSequence getTitle();
16882    method public void writeToParcel(@NonNull android.os.Parcel, int);
16883    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceIssue.Action.ConfirmationDialogDetails> CREATOR;
16884  }
16885
16886  public static final class SafetySourceIssue.Builder {
16887    ctor public SafetySourceIssue.Builder(@NonNull String, @NonNull CharSequence, @NonNull CharSequence, int, @NonNull String);
16888    ctor public SafetySourceIssue.Builder(@NonNull android.safetycenter.SafetySourceIssue);
16889    method @NonNull public android.safetycenter.SafetySourceIssue.Builder addAction(@NonNull android.safetycenter.SafetySourceIssue.Action);
16890    method @NonNull public android.safetycenter.SafetySourceIssue build();
16891    method @NonNull public android.safetycenter.SafetySourceIssue.Builder clearActions();
16892    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setAttributionTitle(@Nullable CharSequence);
16893    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setCustomNotification(@Nullable android.safetycenter.SafetySourceIssue.Notification);
16894    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setDeduplicationId(@Nullable String);
16895    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setIssueActionability(int);
16896    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setIssueCategory(int);
16897    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setNotificationBehavior(int);
16898    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setOnDismissPendingIntent(@Nullable android.app.PendingIntent);
16899    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setSubtitle(@Nullable CharSequence);
16900  }
16901
16902  public static final class SafetySourceIssue.Notification implements android.os.Parcelable {
16903    method public int describeContents();
16904    method @NonNull public java.util.List<android.safetycenter.SafetySourceIssue.Action> getActions();
16905    method @NonNull public CharSequence getText();
16906    method @NonNull public CharSequence getTitle();
16907    method public void writeToParcel(@NonNull android.os.Parcel, int);
16908    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceIssue.Notification> CREATOR;
16909  }
16910
16911  public static final class SafetySourceIssue.Notification.Builder {
16912    ctor public SafetySourceIssue.Notification.Builder(@NonNull CharSequence, @NonNull CharSequence);
16913    ctor public SafetySourceIssue.Notification.Builder(@NonNull android.safetycenter.SafetySourceIssue.Notification);
16914    method @NonNull public android.safetycenter.SafetySourceIssue.Notification.Builder addAction(@NonNull android.safetycenter.SafetySourceIssue.Action);
16915    method @NonNull public android.safetycenter.SafetySourceIssue.Notification.Builder addActions(@NonNull java.util.List<android.safetycenter.SafetySourceIssue.Action>);
16916    method @NonNull public android.safetycenter.SafetySourceIssue.Notification build();
16917    method @NonNull public android.safetycenter.SafetySourceIssue.Notification.Builder clearActions();
16918  }
16919
16920  public final class SafetySourceStatus implements android.os.Parcelable {
16921    method public int describeContents();
16922    method @Nullable public android.safetycenter.SafetySourceStatus.IconAction getIconAction();
16923    method @Nullable public android.app.PendingIntent getPendingIntent();
16924    method public int getSeverityLevel();
16925    method @NonNull public CharSequence getSummary();
16926    method @NonNull public CharSequence getTitle();
16927    method public boolean isEnabled();
16928    method public void writeToParcel(@NonNull android.os.Parcel, int);
16929    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceStatus> CREATOR;
16930  }
16931
16932  public static final class SafetySourceStatus.Builder {
16933    ctor public SafetySourceStatus.Builder(@NonNull CharSequence, @NonNull CharSequence, int);
16934    ctor public SafetySourceStatus.Builder(@NonNull android.safetycenter.SafetySourceStatus);
16935    method @NonNull public android.safetycenter.SafetySourceStatus build();
16936    method @NonNull public android.safetycenter.SafetySourceStatus.Builder setEnabled(boolean);
16937    method @NonNull public android.safetycenter.SafetySourceStatus.Builder setIconAction(@Nullable android.safetycenter.SafetySourceStatus.IconAction);
16938    method @NonNull public android.safetycenter.SafetySourceStatus.Builder setPendingIntent(@Nullable android.app.PendingIntent);
16939  }
16940
16941  public static final class SafetySourceStatus.IconAction implements android.os.Parcelable {
16942    ctor public SafetySourceStatus.IconAction(int, @NonNull android.app.PendingIntent);
16943    method public int describeContents();
16944    method public int getIconType();
16945    method @NonNull public android.app.PendingIntent getPendingIntent();
16946    method public void writeToParcel(@NonNull android.os.Parcel, int);
16947    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceStatus.IconAction> CREATOR;
16948    field public static final int ICON_TYPE_GEAR = 100; // 0x64
16949    field public static final int ICON_TYPE_INFO = 200; // 0xc8
16950  }
16951
16952}
16953
16954package android.safetycenter.config {
16955
16956  public final class SafetyCenterConfig implements android.os.Parcelable {
16957    method public int describeContents();
16958    method @NonNull public java.util.List<android.safetycenter.config.SafetySourcesGroup> getSafetySourcesGroups();
16959    method public void writeToParcel(@NonNull android.os.Parcel, int);
16960    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.config.SafetyCenterConfig> CREATOR;
16961  }
16962
16963  public static final class SafetyCenterConfig.Builder {
16964    ctor public SafetyCenterConfig.Builder();
16965    ctor public SafetyCenterConfig.Builder(@NonNull android.safetycenter.config.SafetyCenterConfig);
16966    method @NonNull public android.safetycenter.config.SafetyCenterConfig.Builder addSafetySourcesGroup(@NonNull android.safetycenter.config.SafetySourcesGroup);
16967    method @NonNull public android.safetycenter.config.SafetyCenterConfig build();
16968  }
16969
16970  public final class SafetySource implements android.os.Parcelable {
16971    method public boolean areNotificationsAllowed();
16972    method public int describeContents();
16973    method @Nullable public String getDeduplicationGroup();
16974    method @NonNull public String getId();
16975    method public int getInitialDisplayState();
16976    method @Nullable public String getIntentAction();
16977    method public int getMaxSeverityLevel();
16978    method @Nullable public String getOptionalPackageName();
16979    method @NonNull public java.util.Set<java.lang.String> getPackageCertificateHashes();
16980    method @NonNull public String getPackageName();
16981    method public int getProfile();
16982    method @StringRes public int getSearchTermsResId();
16983    method @StringRes public int getSummaryResId();
16984    method @StringRes public int getTitleForWorkResId();
16985    method @StringRes public int getTitleResId();
16986    method public int getType();
16987    method public boolean isLoggingAllowed();
16988    method public boolean isRefreshOnPageOpenAllowed();
16989    method public void writeToParcel(@NonNull android.os.Parcel, int);
16990    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.config.SafetySource> CREATOR;
16991    field public static final int INITIAL_DISPLAY_STATE_DISABLED = 1; // 0x1
16992    field public static final int INITIAL_DISPLAY_STATE_ENABLED = 0; // 0x0
16993    field public static final int INITIAL_DISPLAY_STATE_HIDDEN = 2; // 0x2
16994    field public static final int PROFILE_ALL = 2; // 0x2
16995    field public static final int PROFILE_NONE = 0; // 0x0
16996    field public static final int PROFILE_PRIMARY = 1; // 0x1
16997    field public static final int SAFETY_SOURCE_TYPE_DYNAMIC = 2; // 0x2
16998    field public static final int SAFETY_SOURCE_TYPE_ISSUE_ONLY = 3; // 0x3
16999    field public static final int SAFETY_SOURCE_TYPE_STATIC = 1; // 0x1
17000  }
17001
17002  public static final class SafetySource.Builder {
17003    ctor public SafetySource.Builder(int);
17004    ctor public SafetySource.Builder(@NonNull android.safetycenter.config.SafetySource);
17005    method @NonNull public android.safetycenter.config.SafetySource.Builder addPackageCertificateHash(@NonNull String);
17006    method @NonNull public android.safetycenter.config.SafetySource build();
17007    method @NonNull public android.safetycenter.config.SafetySource.Builder setDeduplicationGroup(@Nullable String);
17008    method @NonNull public android.safetycenter.config.SafetySource.Builder setId(@Nullable String);
17009    method @NonNull public android.safetycenter.config.SafetySource.Builder setInitialDisplayState(int);
17010    method @NonNull public android.safetycenter.config.SafetySource.Builder setIntentAction(@Nullable String);
17011    method @NonNull public android.safetycenter.config.SafetySource.Builder setLoggingAllowed(boolean);
17012    method @NonNull public android.safetycenter.config.SafetySource.Builder setMaxSeverityLevel(int);
17013    method @NonNull public android.safetycenter.config.SafetySource.Builder setNotificationsAllowed(boolean);
17014    method @NonNull public android.safetycenter.config.SafetySource.Builder setPackageName(@Nullable String);
17015    method @NonNull public android.safetycenter.config.SafetySource.Builder setProfile(int);
17016    method @NonNull public android.safetycenter.config.SafetySource.Builder setRefreshOnPageOpenAllowed(boolean);
17017    method @NonNull public android.safetycenter.config.SafetySource.Builder setSearchTermsResId(@StringRes int);
17018    method @NonNull public android.safetycenter.config.SafetySource.Builder setSummaryResId(@StringRes int);
17019    method @NonNull public android.safetycenter.config.SafetySource.Builder setTitleForWorkResId(@StringRes int);
17020    method @NonNull public android.safetycenter.config.SafetySource.Builder setTitleResId(@StringRes int);
17021  }
17022
17023  public final class SafetySourcesGroup implements android.os.Parcelable {
17024    method public int describeContents();
17025    method @NonNull public String getId();
17026    method @NonNull public java.util.List<android.safetycenter.config.SafetySource> getSafetySources();
17027    method public int getStatelessIconType();
17028    method @StringRes public int getSummaryResId();
17029    method @StringRes public int getTitleResId();
17030    method public int getType();
17031    method public void writeToParcel(@NonNull android.os.Parcel, int);
17032    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.config.SafetySourcesGroup> CREATOR;
17033    field @Deprecated public static final int SAFETY_SOURCES_GROUP_TYPE_COLLAPSIBLE = 0; // 0x0
17034    field public static final int SAFETY_SOURCES_GROUP_TYPE_HIDDEN = 2; // 0x2
17035    field @Deprecated public static final int SAFETY_SOURCES_GROUP_TYPE_RIGID = 1; // 0x1
17036    field public static final int SAFETY_SOURCES_GROUP_TYPE_STATEFUL = 0; // 0x0
17037    field public static final int SAFETY_SOURCES_GROUP_TYPE_STATELESS = 1; // 0x1
17038    field public static final int STATELESS_ICON_TYPE_NONE = 0; // 0x0
17039    field public static final int STATELESS_ICON_TYPE_PRIVACY = 1; // 0x1
17040  }
17041
17042  public static final class SafetySourcesGroup.Builder {
17043    ctor public SafetySourcesGroup.Builder();
17044    ctor public SafetySourcesGroup.Builder(@NonNull android.safetycenter.config.SafetySourcesGroup);
17045    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder addSafetySource(@NonNull android.safetycenter.config.SafetySource);
17046    method @NonNull public android.safetycenter.config.SafetySourcesGroup build();
17047    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setId(@Nullable String);
17048    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setStatelessIconType(int);
17049    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setSummaryResId(@StringRes int);
17050    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setTitleResId(@StringRes int);
17051    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setType(int);
17052  }
17053
17054}
17055
17056package android.safetylabel {
17057
17058  public final class SafetyLabelConstants {
17059    field public static final String PERMISSION_RATIONALE_ENABLED = "permission_rationale_enabled";
17060    field public static final String SAFETY_LABEL_CHANGE_NOTIFICATIONS_ENABLED = "safety_label_change_notifications_enabled";
17061  }
17062
17063}
17064
17065package android.scheduling {
17066
17067  public final class RebootReadinessManager {
17068    method @RequiresPermission(android.Manifest.permission.SIGNAL_REBOOT_READINESS) public void addRequestRebootReadinessStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.scheduling.RebootReadinessManager.RequestRebootReadinessStatusListener);
17069    method @RequiresPermission(android.Manifest.permission.REBOOT) public void cancelPendingReboot();
17070    method @RequiresPermission(android.Manifest.permission.REBOOT) public boolean isReadyToReboot();
17071    method @RequiresPermission(android.Manifest.permission.REBOOT) public void markRebootPending();
17072    method @RequiresPermission(android.Manifest.permission.SIGNAL_REBOOT_READINESS) public void removeRequestRebootReadinessStatusListener(@NonNull android.scheduling.RebootReadinessManager.RequestRebootReadinessStatusListener);
17073    field public static final String ACTION_REBOOT_READY = "android.scheduling.action.REBOOT_READY";
17074    field public static final String EXTRA_IS_READY_TO_REBOOT = "android.scheduling.extra.IS_READY_TO_REBOOT";
17075  }
17076
17077  public static final class RebootReadinessManager.RebootReadinessStatus {
17078    ctor public RebootReadinessManager.RebootReadinessStatus(boolean, long, @NonNull String);
17079    method public long getEstimatedFinishTime();
17080    method @NonNull public String getLogSubsystemName();
17081    method public boolean isReadyToReboot();
17082  }
17083
17084  public static interface RebootReadinessManager.RequestRebootReadinessStatusListener {
17085    method @NonNull public android.scheduling.RebootReadinessManager.RebootReadinessStatus onRequestRebootReadinessStatus();
17086  }
17087
17088}
17089
17090package android.se.omapi {
17091
17092  public final class Reader {
17093    method @RequiresPermission(android.Manifest.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION) public boolean reset();
17094  }
17095
17096}
17097
17098package android.security {
17099
17100  public final class KeyChain {
17101    method @Nullable @WorkerThread public static String getWifiKeyGrantAsUser(@NonNull android.content.Context, @NonNull android.os.UserHandle, @NonNull String);
17102    method @WorkerThread public static boolean hasWifiKeyGrantAsUser(@NonNull android.content.Context, @NonNull android.os.UserHandle, @NonNull String);
17103  }
17104
17105}
17106
17107package android.security.keystore {
17108
17109  public class AndroidKeyStoreProvider extends java.security.Provider {
17110    method @NonNull public static java.security.KeyStore getKeyStoreForUid(int) throws java.security.KeyStoreException, java.security.NoSuchProviderException;
17111  }
17112
17113  public abstract class AttestationUtils {
17114    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;
17115    field public static final int ID_TYPE_IMEI = 2; // 0x2
17116    field public static final int ID_TYPE_MEID = 3; // 0x3
17117    field public static final int ID_TYPE_SERIAL = 1; // 0x1
17118    field public static final int USE_INDIVIDUAL_ATTESTATION = 4; // 0x4
17119  }
17120
17121  public class DeviceIdAttestationException extends java.lang.Exception {
17122    ctor public DeviceIdAttestationException(@Nullable String);
17123    ctor public DeviceIdAttestationException(@Nullable String, @Nullable Throwable);
17124  }
17125
17126  public final class KeyGenParameterSpec implements java.security.spec.AlgorithmParameterSpec {
17127    method @NonNull public int[] getAttestationIds();
17128    method public int getNamespace();
17129  }
17130
17131  public static final class KeyGenParameterSpec.Builder {
17132    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setAttestationIds(@NonNull int[]);
17133    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setNamespace(int);
17134    method @Deprecated @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUid(int);
17135  }
17136
17137  public abstract class KeyProperties {
17138    field public static final int NAMESPACE_APPLICATION = -1; // 0xffffffff
17139    field public static final int NAMESPACE_WIFI = 102; // 0x66
17140  }
17141
17142}
17143
17144package android.security.keystore.recovery {
17145
17146  public class DecryptionFailedException extends java.security.GeneralSecurityException {
17147    ctor public DecryptionFailedException(String);
17148  }
17149
17150  public class InternalRecoveryServiceException extends java.security.GeneralSecurityException {
17151    ctor public InternalRecoveryServiceException(String);
17152    ctor public InternalRecoveryServiceException(String, Throwable);
17153  }
17154
17155  public final class KeyChainProtectionParams implements android.os.Parcelable {
17156    method public void clearSecret();
17157    method public int describeContents();
17158    method @NonNull public android.security.keystore.recovery.KeyDerivationParams getKeyDerivationParams();
17159    method public int getLockScreenUiFormat();
17160    method @NonNull public byte[] getSecret();
17161    method public int getUserSecretType();
17162    method public void writeToParcel(android.os.Parcel, int);
17163    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyChainProtectionParams> CREATOR;
17164    field public static final int TYPE_LOCKSCREEN = 100; // 0x64
17165    field public static final int UI_FORMAT_PASSWORD = 2; // 0x2
17166    field public static final int UI_FORMAT_PATTERN = 3; // 0x3
17167    field public static final int UI_FORMAT_PIN = 1; // 0x1
17168  }
17169
17170  public static class KeyChainProtectionParams.Builder {
17171    ctor public KeyChainProtectionParams.Builder();
17172    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams build();
17173    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setKeyDerivationParams(@NonNull android.security.keystore.recovery.KeyDerivationParams);
17174    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setLockScreenUiFormat(int);
17175    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setSecret(@NonNull byte[]);
17176    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setUserSecretType(int);
17177  }
17178
17179  public final class KeyChainSnapshot implements android.os.Parcelable {
17180    method public int describeContents();
17181    method public long getCounterId();
17182    method @NonNull public byte[] getEncryptedRecoveryKeyBlob();
17183    method @NonNull public java.util.List<android.security.keystore.recovery.KeyChainProtectionParams> getKeyChainProtectionParams();
17184    method public int getMaxAttempts();
17185    method @NonNull public byte[] getServerParams();
17186    method public int getSnapshotVersion();
17187    method @NonNull public java.security.cert.CertPath getTrustedHardwareCertPath();
17188    method @NonNull public java.util.List<android.security.keystore.recovery.WrappedApplicationKey> getWrappedApplicationKeys();
17189    method public void writeToParcel(android.os.Parcel, int);
17190    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyChainSnapshot> CREATOR;
17191  }
17192
17193  public final class KeyDerivationParams implements android.os.Parcelable {
17194    method @NonNull public static android.security.keystore.recovery.KeyDerivationParams createScryptParams(@NonNull byte[], int);
17195    method @NonNull public static android.security.keystore.recovery.KeyDerivationParams createSha256Params(@NonNull byte[]);
17196    method public int describeContents();
17197    method public int getAlgorithm();
17198    method public int getMemoryDifficulty();
17199    method @NonNull public byte[] getSalt();
17200    method public void writeToParcel(android.os.Parcel, int);
17201    field public static final int ALGORITHM_SCRYPT = 2; // 0x2
17202    field public static final int ALGORITHM_SHA256 = 1; // 0x1
17203    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyDerivationParams> CREATOR;
17204  }
17205
17206  public class LockScreenRequiredException extends java.security.GeneralSecurityException {
17207    ctor public LockScreenRequiredException(String);
17208  }
17209
17210  public class RecoveryController {
17211    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public android.security.keystore.recovery.RecoverySession createRecoverySession();
17212    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;
17213    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;
17214    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.util.List<java.lang.String> getAliases() throws android.security.keystore.recovery.InternalRecoveryServiceException;
17215    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public static android.security.keystore.recovery.RecoveryController getInstance(@NonNull android.content.Context);
17216    method @Nullable @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.security.Key getKey(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException, java.security.UnrecoverableKeyException;
17217    method @Nullable @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public android.security.keystore.recovery.KeyChainSnapshot getKeyChainSnapshot() throws android.security.keystore.recovery.InternalRecoveryServiceException;
17218    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public int[] getRecoverySecretTypes() throws android.security.keystore.recovery.InternalRecoveryServiceException;
17219    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public int getRecoveryStatus(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException;
17220    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.util.Map<java.lang.String,java.security.cert.X509Certificate> getRootCertificates();
17221    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;
17222    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;
17223    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;
17224    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public static boolean isRecoverableKeyStoreEnabled(@NonNull android.content.Context);
17225    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void removeKey(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException;
17226    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setRecoverySecretTypes(@NonNull int[]) throws android.security.keystore.recovery.InternalRecoveryServiceException;
17227    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setRecoveryStatus(@NonNull String, int) throws android.security.keystore.recovery.InternalRecoveryServiceException;
17228    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setServerParams(@NonNull byte[]) throws android.security.keystore.recovery.InternalRecoveryServiceException;
17229    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setSnapshotCreatedPendingIntent(@Nullable android.app.PendingIntent) throws android.security.keystore.recovery.InternalRecoveryServiceException;
17230    field public static final int RECOVERY_STATUS_PERMANENT_FAILURE = 3; // 0x3
17231    field public static final int RECOVERY_STATUS_SYNCED = 0; // 0x0
17232    field public static final int RECOVERY_STATUS_SYNC_IN_PROGRESS = 1; // 0x1
17233  }
17234
17235  public class RecoverySession implements java.lang.AutoCloseable {
17236    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void close();
17237    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;
17238    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;
17239  }
17240
17241  public class SessionExpiredException extends java.security.GeneralSecurityException {
17242    ctor public SessionExpiredException(String);
17243  }
17244
17245  public final class WrappedApplicationKey implements android.os.Parcelable {
17246    method public int describeContents();
17247    method @NonNull public String getAlias();
17248    method @NonNull public byte[] getEncryptedKeyMaterial();
17249    method @Nullable public byte[] getMetadata();
17250    method public void writeToParcel(android.os.Parcel, int);
17251    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.WrappedApplicationKey> CREATOR;
17252  }
17253
17254  public static class WrappedApplicationKey.Builder {
17255    ctor public WrappedApplicationKey.Builder();
17256    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey build();
17257    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setAlias(@NonNull String);
17258    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setEncryptedKeyMaterial(@NonNull byte[]);
17259    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setMetadata(@Nullable byte[]);
17260  }
17261
17262}
17263
17264package android.service.ambientcontext {
17265
17266  public final class AmbientContextDetectionResult implements android.os.Parcelable {
17267    method public int describeContents();
17268    method @NonNull public java.util.List<android.app.ambientcontext.AmbientContextEvent> getEvents();
17269    method @NonNull public String getPackageName();
17270    method public void writeToParcel(@NonNull android.os.Parcel, int);
17271    field @NonNull public static final android.os.Parcelable.Creator<android.service.ambientcontext.AmbientContextDetectionResult> CREATOR;
17272  }
17273
17274  public static final class AmbientContextDetectionResult.Builder {
17275    ctor public AmbientContextDetectionResult.Builder(@NonNull String);
17276    method @NonNull public android.service.ambientcontext.AmbientContextDetectionResult.Builder addEvent(@NonNull android.app.ambientcontext.AmbientContextEvent);
17277    method @NonNull public android.service.ambientcontext.AmbientContextDetectionResult.Builder addEvents(@NonNull java.util.List<android.app.ambientcontext.AmbientContextEvent>);
17278    method @NonNull public android.service.ambientcontext.AmbientContextDetectionResult build();
17279    method @NonNull public android.service.ambientcontext.AmbientContextDetectionResult.Builder clearEvents();
17280  }
17281
17282  public abstract class AmbientContextDetectionService extends android.app.Service {
17283    ctor public AmbientContextDetectionService();
17284    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
17285    method @BinderThread public abstract void onQueryServiceStatus(@NonNull int[], @NonNull String, @NonNull java.util.function.Consumer<android.service.ambientcontext.AmbientContextDetectionServiceStatus>);
17286    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>);
17287    method public abstract void onStopDetection(@NonNull String);
17288    field public static final String SERVICE_INTERFACE = "android.service.ambientcontext.AmbientContextDetectionService";
17289  }
17290
17291  public final class AmbientContextDetectionServiceStatus implements android.os.Parcelable {
17292    method public int describeContents();
17293    method @NonNull public String getPackageName();
17294    method public int getStatusCode();
17295    method public void writeToParcel(@NonNull android.os.Parcel, int);
17296    field @NonNull public static final android.os.Parcelable.Creator<android.service.ambientcontext.AmbientContextDetectionServiceStatus> CREATOR;
17297  }
17298
17299  public static final class AmbientContextDetectionServiceStatus.Builder {
17300    ctor public AmbientContextDetectionServiceStatus.Builder(@NonNull String);
17301    method @NonNull public android.service.ambientcontext.AmbientContextDetectionServiceStatus build();
17302    method @NonNull public android.service.ambientcontext.AmbientContextDetectionServiceStatus.Builder setStatusCode(int);
17303  }
17304
17305}
17306
17307package android.service.appprediction {
17308
17309  public abstract class AppPredictionService extends android.app.Service {
17310    ctor public AppPredictionService();
17311    method @MainThread public abstract void onAppTargetEvent(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull android.app.prediction.AppTargetEvent);
17312    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
17313    method public void onCreatePredictionSession(@NonNull android.app.prediction.AppPredictionContext, @NonNull android.app.prediction.AppPredictionSessionId);
17314    method @MainThread public void onDestroyPredictionSession(@NonNull android.app.prediction.AppPredictionSessionId);
17315    method @MainThread public abstract void onLaunchLocationShown(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull String, @NonNull java.util.List<android.app.prediction.AppTargetId>);
17316    method @MainThread public abstract void onRequestPredictionUpdate(@NonNull android.app.prediction.AppPredictionSessionId);
17317    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>>);
17318    method @MainThread public void onStartPredictionUpdates();
17319    method @MainThread public void onStopPredictionUpdates();
17320    method public final void updatePredictions(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull java.util.List<android.app.prediction.AppTarget>);
17321  }
17322
17323}
17324
17325package android.service.assist.classification {
17326
17327  public final class FieldClassification implements android.os.Parcelable {
17328    ctor public FieldClassification(@NonNull android.view.autofill.AutofillId, @NonNull java.util.Set<java.lang.String>, @NonNull java.util.Set<java.lang.String>);
17329    method @NonNull public java.util.Set<java.lang.String> getGroupHints();
17330  }
17331
17332  public final class FieldClassificationRequest implements android.os.Parcelable {
17333    ctor public FieldClassificationRequest(@NonNull android.app.assist.AssistStructure);
17334    method public int describeContents();
17335    method @NonNull public android.app.assist.AssistStructure getAssistStructure();
17336    method public void writeToParcel(@NonNull android.os.Parcel, int);
17337    field @NonNull public static final android.os.Parcelable.Creator<android.service.assist.classification.FieldClassificationRequest> CREATOR;
17338  }
17339
17340  public final class FieldClassificationResponse implements android.os.Parcelable {
17341    ctor public FieldClassificationResponse(@NonNull java.util.Set<android.service.assist.classification.FieldClassification>);
17342    method public int describeContents();
17343    method @NonNull public java.util.Set<android.service.assist.classification.FieldClassification> getClassifications();
17344    method public void writeToParcel(@NonNull android.os.Parcel, int);
17345    field @NonNull public static final android.os.Parcelable.Creator<android.service.assist.classification.FieldClassificationResponse> CREATOR;
17346  }
17347
17348  public abstract class FieldClassificationService extends android.app.Service {
17349    ctor public FieldClassificationService();
17350    method public final android.os.IBinder onBind(android.content.Intent);
17351    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>);
17352    method public void onConnected();
17353    method public void onDisconnected();
17354    field public static final String SERVICE_INTERFACE = "android.service.assist.classification.FieldClassificationService";
17355  }
17356
17357}
17358
17359package android.service.attention {
17360
17361  public abstract class AttentionService extends android.app.Service {
17362    ctor public AttentionService();
17363    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
17364    method public abstract void onCancelAttentionCheck(@NonNull android.service.attention.AttentionService.AttentionCallback);
17365    method public abstract void onCheckAttention(@NonNull android.service.attention.AttentionService.AttentionCallback);
17366    method public void onStartProximityUpdates(@NonNull android.service.attention.AttentionService.ProximityUpdateCallback);
17367    method public void onStopProximityUpdates();
17368    field public static final int ATTENTION_FAILURE_CAMERA_PERMISSION_ABSENT = 6; // 0x6
17369    field public static final int ATTENTION_FAILURE_CANCELLED = 3; // 0x3
17370    field public static final int ATTENTION_FAILURE_PREEMPTED = 4; // 0x4
17371    field public static final int ATTENTION_FAILURE_TIMED_OUT = 5; // 0x5
17372    field public static final int ATTENTION_FAILURE_UNKNOWN = 2; // 0x2
17373    field public static final int ATTENTION_SUCCESS_ABSENT = 0; // 0x0
17374    field public static final int ATTENTION_SUCCESS_PRESENT = 1; // 0x1
17375    field public static final double PROXIMITY_UNKNOWN = -1.0;
17376    field public static final String SERVICE_INTERFACE = "android.service.attention.AttentionService";
17377  }
17378
17379  public static final class AttentionService.AttentionCallback {
17380    method public void onFailure(int);
17381    method public void onSuccess(int, long);
17382  }
17383
17384  public static final class AttentionService.ProximityUpdateCallback {
17385    method public void onProximityUpdate(double);
17386  }
17387
17388}
17389
17390package android.service.autofill {
17391
17392  public abstract class AutofillFieldClassificationService extends android.app.Service {
17393    ctor public AutofillFieldClassificationService();
17394    method public android.os.IBinder onBind(android.content.Intent);
17395    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);
17396    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>);
17397    field public static final String REQUIRED_ALGORITHM_CREDIT_CARD = "CREDIT_CARD";
17398    field public static final String REQUIRED_ALGORITHM_EDIT_DISTANCE = "EDIT_DISTANCE";
17399    field public static final String REQUIRED_ALGORITHM_EXACT_MATCH = "EXACT_MATCH";
17400    field public static final String SERVICE_INTERFACE = "android.service.autofill.AutofillFieldClassificationService";
17401    field public static final String SERVICE_META_DATA_KEY_AVAILABLE_ALGORITHMS = "android.autofill.field_classification.available_algorithms";
17402    field public static final String SERVICE_META_DATA_KEY_DEFAULT_ALGORITHM = "android.autofill.field_classification.default_algorithm";
17403  }
17404
17405  public static final class Dataset.Builder {
17406    ctor @Deprecated public Dataset.Builder(@NonNull android.service.autofill.InlinePresentation);
17407    method @NonNull public android.service.autofill.Dataset.Builder setContent(@NonNull android.view.autofill.AutofillId, @Nullable android.content.ClipData);
17408    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);
17409  }
17410
17411  public abstract class InlineSuggestionRenderService extends android.app.Service {
17412    ctor public InlineSuggestionRenderService();
17413    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
17414    method @NonNull public android.os.Bundle onGetInlineSuggestionsRendererInfo();
17415    method @Nullable public android.view.View onRenderSuggestion(@NonNull android.service.autofill.InlinePresentation, int, int);
17416    method public final void startIntentSender(@NonNull android.content.IntentSender);
17417    field public static final String SERVICE_INTERFACE = "android.service.autofill.InlineSuggestionRenderService";
17418  }
17419
17420}
17421
17422package android.service.autofill.augmented {
17423
17424  public abstract class AugmentedAutofillService extends android.app.Service {
17425    ctor public AugmentedAutofillService();
17426    method protected final void dump(java.io.FileDescriptor, java.io.PrintWriter, String[]);
17427    method protected void dump(@NonNull java.io.PrintWriter, @NonNull String[]);
17428    method @Nullable public final android.service.autofill.FillEventHistory getFillEventHistory();
17429    method public final android.os.IBinder onBind(android.content.Intent);
17430    method public void onConnected();
17431    method public void onDisconnected();
17432    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);
17433    method public final boolean requestAutofill(@NonNull android.content.ComponentName, @NonNull android.view.autofill.AutofillId);
17434    field public static final String SERVICE_INTERFACE = "android.service.autofill.augmented.AugmentedAutofillService";
17435  }
17436
17437  public final class FillCallback {
17438    method public void onSuccess(@Nullable android.service.autofill.augmented.FillResponse);
17439  }
17440
17441  public final class FillController {
17442    method public void autofill(@NonNull java.util.List<android.util.Pair<android.view.autofill.AutofillId,android.view.autofill.AutofillValue>>);
17443  }
17444
17445  public final class FillRequest {
17446    method @NonNull public android.content.ComponentName getActivityComponent();
17447    method @NonNull public android.view.autofill.AutofillId getFocusedId();
17448    method @NonNull public android.view.autofill.AutofillValue getFocusedValue();
17449    method @Nullable public android.app.assist.AssistStructure.ViewNode getFocusedViewNode();
17450    method @Nullable public android.view.inputmethod.InlineSuggestionsRequest getInlineSuggestionsRequest();
17451    method @Nullable public android.service.autofill.augmented.PresentationParams getPresentationParams();
17452    method public int getTaskId();
17453  }
17454
17455  public final class FillResponse {
17456  }
17457
17458  public static final class FillResponse.Builder {
17459    ctor public FillResponse.Builder();
17460    method @NonNull public android.service.autofill.augmented.FillResponse build();
17461    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setClientState(@NonNull android.os.Bundle);
17462    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setFillWindow(@NonNull android.service.autofill.augmented.FillWindow);
17463    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setInlineSuggestions(@NonNull java.util.List<android.service.autofill.Dataset>);
17464  }
17465
17466  public final class FillWindow implements java.lang.AutoCloseable {
17467    ctor public FillWindow();
17468    method public void close();
17469    method public void destroy();
17470    method public boolean update(@NonNull android.service.autofill.augmented.PresentationParams.Area, @NonNull android.view.View, long);
17471  }
17472
17473  public abstract class PresentationParams {
17474    method @Nullable public android.service.autofill.augmented.PresentationParams.Area getSuggestionArea();
17475  }
17476
17477  public abstract static class PresentationParams.Area {
17478    method @NonNull public android.graphics.Rect getBounds();
17479  }
17480
17481}
17482
17483package android.service.carrier {
17484
17485  public abstract class ApnService extends android.app.Service {
17486    ctor public ApnService();
17487    method @NonNull public android.os.IBinder onBind(@Nullable android.content.Intent);
17488    method @NonNull @WorkerThread public abstract java.util.List<android.content.ContentValues> onRestoreApns(int);
17489  }
17490
17491  public final class CarrierMessagingServiceWrapper implements java.lang.AutoCloseable {
17492    ctor public CarrierMessagingServiceWrapper();
17493    method public boolean bindToCarrierMessagingService(@NonNull android.content.Context, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull Runnable);
17494    method public void close();
17495    method public void disconnect();
17496    method public void downloadMms(@NonNull android.net.Uri, int, @NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
17497    method public void receiveSms(@NonNull android.service.carrier.MessagePdu, @NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
17498    method public void sendDataSms(@NonNull byte[], int, @NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
17499    method public void sendMms(@NonNull android.net.Uri, int, @NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
17500    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);
17501    method public void sendTextSms(@NonNull String, int, @NonNull String, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
17502  }
17503
17504  public static interface CarrierMessagingServiceWrapper.CarrierMessagingCallback {
17505    method public default void onDownloadMmsComplete(int);
17506    method public default void onReceiveSmsComplete(int);
17507    method public default void onSendMmsComplete(int, @Nullable byte[]);
17508    method public default void onSendMultipartSmsComplete(int, @Nullable int[]);
17509    method public default void onSendSmsComplete(int, int);
17510  }
17511
17512}
17513
17514package android.service.cloudsearch {
17515
17516  public abstract class CloudSearchService extends android.app.Service {
17517    ctor public CloudSearchService();
17518    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
17519    method public abstract void onSearch(@NonNull android.app.cloudsearch.SearchRequest);
17520    method public final void returnResults(@NonNull String, @NonNull android.app.cloudsearch.SearchResponse);
17521  }
17522
17523}
17524
17525package android.service.contentcapture {
17526
17527  public final class ActivityEvent implements android.os.Parcelable {
17528    method public int describeContents();
17529    method @NonNull public android.app.assist.ActivityId getActivityId();
17530    method @NonNull public android.content.ComponentName getComponentName();
17531    method public int getEventType();
17532    method public void writeToParcel(@NonNull android.os.Parcel, int);
17533    field @NonNull public static final android.os.Parcelable.Creator<android.service.contentcapture.ActivityEvent> CREATOR;
17534    field public static final int TYPE_ACTIVITY_DESTROYED = 24; // 0x18
17535    field public static final int TYPE_ACTIVITY_PAUSED = 2; // 0x2
17536    field public static final int TYPE_ACTIVITY_RESUMED = 1; // 0x1
17537    field public static final int TYPE_ACTIVITY_STOPPED = 23; // 0x17
17538  }
17539
17540  public abstract class ContentCaptureService extends android.app.Service {
17541    ctor public ContentCaptureService();
17542    method public final void disableSelf();
17543    method public void onActivityEvent(@NonNull android.service.contentcapture.ActivityEvent);
17544    method public void onActivitySnapshot(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.service.contentcapture.SnapshotData);
17545    method public final android.os.IBinder onBind(android.content.Intent);
17546    method public void onConnected();
17547    method public void onContentCaptureEvent(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.view.contentcapture.ContentCaptureEvent);
17548    method public void onCreateContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureContext, @NonNull android.view.contentcapture.ContentCaptureSessionId);
17549    method public void onDataRemovalRequest(@NonNull android.view.contentcapture.DataRemovalRequest);
17550    method public void onDataShareRequest(@NonNull android.view.contentcapture.DataShareRequest, @NonNull android.service.contentcapture.DataShareCallback);
17551    method public void onDestroyContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureSessionId);
17552    method public void onDisconnected();
17553    method public final void setContentCaptureConditions(@NonNull String, @Nullable java.util.Set<android.view.contentcapture.ContentCaptureCondition>);
17554    method public final void setContentCaptureWhitelist(@Nullable java.util.Set<java.lang.String>, @Nullable java.util.Set<android.content.ComponentName>);
17555    field public static final String SERVICE_INTERFACE = "android.service.contentcapture.ContentCaptureService";
17556    field public static final String SERVICE_META_DATA = "android.content_capture";
17557  }
17558
17559  public interface DataShareCallback {
17560    method public void onAccept(@NonNull java.util.concurrent.Executor, @NonNull android.service.contentcapture.DataShareReadAdapter);
17561    method public void onReject();
17562  }
17563
17564  public interface DataShareReadAdapter {
17565    method public void onError(int);
17566    method public void onStart(@NonNull android.os.ParcelFileDescriptor);
17567  }
17568
17569  public final class SnapshotData implements android.os.Parcelable {
17570    method public int describeContents();
17571    method @Nullable public android.app.assist.AssistContent getAssistContent();
17572    method @NonNull public android.os.Bundle getAssistData();
17573    method @NonNull public android.app.assist.AssistStructure getAssistStructure();
17574    method public void writeToParcel(@NonNull android.os.Parcel, int);
17575    field @NonNull public static final android.os.Parcelable.Creator<android.service.contentcapture.SnapshotData> CREATOR;
17576  }
17577
17578}
17579
17580package android.service.contentsuggestions {
17581
17582  public abstract class ContentSuggestionsService extends android.app.Service {
17583    ctor public ContentSuggestionsService();
17584    method public final android.os.IBinder onBind(android.content.Intent);
17585    method public abstract void onClassifyContentSelections(@NonNull android.app.contentsuggestions.ClassificationsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.ClassificationsCallback);
17586    method public abstract void onNotifyInteraction(@NonNull String, @NonNull android.os.Bundle);
17587    method public abstract void onProcessContextImage(int, @Nullable android.graphics.Bitmap, @NonNull android.os.Bundle);
17588    method public abstract void onSuggestContentSelections(@NonNull android.app.contentsuggestions.SelectionsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.SelectionsCallback);
17589    field public static final String SERVICE_INTERFACE = "android.service.contentsuggestions.ContentSuggestionsService";
17590  }
17591
17592}
17593
17594package android.service.dataloader {
17595
17596  public abstract class DataLoaderService extends android.app.Service {
17597    ctor public DataLoaderService();
17598    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
17599    method @Nullable public android.service.dataloader.DataLoaderService.DataLoader onCreateDataLoader(@NonNull android.content.pm.DataLoaderParams);
17600  }
17601
17602  public static interface DataLoaderService.DataLoader {
17603    method public boolean onCreate(@NonNull android.content.pm.DataLoaderParams, @NonNull android.service.dataloader.DataLoaderService.FileSystemConnector);
17604    method public boolean onPrepareImage(@NonNull java.util.Collection<android.content.pm.InstallationFile>, @NonNull java.util.Collection<java.lang.String>);
17605  }
17606
17607  public static final class DataLoaderService.FileSystemConnector {
17608    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void writeData(@NonNull String, long, long, @NonNull android.os.ParcelFileDescriptor) throws java.io.IOException;
17609  }
17610
17611}
17612
17613package android.service.displayhash {
17614
17615  public final class DisplayHashParams implements android.os.Parcelable {
17616    method public int describeContents();
17617    method @Nullable public android.util.Size getBufferSize();
17618    method public boolean isGrayscaleBuffer();
17619    method public void writeToParcel(@NonNull android.os.Parcel, int);
17620    field @NonNull public static final android.os.Parcelable.Creator<android.service.displayhash.DisplayHashParams> CREATOR;
17621  }
17622
17623  public static final class DisplayHashParams.Builder {
17624    ctor public DisplayHashParams.Builder();
17625    method @NonNull public android.service.displayhash.DisplayHashParams build();
17626    method @NonNull public android.service.displayhash.DisplayHashParams.Builder setBufferSize(int, int);
17627    method @NonNull public android.service.displayhash.DisplayHashParams.Builder setGrayscaleBuffer(boolean);
17628  }
17629
17630  public abstract class DisplayHashingService extends android.app.Service {
17631    ctor public DisplayHashingService();
17632    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
17633    method public abstract void onGenerateDisplayHash(@NonNull byte[], @NonNull android.hardware.HardwareBuffer, @NonNull android.graphics.Rect, @NonNull String, @NonNull android.view.displayhash.DisplayHashResultCallback);
17634    method @NonNull public abstract java.util.Map<java.lang.String,android.service.displayhash.DisplayHashParams> onGetDisplayHashAlgorithms();
17635    method public abstract int onGetIntervalBetweenRequestsMillis();
17636    method @Nullable public abstract android.view.displayhash.VerifiedDisplayHash onVerifyDisplayHash(@NonNull byte[], @NonNull android.view.displayhash.DisplayHash);
17637    field public static final String SERVICE_INTERFACE = "android.service.displayhash.DisplayHashingService";
17638  }
17639
17640}
17641
17642package android.service.euicc {
17643
17644  public final class DownloadSubscriptionResult implements android.os.Parcelable {
17645    ctor public DownloadSubscriptionResult(int, int, int);
17646    method public int describeContents();
17647    method public int getCardId();
17648    method public int getResolvableErrors();
17649    method public int getResult();
17650    method public void writeToParcel(android.os.Parcel, int);
17651    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.DownloadSubscriptionResult> CREATOR;
17652  }
17653
17654  public final class EuiccProfileInfo implements android.os.Parcelable {
17655    method public int describeContents();
17656    method public android.service.carrier.CarrierIdentifier getCarrierIdentifier();
17657    method public String getIccid();
17658    method @Nullable public String getNickname();
17659    method @android.service.euicc.EuiccProfileInfo.PolicyRule public int getPolicyRules();
17660    method @android.service.euicc.EuiccProfileInfo.ProfileClass public int getProfileClass();
17661    method public String getProfileName();
17662    method public String getServiceProviderName();
17663    method @android.service.euicc.EuiccProfileInfo.ProfileState public int getState();
17664    method @Nullable public java.util.List<android.telephony.UiccAccessRule> getUiccAccessRules();
17665    method public boolean hasPolicyRule(@android.service.euicc.EuiccProfileInfo.PolicyRule int);
17666    method public boolean hasPolicyRules();
17667    method public void writeToParcel(android.os.Parcel, int);
17668    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.EuiccProfileInfo> CREATOR;
17669    field public static final int POLICY_RULE_DELETE_AFTER_DISABLING = 4; // 0x4
17670    field public static final int POLICY_RULE_DO_NOT_DELETE = 2; // 0x2
17671    field public static final int POLICY_RULE_DO_NOT_DISABLE = 1; // 0x1
17672    field public static final int PROFILE_CLASS_OPERATIONAL = 2; // 0x2
17673    field public static final int PROFILE_CLASS_PROVISIONING = 1; // 0x1
17674    field public static final int PROFILE_CLASS_TESTING = 0; // 0x0
17675    field public static final int PROFILE_STATE_DISABLED = 0; // 0x0
17676    field public static final int PROFILE_STATE_ENABLED = 1; // 0x1
17677  }
17678
17679  public static final class EuiccProfileInfo.Builder {
17680    ctor public EuiccProfileInfo.Builder(String);
17681    ctor public EuiccProfileInfo.Builder(android.service.euicc.EuiccProfileInfo);
17682    method public android.service.euicc.EuiccProfileInfo build();
17683    method public android.service.euicc.EuiccProfileInfo.Builder setCarrierIdentifier(android.service.carrier.CarrierIdentifier);
17684    method public android.service.euicc.EuiccProfileInfo.Builder setIccid(String);
17685    method public android.service.euicc.EuiccProfileInfo.Builder setNickname(String);
17686    method public android.service.euicc.EuiccProfileInfo.Builder setPolicyRules(@android.service.euicc.EuiccProfileInfo.PolicyRule int);
17687    method public android.service.euicc.EuiccProfileInfo.Builder setProfileClass(@android.service.euicc.EuiccProfileInfo.ProfileClass int);
17688    method public android.service.euicc.EuiccProfileInfo.Builder setProfileName(String);
17689    method public android.service.euicc.EuiccProfileInfo.Builder setServiceProviderName(String);
17690    method public android.service.euicc.EuiccProfileInfo.Builder setState(@android.service.euicc.EuiccProfileInfo.ProfileState int);
17691    method public android.service.euicc.EuiccProfileInfo.Builder setUiccAccessRule(@Nullable java.util.List<android.telephony.UiccAccessRule>);
17692  }
17693
17694  @IntDef(flag=true, prefix={"POLICY_RULE_"}, value={android.service.euicc.EuiccProfileInfo.POLICY_RULE_DO_NOT_DISABLE, android.service.euicc.EuiccProfileInfo.POLICY_RULE_DO_NOT_DELETE, android.service.euicc.EuiccProfileInfo.POLICY_RULE_DELETE_AFTER_DISABLING}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccProfileInfo.PolicyRule {
17695  }
17696
17697  @IntDef(prefix={"PROFILE_CLASS_"}, value={android.service.euicc.EuiccProfileInfo.PROFILE_CLASS_TESTING, android.service.euicc.EuiccProfileInfo.PROFILE_CLASS_PROVISIONING, android.service.euicc.EuiccProfileInfo.PROFILE_CLASS_OPERATIONAL, 0xffffffff}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccProfileInfo.ProfileClass {
17698  }
17699
17700  @IntDef(prefix={"PROFILE_STATE_"}, value={android.service.euicc.EuiccProfileInfo.PROFILE_STATE_DISABLED, android.service.euicc.EuiccProfileInfo.PROFILE_STATE_ENABLED, 0xffffffff}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccProfileInfo.ProfileState {
17701  }
17702
17703  public abstract class EuiccService extends android.app.Service {
17704    ctor public EuiccService();
17705    method public void dump(@NonNull java.io.PrintWriter);
17706    method public int encodeSmdxSubjectAndReasonCode(@Nullable String, @Nullable String);
17707    method @CallSuper public android.os.IBinder onBind(android.content.Intent);
17708    method public abstract int onDeleteSubscription(int, String);
17709    method @Deprecated public android.service.euicc.DownloadSubscriptionResult onDownloadSubscription(int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean, @Nullable android.os.Bundle);
17710    method @NonNull public android.service.euicc.DownloadSubscriptionResult onDownloadSubscription(int, int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean, @NonNull android.os.Bundle);
17711    method @Deprecated public int onDownloadSubscription(int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean);
17712    method @Deprecated public abstract int onEraseSubscriptions(int);
17713    method public int onEraseSubscriptions(int, @android.telephony.euicc.EuiccCardManager.ResetOption int);
17714    method public abstract android.service.euicc.GetDefaultDownloadableSubscriptionListResult onGetDefaultDownloadableSubscriptionList(int, boolean);
17715    method public abstract android.service.euicc.GetDownloadableSubscriptionMetadataResult onGetDownloadableSubscriptionMetadata(int, android.telephony.euicc.DownloadableSubscription, boolean);
17716    method @NonNull public android.service.euicc.GetDownloadableSubscriptionMetadataResult onGetDownloadableSubscriptionMetadata(int, int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean);
17717    method public abstract String onGetEid(int);
17718    method @NonNull public abstract android.telephony.euicc.EuiccInfo onGetEuiccInfo(int);
17719    method @NonNull public abstract android.service.euicc.GetEuiccProfileInfoListResult onGetEuiccProfileInfoList(int);
17720    method @android.telephony.euicc.EuiccManager.OtaStatus public abstract int onGetOtaStatus(int);
17721    method public abstract int onRetainSubscriptionsForFactoryReset(int);
17722    method public abstract void onStartOtaIfNecessary(int, android.service.euicc.EuiccService.OtaStatusChangedCallback);
17723    method @Deprecated public abstract int onSwitchToSubscription(int, @Nullable String, boolean);
17724    method public int onSwitchToSubscriptionWithPort(int, int, @Nullable String, boolean);
17725    method public abstract int onUpdateSubscriptionNickname(int, String, String);
17726    field public static final String ACTION_BIND_CARRIER_PROVISIONING_SERVICE = "android.service.euicc.action.BIND_CARRIER_PROVISIONING_SERVICE";
17727    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";
17728    field public static final String ACTION_DELETE_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.DELETE_SUBSCRIPTION_PRIVILEGED";
17729    field @RequiresPermission(android.Manifest.permission.BIND_EUICC_SERVICE) public static final String ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS = "android.service.euicc.action.MANAGE_EMBEDDED_SUBSCRIPTIONS";
17730    field @RequiresPermission(android.Manifest.permission.BIND_EUICC_SERVICE) public static final String ACTION_PROVISION_EMBEDDED_SUBSCRIPTION = "android.service.euicc.action.PROVISION_EMBEDDED_SUBSCRIPTION";
17731    field public static final String ACTION_RENAME_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.RENAME_SUBSCRIPTION_PRIVILEGED";
17732    field @Deprecated public static final String ACTION_RESOLVE_CONFIRMATION_CODE = "android.service.euicc.action.RESOLVE_CONFIRMATION_CODE";
17733    field public static final String ACTION_RESOLVE_DEACTIVATE_SIM = "android.service.euicc.action.RESOLVE_DEACTIVATE_SIM";
17734    field public static final String ACTION_RESOLVE_NO_PRIVILEGES = "android.service.euicc.action.RESOLVE_NO_PRIVILEGES";
17735    field public static final String ACTION_RESOLVE_RESOLVABLE_ERRORS = "android.service.euicc.action.RESOLVE_RESOLVABLE_ERRORS";
17736    field public static final String ACTION_START_CARRIER_ACTIVATION = "android.service.euicc.action.START_CARRIER_ACTIVATION";
17737    field public static final String ACTION_START_EUICC_ACTIVATION = "android.service.euicc.action.START_EUICC_ACTIVATION";
17738    field public static final String ACTION_TOGGLE_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.TOGGLE_SUBSCRIPTION_PRIVILEGED";
17739    field @RequiresPermission(android.Manifest.permission.BIND_EUICC_SERVICE) public static final String ACTION_TRANSFER_EMBEDDED_SUBSCRIPTIONS = "android.service.euicc.action.TRANSFER_EMBEDDED_SUBSCRIPTIONS";
17740    field public static final String CATEGORY_EUICC_UI = "android.service.euicc.category.EUICC_UI";
17741    field public static final String EUICC_SERVICE_INTERFACE = "android.service.euicc.EuiccService";
17742    field public static final String EXTRA_RESOLUTION_ALLOW_POLICY_RULES = "android.service.euicc.extra.RESOLUTION_ALLOW_POLICY_RULES";
17743    field public static final String EXTRA_RESOLUTION_CALLING_PACKAGE = "android.service.euicc.extra.RESOLUTION_CALLING_PACKAGE";
17744    field public static final String EXTRA_RESOLUTION_CARD_ID = "android.service.euicc.extra.RESOLUTION_CARD_ID";
17745    field public static final String EXTRA_RESOLUTION_CONFIRMATION_CODE = "android.service.euicc.extra.RESOLUTION_CONFIRMATION_CODE";
17746    field public static final String EXTRA_RESOLUTION_CONFIRMATION_CODE_RETRIED = "android.service.euicc.extra.RESOLUTION_CONFIRMATION_CODE_RETRIED";
17747    field public static final String EXTRA_RESOLUTION_CONSENT = "android.service.euicc.extra.RESOLUTION_CONSENT";
17748    field public static final String EXTRA_RESOLUTION_PORT_INDEX = "android.service.euicc.extra.RESOLUTION_PORT_INDEX";
17749    field public static final String EXTRA_RESOLUTION_SUBSCRIPTION_ID = "android.service.euicc.extra.RESOLUTION_SUBSCRIPTION_ID";
17750    field public static final String EXTRA_RESOLUTION_USE_PORT_INDEX = "android.service.euicc.extra.RESOLUTION_USE_PORT_INDEX";
17751    field public static final String EXTRA_RESOLVABLE_ERRORS = "android.service.euicc.extra.RESOLVABLE_ERRORS";
17752    field public static final int RESOLVABLE_ERROR_CONFIRMATION_CODE = 1; // 0x1
17753    field public static final int RESOLVABLE_ERROR_POLICY_RULES = 2; // 0x2
17754    field public static final int RESULT_FIRST_USER = 1; // 0x1
17755    field public static final int RESULT_MUST_DEACTIVATE_SIM = -1; // 0xffffffff
17756    field @Deprecated public static final int RESULT_NEED_CONFIRMATION_CODE = -2; // 0xfffffffe
17757    field public static final int RESULT_OK = 0; // 0x0
17758    field public static final int RESULT_RESOLVABLE_ERRORS = -2; // 0xfffffffe
17759  }
17760
17761  public abstract static class EuiccService.OtaStatusChangedCallback {
17762    ctor public EuiccService.OtaStatusChangedCallback();
17763    method public abstract void onOtaStatusChanged(int);
17764  }
17765
17766  public final class GetDefaultDownloadableSubscriptionListResult implements android.os.Parcelable {
17767    ctor public GetDefaultDownloadableSubscriptionListResult(int, @Nullable android.telephony.euicc.DownloadableSubscription[]);
17768    method public int describeContents();
17769    method @Nullable public java.util.List<android.telephony.euicc.DownloadableSubscription> getDownloadableSubscriptions();
17770    method public int getResult();
17771    method public void writeToParcel(android.os.Parcel, int);
17772    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetDefaultDownloadableSubscriptionListResult> CREATOR;
17773  }
17774
17775  public final class GetDownloadableSubscriptionMetadataResult implements android.os.Parcelable {
17776    ctor public GetDownloadableSubscriptionMetadataResult(int, @Nullable android.telephony.euicc.DownloadableSubscription);
17777    method public int describeContents();
17778    method @Nullable public android.telephony.euicc.DownloadableSubscription getDownloadableSubscription();
17779    method public int getResult();
17780    method public void writeToParcel(android.os.Parcel, int);
17781    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetDownloadableSubscriptionMetadataResult> CREATOR;
17782  }
17783
17784  public final class GetEuiccProfileInfoListResult implements android.os.Parcelable {
17785    ctor public GetEuiccProfileInfoListResult(int, @Nullable android.service.euicc.EuiccProfileInfo[], boolean);
17786    method public int describeContents();
17787    method public boolean getIsRemovable();
17788    method @Nullable public java.util.List<android.service.euicc.EuiccProfileInfo> getProfiles();
17789    method public int getResult();
17790    method public void writeToParcel(android.os.Parcel, int);
17791    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetEuiccProfileInfoListResult> CREATOR;
17792  }
17793
17794}
17795
17796package android.service.games {
17797
17798  public final class CreateGameSessionRequest implements android.os.Parcelable {
17799    ctor public CreateGameSessionRequest(int, @NonNull String);
17800    method public int describeContents();
17801    method @NonNull public String getGamePackageName();
17802    method public int getTaskId();
17803    method public void writeToParcel(@NonNull android.os.Parcel, int);
17804    field @NonNull public static final android.os.Parcelable.Creator<android.service.games.CreateGameSessionRequest> CREATOR;
17805  }
17806
17807  public class GameService extends android.app.Service {
17808    ctor public GameService();
17809    method @RequiresPermission(android.Manifest.permission.MANAGE_GAME_ACTIVITY) public final void createGameSession(@IntRange(from=0) int);
17810    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
17811    method public void onConnected();
17812    method public void onDisconnected();
17813    method public void onGameStarted(@NonNull android.service.games.GameStartedEvent);
17814    field public static final String ACTION_GAME_SERVICE = "android.service.games.action.GAME_SERVICE";
17815    field public static final String SERVICE_META_DATA = "android.game_service";
17816  }
17817
17818  public abstract class GameSession {
17819    ctor public GameSession();
17820    method public void onCreate();
17821    method public void onDestroy();
17822    method public void onGameTaskFocusChanged(boolean);
17823    method public void onTransientSystemBarVisibilityFromRevealGestureChanged(boolean);
17824    method @RequiresPermission(android.Manifest.permission.MANAGE_GAME_ACTIVITY) public final boolean restartGame();
17825    method public void setTaskOverlayView(@NonNull android.view.View, @NonNull android.view.ViewGroup.LayoutParams);
17826    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);
17827    method @RequiresPermission(android.Manifest.permission.MANAGE_GAME_ACTIVITY) public void takeScreenshot(@NonNull java.util.concurrent.Executor, @NonNull android.service.games.GameSession.ScreenshotCallback);
17828  }
17829
17830  public static interface GameSession.ScreenshotCallback {
17831    method public void onFailure(int);
17832    method public void onSuccess();
17833    field public static final int ERROR_TAKE_SCREENSHOT_INTERNAL_ERROR = 0; // 0x0
17834  }
17835
17836  public interface GameSessionActivityCallback {
17837    method public void onActivityResult(int, @Nullable android.content.Intent);
17838    method public default void onActivityStartFailed(@NonNull Throwable);
17839  }
17840
17841  public abstract class GameSessionService extends android.app.Service {
17842    ctor public GameSessionService();
17843    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
17844    method @NonNull public abstract android.service.games.GameSession onNewSession(@NonNull android.service.games.CreateGameSessionRequest);
17845    field public static final String ACTION_GAME_SESSION_SERVICE = "android.service.games.action.GAME_SESSION_SERVICE";
17846  }
17847
17848  public final class GameStartedEvent implements android.os.Parcelable {
17849    ctor public GameStartedEvent(@IntRange(from=0) int, @NonNull String);
17850    method public int describeContents();
17851    method @NonNull public String getPackageName();
17852    method @IntRange(from=0) public int getTaskId();
17853    method public void writeToParcel(@NonNull android.os.Parcel, int);
17854    field @NonNull public static final android.os.Parcelable.Creator<android.service.games.GameStartedEvent> CREATOR;
17855  }
17856
17857}
17858
17859package android.service.notification {
17860
17861  public final class Adjustment implements android.os.Parcelable {
17862    ctor public Adjustment(String, String, android.os.Bundle, CharSequence, int);
17863    ctor public Adjustment(@NonNull String, @NonNull String, @NonNull android.os.Bundle, @NonNull CharSequence, @NonNull android.os.UserHandle);
17864    ctor protected Adjustment(android.os.Parcel);
17865    method public int describeContents();
17866    method @NonNull public CharSequence getExplanation();
17867    method @NonNull public String getKey();
17868    method @NonNull public String getPackage();
17869    method @NonNull public android.os.Bundle getSignals();
17870    method public int getUser();
17871    method @NonNull public android.os.UserHandle getUserHandle();
17872    method public void writeToParcel(android.os.Parcel, int);
17873    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.Adjustment> CREATOR;
17874    field public static final String KEY_CONTEXTUAL_ACTIONS = "key_contextual_actions";
17875    field public static final String KEY_IMPORTANCE = "key_importance";
17876    field public static final String KEY_IMPORTANCE_PROPOSAL = "key_importance_proposal";
17877    field public static final String KEY_NOT_CONVERSATION = "key_not_conversation";
17878    field public static final String KEY_PEOPLE = "key_people";
17879    field public static final String KEY_RANKING_SCORE = "key_ranking_score";
17880    field public static final String KEY_SENSITIVE_CONTENT = "key_sensitive_content";
17881    field public static final String KEY_SNOOZE_CRITERIA = "key_snooze_criteria";
17882    field public static final String KEY_TEXT_REPLIES = "key_text_replies";
17883    field public static final String KEY_USER_SENTIMENT = "key_user_sentiment";
17884  }
17885
17886  public abstract class NotificationAssistantService extends android.service.notification.NotificationListenerService {
17887    ctor public NotificationAssistantService();
17888    method public final void adjustNotification(@NonNull android.service.notification.Adjustment);
17889    method public final void adjustNotifications(@NonNull java.util.List<android.service.notification.Adjustment>);
17890    method public void onActionInvoked(@NonNull String, @NonNull android.app.Notification.Action, int);
17891    method @Deprecated public void onAllowedAdjustmentsChanged();
17892    method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent);
17893    method public void onNotificationClicked(@NonNull String);
17894    method public void onNotificationDirectReplied(@NonNull String);
17895    method @Nullable public abstract android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification);
17896    method @Nullable public android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification, @NonNull android.app.NotificationChannel);
17897    method @Nullable public android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification, @NonNull android.app.NotificationChannel, @NonNull android.service.notification.NotificationListenerService.RankingMap);
17898    method public void onNotificationExpansionChanged(@NonNull String, boolean, boolean);
17899    method public void onNotificationFeedbackReceived(@NonNull String, @NonNull android.service.notification.NotificationListenerService.RankingMap, @NonNull android.os.Bundle);
17900    method public abstract void onNotificationSnoozedUntilContext(@NonNull android.service.notification.StatusBarNotification, @NonNull String);
17901    method public void onNotificationVisibilityChanged(@NonNull String, boolean);
17902    method public void onNotificationsSeen(@NonNull java.util.List<java.lang.String>);
17903    method public void onPanelHidden();
17904    method public void onPanelRevealed(int);
17905    method public void onSuggestedReplySent(@NonNull String, @NonNull CharSequence, int);
17906    method public final void unsnoozeNotification(@NonNull String);
17907    field public static final String ACTION_NOTIFICATION_ASSISTANT_DETAIL_SETTINGS = "android.service.notification.action.NOTIFICATION_ASSISTANT_DETAIL_SETTINGS";
17908    field public static final String FEEDBACK_RATING = "feedback.rating";
17909    field public static final String SERVICE_INTERFACE = "android.service.notification.NotificationAssistantService";
17910    field public static final int SOURCE_FROM_APP = 0; // 0x0
17911    field public static final int SOURCE_FROM_ASSISTANT = 1; // 0x1
17912  }
17913
17914  public abstract class NotificationListenerService extends android.app.Service {
17915    method public void onNotificationRemoved(@NonNull android.service.notification.StatusBarNotification, @NonNull android.service.notification.NotificationListenerService.RankingMap, @NonNull android.service.notification.NotificationStats, int);
17916  }
17917
17918  public static class NotificationListenerService.Ranking {
17919    method public int getProposedImportance();
17920    method public boolean hasSensitiveContent();
17921  }
17922
17923  public final class NotificationStats implements android.os.Parcelable {
17924    ctor public NotificationStats();
17925    ctor protected NotificationStats(android.os.Parcel);
17926    method public int describeContents();
17927    method public int getDismissalSentiment();
17928    method public int getDismissalSurface();
17929    method public boolean hasDirectReplied();
17930    method public boolean hasExpanded();
17931    method public boolean hasInteracted();
17932    method public boolean hasSeen();
17933    method public boolean hasSnoozed();
17934    method public boolean hasViewedSettings();
17935    method public void setDirectReplied();
17936    method public void setDismissalSentiment(int);
17937    method public void setDismissalSurface(int);
17938    method public void setExpanded();
17939    method public void setSeen();
17940    method public void setSnoozed();
17941    method public void setViewedSettings();
17942    method public void writeToParcel(android.os.Parcel, int);
17943    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.NotificationStats> CREATOR;
17944    field public static final int DISMISSAL_AOD = 2; // 0x2
17945    field public static final int DISMISSAL_NOT_DISMISSED = -1; // 0xffffffff
17946    field public static final int DISMISSAL_OTHER = 0; // 0x0
17947    field public static final int DISMISSAL_PEEK = 1; // 0x1
17948    field public static final int DISMISSAL_SHADE = 3; // 0x3
17949    field public static final int DISMISS_SENTIMENT_NEGATIVE = 0; // 0x0
17950    field public static final int DISMISS_SENTIMENT_NEUTRAL = 1; // 0x1
17951    field public static final int DISMISS_SENTIMENT_POSITIVE = 2; // 0x2
17952    field public static final int DISMISS_SENTIMENT_UNKNOWN = -1000; // 0xfffffc18
17953  }
17954
17955  public final class SnoozeCriterion implements android.os.Parcelable {
17956    ctor public SnoozeCriterion(String, CharSequence, CharSequence);
17957    ctor protected SnoozeCriterion(android.os.Parcel);
17958    method public int describeContents();
17959    method public CharSequence getConfirmation();
17960    method public CharSequence getExplanation();
17961    method public String getId();
17962    method public void writeToParcel(android.os.Parcel, int);
17963    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.SnoozeCriterion> CREATOR;
17964  }
17965
17966}
17967
17968package android.service.oemlock {
17969
17970  public class OemLockManager {
17971    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public String getLockName();
17972    method @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public boolean isOemUnlockAllowedByCarrier();
17973    method @RequiresPermission(android.Manifest.permission.MANAGE_USER_OEM_UNLOCK_STATE) public boolean isOemUnlockAllowedByUser();
17974    method @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public void setOemUnlockAllowedByCarrier(boolean, @Nullable byte[]);
17975    method @RequiresPermission(android.Manifest.permission.MANAGE_USER_OEM_UNLOCK_STATE) public void setOemUnlockAllowedByUser(boolean);
17976  }
17977
17978}
17979
17980package android.service.persistentdata {
17981
17982  public class PersistentDataBlockManager {
17983    method @RequiresPermission(android.Manifest.permission.ACCESS_PDB_STATE) public int getDataBlockSize();
17984    method @android.service.persistentdata.PersistentDataBlockManager.FlashLockState @RequiresPermission(anyOf={android.Manifest.permission.READ_OEM_UNLOCK_STATE, "android.permission.OEM_UNLOCK_STATE"}) public int getFlashLockState();
17985    method public long getMaximumDataBlockSize();
17986    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_OEM_UNLOCK_STATE, "android.permission.OEM_UNLOCK_STATE"}) public boolean getOemUnlockEnabled();
17987    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_PDB_STATE) public String getPersistentDataPackageName();
17988    method public byte[] read();
17989    method @Deprecated @RequiresPermission("android.permission.OEM_UNLOCK_STATE") public void setOemUnlockEnabled(boolean);
17990    method @RequiresPermission("android.permission.OEM_UNLOCK_STATE") public void wipe();
17991    method public int write(byte[]);
17992    field public static final int FLASH_LOCK_LOCKED = 1; // 0x1
17993    field public static final int FLASH_LOCK_UNKNOWN = -1; // 0xffffffff
17994    field public static final int FLASH_LOCK_UNLOCKED = 0; // 0x0
17995  }
17996
17997  @IntDef(prefix={"FLASH_LOCK_"}, value={android.service.persistentdata.PersistentDataBlockManager.FLASH_LOCK_UNKNOWN, android.service.persistentdata.PersistentDataBlockManager.FLASH_LOCK_LOCKED, android.service.persistentdata.PersistentDataBlockManager.FLASH_LOCK_UNLOCKED}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface PersistentDataBlockManager.FlashLockState {
17998  }
17999
18000}
18001
18002package android.service.quicksettings {
18003
18004  public class TileService extends android.app.Service {
18005    method public final void setStatusIcon(android.graphics.drawable.Icon, String);
18006  }
18007
18008}
18009
18010package android.service.remotelockscreenvalidation {
18011
18012  public abstract class RemoteLockscreenValidationService extends android.app.Service {
18013    ctor public RemoteLockscreenValidationService();
18014    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
18015    method public abstract void onValidateLockscreenGuess(@NonNull byte[], @NonNull android.os.OutcomeReceiver<android.app.RemoteLockscreenValidationResult,java.lang.Exception>);
18016    field public static final String SERVICE_INTERFACE = "android.service.remotelockscreenvalidation.RemoteLockscreenValidationService";
18017  }
18018
18019}
18020
18021package android.service.resolver {
18022
18023  public abstract class ResolverRankerService extends android.app.Service {
18024    ctor public ResolverRankerService();
18025    method public android.os.IBinder onBind(android.content.Intent);
18026    method public void onPredictSharingProbabilities(java.util.List<android.service.resolver.ResolverTarget>);
18027    method public void onTrainRankingModel(java.util.List<android.service.resolver.ResolverTarget>, int);
18028    field public static final String BIND_PERMISSION = "android.permission.BIND_RESOLVER_RANKER_SERVICE";
18029    field public static final String HOLD_PERMISSION = "android.permission.PROVIDE_RESOLVER_RANKER_SERVICE";
18030    field public static final String SERVICE_INTERFACE = "android.service.resolver.ResolverRankerService";
18031  }
18032
18033  public final class ResolverTarget implements android.os.Parcelable {
18034    ctor public ResolverTarget();
18035    method public int describeContents();
18036    method public float getChooserScore();
18037    method public float getLaunchScore();
18038    method public float getRecencyScore();
18039    method public float getSelectProbability();
18040    method public float getTimeSpentScore();
18041    method public void setChooserScore(float);
18042    method public void setLaunchScore(float);
18043    method public void setRecencyScore(float);
18044    method public void setSelectProbability(float);
18045    method public void setTimeSpentScore(float);
18046    method public void writeToParcel(android.os.Parcel, int);
18047    field @NonNull public static final android.os.Parcelable.Creator<android.service.resolver.ResolverTarget> CREATOR;
18048  }
18049
18050}
18051
18052package android.service.resumeonreboot {
18053
18054  public abstract class ResumeOnRebootService extends android.app.Service {
18055    ctor public ResumeOnRebootService();
18056    method @Nullable public android.os.IBinder onBind(@Nullable android.content.Intent);
18057    method @NonNull public abstract byte[] onUnwrap(@NonNull byte[]) throws java.io.IOException;
18058    method @NonNull public abstract byte[] onWrap(@NonNull byte[], long) throws java.io.IOException;
18059    field public static final String SERVICE_INTERFACE = "android.service.resumeonreboot.ResumeOnRebootService";
18060  }
18061
18062}
18063
18064package android.service.rotationresolver {
18065
18066  public final class RotationResolutionRequest implements android.os.Parcelable {
18067    ctor public RotationResolutionRequest(@NonNull String, int, int, boolean, long);
18068    method public int describeContents();
18069    method public int getCurrentRotation();
18070    method @NonNull public String getForegroundPackageName();
18071    method public int getProposedRotation();
18072    method public long getTimeoutMillis();
18073    method public boolean shouldUseCamera();
18074    method public void writeToParcel(@NonNull android.os.Parcel, int);
18075    field @NonNull public static final android.os.Parcelable.Creator<android.service.rotationresolver.RotationResolutionRequest> CREATOR;
18076  }
18077
18078  public abstract class RotationResolverService extends android.app.Service {
18079    ctor public RotationResolverService();
18080    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
18081    method public abstract void onResolveRotation(@NonNull android.service.rotationresolver.RotationResolutionRequest, @Nullable android.os.CancellationSignal, @NonNull android.service.rotationresolver.RotationResolverService.RotationResolverCallback);
18082    field public static final int ROTATION_RESULT_FAILURE_CANCELLED = 0; // 0x0
18083    field public static final int ROTATION_RESULT_FAILURE_NOT_SUPPORTED = 4; // 0x4
18084    field public static final int ROTATION_RESULT_FAILURE_PREEMPTED = 2; // 0x2
18085    field public static final int ROTATION_RESULT_FAILURE_TIMED_OUT = 1; // 0x1
18086    field public static final int ROTATION_RESULT_FAILURE_UNKNOWN = 3; // 0x3
18087    field public static final String SERVICE_INTERFACE = "android.service.rotationresolver.RotationResolverService";
18088  }
18089
18090  public static interface RotationResolverService.RotationResolverCallback {
18091    method public void onFailure(int);
18092    method public void onSuccess(int);
18093  }
18094
18095}
18096
18097package android.service.search {
18098
18099  public abstract class SearchUiService extends android.app.Service {
18100    ctor public SearchUiService();
18101    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
18102    method @MainThread public abstract void onDestroy(@NonNull android.app.search.SearchSessionId);
18103    method @MainThread public abstract void onNotifyEvent(@NonNull android.app.search.SearchSessionId, @NonNull android.app.search.Query, @NonNull android.app.search.SearchTargetEvent);
18104    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>>);
18105    method public void onSearchSessionCreated(@NonNull android.app.search.SearchContext, @NonNull android.app.search.SearchSessionId);
18106    method @MainThread public void onStartUpdateEmptyQueryResult();
18107    method @MainThread public void onStopUpdateEmptyQueryResult();
18108    method public final void updateEmptyQueryResult(@NonNull android.app.search.SearchSessionId, @NonNull java.util.List<android.app.search.SearchTarget>);
18109  }
18110
18111}
18112
18113package android.service.settings.suggestions {
18114
18115  public final class Suggestion implements android.os.Parcelable {
18116    method public int describeContents();
18117    method public int getFlags();
18118    method public android.graphics.drawable.Icon getIcon();
18119    method public String getId();
18120    method public android.app.PendingIntent getPendingIntent();
18121    method public CharSequence getSummary();
18122    method public CharSequence getTitle();
18123    method public void writeToParcel(android.os.Parcel, int);
18124    field @NonNull public static final android.os.Parcelable.Creator<android.service.settings.suggestions.Suggestion> CREATOR;
18125    field public static final int FLAG_HAS_BUTTON = 1; // 0x1
18126  }
18127
18128  public static class Suggestion.Builder {
18129    ctor public Suggestion.Builder(String);
18130    method public android.service.settings.suggestions.Suggestion build();
18131    method public android.service.settings.suggestions.Suggestion.Builder setFlags(int);
18132    method public android.service.settings.suggestions.Suggestion.Builder setIcon(android.graphics.drawable.Icon);
18133    method public android.service.settings.suggestions.Suggestion.Builder setPendingIntent(android.app.PendingIntent);
18134    method public android.service.settings.suggestions.Suggestion.Builder setSummary(CharSequence);
18135    method public android.service.settings.suggestions.Suggestion.Builder setTitle(CharSequence);
18136  }
18137
18138  public abstract class SuggestionService extends android.app.Service {
18139    ctor public SuggestionService();
18140    method public android.os.IBinder onBind(android.content.Intent);
18141    method public abstract java.util.List<android.service.settings.suggestions.Suggestion> onGetSuggestions();
18142    method public abstract void onSuggestionDismissed(android.service.settings.suggestions.Suggestion);
18143    method public abstract void onSuggestionLaunched(android.service.settings.suggestions.Suggestion);
18144  }
18145
18146}
18147
18148package android.service.smartspace {
18149
18150  public abstract class SmartspaceService extends android.app.Service {
18151    ctor public SmartspaceService();
18152    method @MainThread public abstract void notifySmartspaceEvent(@NonNull android.app.smartspace.SmartspaceSessionId, @NonNull android.app.smartspace.SmartspaceTargetEvent);
18153    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
18154    method public abstract void onCreateSmartspaceSession(@NonNull android.app.smartspace.SmartspaceConfig, @NonNull android.app.smartspace.SmartspaceSessionId);
18155    method @MainThread public abstract void onDestroy(@NonNull android.app.smartspace.SmartspaceSessionId);
18156    method public abstract void onDestroySmartspaceSession(@NonNull android.app.smartspace.SmartspaceSessionId);
18157    method @MainThread public abstract void onRequestSmartspaceUpdate(@NonNull android.app.smartspace.SmartspaceSessionId);
18158    method public final void updateSmartspaceTargets(@NonNull android.app.smartspace.SmartspaceSessionId, @NonNull java.util.List<android.app.smartspace.SmartspaceTarget>);
18159  }
18160
18161}
18162
18163package android.service.storage {
18164
18165  public abstract class ExternalStorageService extends android.app.Service {
18166    ctor public ExternalStorageService();
18167    method public void onAnrDelayStarted(@NonNull String, int, int, int);
18168    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
18169    method public abstract void onEndSession(@NonNull String) throws java.io.IOException;
18170    method public void onFreeCache(@NonNull java.util.UUID, long) throws java.io.IOException;
18171    method public abstract void onStartSession(@NonNull String, int, @NonNull android.os.ParcelFileDescriptor, @NonNull java.io.File, @NonNull java.io.File) throws java.io.IOException;
18172    method public abstract void onVolumeStateChanged(@NonNull android.os.storage.StorageVolume) throws java.io.IOException;
18173    field public static final int FLAG_SESSION_ATTRIBUTE_INDEXABLE = 2; // 0x2
18174    field public static final int FLAG_SESSION_TYPE_FUSE = 1; // 0x1
18175    field public static final String SERVICE_INTERFACE = "android.service.storage.ExternalStorageService";
18176  }
18177
18178}
18179
18180package android.service.textclassifier {
18181
18182  public abstract class TextClassifierService extends android.app.Service {
18183    ctor public TextClassifierService();
18184    method @NonNull public static android.view.textclassifier.TextClassifier getDefaultTextClassifierImplementation(@NonNull android.content.Context);
18185    method @Deprecated public final android.view.textclassifier.TextClassifier getLocalTextClassifier();
18186    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
18187    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>);
18188    method public void onConnected();
18189    method @MainThread public void onCreateTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationContext, @NonNull android.view.textclassifier.TextClassificationSessionId);
18190    method @MainThread public void onDestroyTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationSessionId);
18191    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>);
18192    method public void onDisconnected();
18193    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>);
18194    method @Deprecated @MainThread public void onSelectionEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.SelectionEvent);
18195    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>);
18196    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>);
18197    method @MainThread public void onTextClassifierEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextClassifierEvent);
18198    field public static final String SERVICE_INTERFACE = "android.service.textclassifier.TextClassifierService";
18199  }
18200
18201  public static interface TextClassifierService.Callback<T> {
18202    method public void onFailure(@NonNull CharSequence);
18203    method public void onSuccess(T);
18204  }
18205
18206}
18207
18208package android.service.timezone {
18209
18210  public abstract class TimeZoneProviderService extends android.app.Service {
18211    ctor public TimeZoneProviderService();
18212    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
18213    method public abstract void onStartUpdates(long);
18214    method public abstract void onStopUpdates();
18215    method public final void reportPermanentFailure(@NonNull Throwable);
18216    method public final void reportSuggestion(@NonNull android.service.timezone.TimeZoneProviderSuggestion);
18217    method public final void reportSuggestion(@NonNull android.service.timezone.TimeZoneProviderSuggestion, @NonNull android.service.timezone.TimeZoneProviderStatus);
18218    method public final void reportUncertain();
18219    method public final void reportUncertain(@NonNull android.service.timezone.TimeZoneProviderStatus);
18220    field public static final String PRIMARY_LOCATION_TIME_ZONE_PROVIDER_SERVICE_INTERFACE = "android.service.timezone.PrimaryLocationTimeZoneProviderService";
18221    field public static final String SECONDARY_LOCATION_TIME_ZONE_PROVIDER_SERVICE_INTERFACE = "android.service.timezone.SecondaryLocationTimeZoneProviderService";
18222  }
18223
18224  public final class TimeZoneProviderStatus implements android.os.Parcelable {
18225    method public int describeContents();
18226    method public int getConnectivityDependencyStatus();
18227    method public int getLocationDetectionDependencyStatus();
18228    method public int getTimeZoneResolutionOperationStatus();
18229    method public void writeToParcel(@NonNull android.os.Parcel, int);
18230    field @NonNull public static final android.os.Parcelable.Creator<android.service.timezone.TimeZoneProviderStatus> CREATOR;
18231    field public static final int DEPENDENCY_STATUS_BLOCKED_BY_ENVIRONMENT = 4; // 0x4
18232    field public static final int DEPENDENCY_STATUS_BLOCKED_BY_SETTINGS = 6; // 0x6
18233    field public static final int DEPENDENCY_STATUS_DEGRADED_BY_SETTINGS = 5; // 0x5
18234    field public static final int DEPENDENCY_STATUS_NOT_APPLICABLE = 1; // 0x1
18235    field public static final int DEPENDENCY_STATUS_OK = 2; // 0x2
18236    field public static final int DEPENDENCY_STATUS_TEMPORARILY_UNAVAILABLE = 3; // 0x3
18237    field public static final int OPERATION_STATUS_FAILED = 3; // 0x3
18238    field public static final int OPERATION_STATUS_NOT_APPLICABLE = 1; // 0x1
18239    field public static final int OPERATION_STATUS_OK = 2; // 0x2
18240  }
18241
18242  public static final class TimeZoneProviderStatus.Builder {
18243    ctor public TimeZoneProviderStatus.Builder();
18244    method @NonNull public android.service.timezone.TimeZoneProviderStatus build();
18245    method @NonNull public android.service.timezone.TimeZoneProviderStatus.Builder setConnectivityDependencyStatus(int);
18246    method @NonNull public android.service.timezone.TimeZoneProviderStatus.Builder setLocationDetectionDependencyStatus(int);
18247    method @NonNull public android.service.timezone.TimeZoneProviderStatus.Builder setTimeZoneResolutionOperationStatus(int);
18248  }
18249
18250  public final class TimeZoneProviderSuggestion implements android.os.Parcelable {
18251    method public int describeContents();
18252    method public long getElapsedRealtimeMillis();
18253    method @NonNull public java.util.List<java.lang.String> getTimeZoneIds();
18254    method public void writeToParcel(@NonNull android.os.Parcel, int);
18255    field @NonNull public static final android.os.Parcelable.Creator<android.service.timezone.TimeZoneProviderSuggestion> CREATOR;
18256  }
18257
18258  public static final class TimeZoneProviderSuggestion.Builder {
18259    ctor public TimeZoneProviderSuggestion.Builder();
18260    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion build();
18261    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion.Builder setElapsedRealtimeMillis(long);
18262    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion.Builder setTimeZoneIds(@NonNull java.util.List<java.lang.String>);
18263  }
18264
18265}
18266
18267package android.service.tracing {
18268
18269  public class TraceReportService extends android.app.Service {
18270    ctor public TraceReportService();
18271    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
18272    method public void onReportTrace(@NonNull android.service.tracing.TraceReportService.TraceParams);
18273  }
18274
18275  public static final class TraceReportService.TraceParams {
18276    method @NonNull public android.os.ParcelFileDescriptor getFd();
18277    method @NonNull public java.util.UUID getUuid();
18278  }
18279
18280}
18281
18282package android.service.translation {
18283
18284  public abstract class TranslationService extends android.app.Service {
18285    ctor public TranslationService();
18286    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
18287    method public void onConnected();
18288    method public abstract void onCreateTranslationSession(@NonNull android.view.translation.TranslationContext, int, @NonNull java.util.function.Consumer<java.lang.Boolean>);
18289    method public void onDisconnected();
18290    method public abstract void onFinishTranslationSession(int);
18291    method public abstract void onTranslationCapabilitiesRequest(int, int, @NonNull java.util.function.Consumer<java.util.Set<android.view.translation.TranslationCapability>>);
18292    method public abstract void onTranslationRequest(@NonNull android.view.translation.TranslationRequest, int, @Nullable android.os.CancellationSignal, @NonNull java.util.function.Consumer<android.view.translation.TranslationResponse>);
18293    method public final void updateTranslationCapability(@NonNull android.view.translation.TranslationCapability);
18294    field public static final String SERVICE_INTERFACE = "android.service.translation.TranslationService";
18295    field public static final String SERVICE_META_DATA = "android.translation_service";
18296  }
18297
18298}
18299
18300package android.service.trust {
18301
18302  public final class GrantTrustResult implements android.os.Parcelable {
18303    ctor public GrantTrustResult(int);
18304    method public int describeContents();
18305    method public int getStatus();
18306    method @NonNull public static String statusToString(int);
18307    method public void writeToParcel(@NonNull android.os.Parcel, int);
18308    field @NonNull public static final android.os.Parcelable.Creator<android.service.trust.GrantTrustResult> CREATOR;
18309    field public static final int STATUS_UNKNOWN = 0; // 0x0
18310    field public static final int STATUS_UNLOCKED_BY_GRANT = 1; // 0x1
18311  }
18312
18313  public class TrustAgentService extends android.app.Service {
18314    ctor public TrustAgentService();
18315    method public final void addEscrowToken(byte[], android.os.UserHandle);
18316    method @Deprecated public final void grantTrust(CharSequence, long, boolean);
18317    method @Deprecated public final void grantTrust(CharSequence, long, int);
18318    method public final void grantTrust(@NonNull CharSequence, long, int, @Nullable java.util.function.Consumer<android.service.trust.GrantTrustResult>);
18319    method public final void isEscrowTokenActive(long, android.os.UserHandle);
18320    method public final void lockUser();
18321    method public final android.os.IBinder onBind(android.content.Intent);
18322    method public boolean onConfigure(java.util.List<android.os.PersistableBundle>);
18323    method public void onDeviceLocked();
18324    method public void onDeviceUnlockLockout(long);
18325    method public void onDeviceUnlocked();
18326    method public void onEscrowTokenAdded(byte[], long, android.os.UserHandle);
18327    method public void onEscrowTokenRemoved(long, boolean);
18328    method public void onEscrowTokenStateReceived(long, int);
18329    method public void onTrustTimeout();
18330    method public void onUnlockAttempt(boolean);
18331    method public void onUserMayRequestUnlock();
18332    method public void onUserRequestedUnlock(boolean);
18333    method public final void removeEscrowToken(long, android.os.UserHandle);
18334    method public final void revokeTrust();
18335    method public final void setManagingTrust(boolean);
18336    method public final void showKeyguardErrorMessage(@NonNull CharSequence);
18337    method public final void unlockUserWithToken(long, byte[], android.os.UserHandle);
18338    field public static final int FLAG_GRANT_TRUST_DISMISS_KEYGUARD = 2; // 0x2
18339    field public static final int FLAG_GRANT_TRUST_DISPLAY_MESSAGE = 8; // 0x8
18340    field public static final int FLAG_GRANT_TRUST_INITIATED_BY_USER = 1; // 0x1
18341    field public static final int FLAG_GRANT_TRUST_TEMPORARY_AND_RENEWABLE = 4; // 0x4
18342    field public static final String SERVICE_INTERFACE = "android.service.trust.TrustAgentService";
18343    field public static final int TOKEN_STATE_ACTIVE = 1; // 0x1
18344    field public static final int TOKEN_STATE_INACTIVE = 0; // 0x0
18345    field public static final String TRUST_AGENT_META_DATA = "android.service.trust.trustagent";
18346  }
18347
18348}
18349
18350package android.service.voice {
18351
18352  public class AlwaysOnHotwordDetector implements android.service.voice.HotwordDetector {
18353    method @Nullable public android.content.Intent createEnrollIntent();
18354    method @Nullable public android.content.Intent createReEnrollIntent();
18355    method @Nullable public android.content.Intent createUnEnrollIntent();
18356    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public int getParameter(int);
18357    method public int getSupportedAudioCapabilities();
18358    method public int getSupportedRecognitionModes();
18359    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public android.service.voice.AlwaysOnHotwordDetector.ModelParamRange queryParameter(int);
18360    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public int setParameter(int, int);
18361    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition(int, @NonNull byte[]);
18362    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition(int);
18363    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition();
18364    method public boolean startRecognition(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle);
18365    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean stopRecognition();
18366    method public final void updateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory);
18367    field public static final int AUDIO_CAPABILITY_ECHO_CANCELLATION = 1; // 0x1
18368    field public static final int AUDIO_CAPABILITY_NOISE_SUPPRESSION = 2; // 0x2
18369    field public static final int MODEL_PARAM_THRESHOLD_FACTOR = 0; // 0x0
18370    field public static final int RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS = 2; // 0x2
18371    field public static final int RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO = 1; // 0x1
18372    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_ECHO_CANCELLATION = 4; // 0x4
18373    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_NOISE_SUPPRESSION = 8; // 0x8
18374    field public static final int RECOGNITION_FLAG_RUN_IN_BATTERY_SAVER = 16; // 0x10
18375    field public static final int RECOGNITION_MODE_USER_IDENTIFICATION = 2; // 0x2
18376    field public static final int RECOGNITION_MODE_VOICE_TRIGGER = 1; // 0x1
18377    field public static final int STATE_ERROR = 3; // 0x3
18378    field public static final int STATE_HARDWARE_UNAVAILABLE = -2; // 0xfffffffe
18379    field public static final int STATE_KEYPHRASE_ENROLLED = 2; // 0x2
18380    field public static final int STATE_KEYPHRASE_UNENROLLED = 1; // 0x1
18381    field @Deprecated public static final int STATE_KEYPHRASE_UNSUPPORTED = -1; // 0xffffffff
18382  }
18383
18384  public abstract static class AlwaysOnHotwordDetector.Callback implements android.service.voice.HotwordDetector.Callback {
18385    ctor public AlwaysOnHotwordDetector.Callback();
18386    method public abstract void onAvailabilityChanged(int);
18387    method public void onFailure(@NonNull android.service.voice.SoundTriggerFailure);
18388    method public void onHotwordDetectionServiceInitialized(int);
18389    method public void onHotwordDetectionServiceRestarted();
18390    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
18391  }
18392
18393  public static class AlwaysOnHotwordDetector.EventPayload {
18394    method @Nullable public android.os.ParcelFileDescriptor getAudioStream();
18395    method @Nullable public android.media.AudioFormat getCaptureAudioFormat();
18396    method @Nullable public byte[] getData();
18397    method public int getDataFormat();
18398    method public long getHalEventReceivedMillis();
18399    method @Nullable public android.service.voice.HotwordDetectedResult getHotwordDetectedResult();
18400    method @NonNull public java.util.List<android.hardware.soundtrigger.SoundTrigger.KeyphraseRecognitionExtra> getKeyphraseRecognitionExtras();
18401    method @Deprecated @Nullable public byte[] getTriggerAudio();
18402    field public static final int DATA_FORMAT_RAW = 0; // 0x0
18403    field public static final int DATA_FORMAT_TRIGGER_AUDIO = 1; // 0x1
18404  }
18405
18406  public static final class AlwaysOnHotwordDetector.ModelParamRange {
18407    method public int getEnd();
18408    method public int getStart();
18409  }
18410
18411  public final class FailureSuggestedAction {
18412    field public static final int DISABLE_DETECTION = 2; // 0x2
18413    field public static final int NONE = 1; // 0x1
18414    field public static final int RECREATE_DETECTOR = 3; // 0x3
18415    field public static final int RESTART_RECOGNITION = 4; // 0x4
18416    field public static final int UNKNOWN = 0; // 0x0
18417  }
18418
18419  public final class HotwordAudioStream implements android.os.Parcelable {
18420    method public int describeContents();
18421    method @NonNull public android.media.AudioFormat getAudioFormat();
18422    method @NonNull public android.os.ParcelFileDescriptor getAudioStreamParcelFileDescriptor();
18423    method @NonNull public byte[] getInitialAudio();
18424    method @NonNull public android.os.PersistableBundle getMetadata();
18425    method @Nullable public android.media.AudioTimestamp getTimestamp();
18426    method public void writeToParcel(@NonNull android.os.Parcel, int);
18427    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordAudioStream> CREATOR;
18428    field public static final String KEY_AUDIO_STREAM_COPY_BUFFER_LENGTH_BYTES = "android.service.voice.key.AUDIO_STREAM_COPY_BUFFER_LENGTH_BYTES";
18429  }
18430
18431  public static final class HotwordAudioStream.Builder {
18432    ctor public HotwordAudioStream.Builder(@NonNull android.media.AudioFormat, @NonNull android.os.ParcelFileDescriptor);
18433    method @NonNull public android.service.voice.HotwordAudioStream build();
18434    method @NonNull public android.service.voice.HotwordAudioStream.Builder setAudioFormat(@NonNull android.media.AudioFormat);
18435    method @NonNull public android.service.voice.HotwordAudioStream.Builder setAudioStreamParcelFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
18436    method @NonNull public android.service.voice.HotwordAudioStream.Builder setInitialAudio(@NonNull byte[]);
18437    method @NonNull public android.service.voice.HotwordAudioStream.Builder setMetadata(@NonNull android.os.PersistableBundle);
18438    method @NonNull public android.service.voice.HotwordAudioStream.Builder setTimestamp(@NonNull android.media.AudioTimestamp);
18439  }
18440
18441  public final class HotwordDetectedResult implements android.os.Parcelable {
18442    method public int describeContents();
18443    method public int getAudioChannel();
18444    method @NonNull public java.util.List<android.service.voice.HotwordAudioStream> getAudioStreams();
18445    method public int getBackgroundAudioPower();
18446    method public int getConfidenceLevel();
18447    method @NonNull public android.os.PersistableBundle getExtras();
18448    method public int getHotwordDurationMillis();
18449    method public int getHotwordOffsetMillis();
18450    method public int getHotwordPhraseId();
18451    method public static int getMaxBackgroundAudioPower();
18452    method public static int getMaxBundleSize();
18453    method public static int getMaxHotwordPhraseId();
18454    method public static int getMaxScore();
18455    method @Nullable public android.media.MediaSyncEvent getMediaSyncEvent();
18456    method public int getPersonalizedScore();
18457    method public int getProximity();
18458    method public int getScore();
18459    method public boolean isHotwordDetectionPersonalized();
18460    method public void writeToParcel(@NonNull android.os.Parcel, int);
18461    field public static final int AUDIO_CHANNEL_UNSET = -1; // 0xffffffff
18462    field public static final int BACKGROUND_AUDIO_POWER_UNSET = -1; // 0xffffffff
18463    field public static final int CONFIDENCE_LEVEL_HIGH = 5; // 0x5
18464    field public static final int CONFIDENCE_LEVEL_LOW = 1; // 0x1
18465    field public static final int CONFIDENCE_LEVEL_LOW_MEDIUM = 2; // 0x2
18466    field public static final int CONFIDENCE_LEVEL_MEDIUM = 3; // 0x3
18467    field public static final int CONFIDENCE_LEVEL_MEDIUM_HIGH = 4; // 0x4
18468    field public static final int CONFIDENCE_LEVEL_NONE = 0; // 0x0
18469    field public static final int CONFIDENCE_LEVEL_VERY_HIGH = 6; // 0x6
18470    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordDetectedResult> CREATOR;
18471    field public static final int HOTWORD_OFFSET_UNSET = -1; // 0xffffffff
18472    field public static final int PROXIMITY_FAR = 2; // 0x2
18473    field public static final int PROXIMITY_NEAR = 1; // 0x1
18474    field public static final int PROXIMITY_UNKNOWN = -1; // 0xffffffff
18475  }
18476
18477  public static final class HotwordDetectedResult.Builder {
18478    ctor public HotwordDetectedResult.Builder();
18479    method @NonNull public android.service.voice.HotwordDetectedResult build();
18480    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setAudioChannel(int);
18481    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setAudioStreams(@NonNull java.util.List<android.service.voice.HotwordAudioStream>);
18482    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setBackgroundAudioPower(int);
18483    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setConfidenceLevel(int);
18484    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setExtras(@NonNull android.os.PersistableBundle);
18485    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordDetectionPersonalized(boolean);
18486    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordDurationMillis(int);
18487    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordOffsetMillis(int);
18488    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordPhraseId(int);
18489    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setMediaSyncEvent(@NonNull android.media.MediaSyncEvent);
18490    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setPersonalizedScore(int);
18491    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setScore(int);
18492  }
18493
18494  public abstract class HotwordDetectionService extends android.app.Service implements android.service.voice.SandboxedDetectionInitializer {
18495    ctor public HotwordDetectionService();
18496    method @Deprecated public static int getMaxCustomInitializationStatus();
18497    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
18498    method public void onDetect(@NonNull android.service.voice.AlwaysOnHotwordDetector.EventPayload, long, @NonNull android.service.voice.HotwordDetectionService.Callback);
18499    method public void onDetect(@NonNull android.service.voice.HotwordDetectionService.Callback);
18500    method public void onDetect(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle, @NonNull android.service.voice.HotwordDetectionService.Callback);
18501    method public void onStopDetection();
18502    method public void onUpdateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, long, @Nullable java.util.function.IntConsumer);
18503    field @Deprecated public static final int INITIALIZATION_STATUS_SUCCESS = 0; // 0x0
18504    field @Deprecated public static final int INITIALIZATION_STATUS_UNKNOWN = 100; // 0x64
18505    field public static final String SERVICE_INTERFACE = "android.service.voice.HotwordDetectionService";
18506  }
18507
18508  public static final class HotwordDetectionService.Callback {
18509    method public void onDetected(@NonNull android.service.voice.HotwordDetectedResult);
18510    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
18511  }
18512
18513  public final class HotwordDetectionServiceFailure implements android.os.Parcelable {
18514    method public int describeContents();
18515    method public int getErrorCode();
18516    method @NonNull public String getErrorMessage();
18517    method public int getSuggestedAction();
18518    method public void writeToParcel(@NonNull android.os.Parcel, int);
18519    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordDetectionServiceFailure> CREATOR;
18520    field public static final int ERROR_CODE_BINDING_DIED = 2; // 0x2
18521    field public static final int ERROR_CODE_BIND_FAILURE = 1; // 0x1
18522    field public static final int ERROR_CODE_COPY_AUDIO_DATA_FAILURE = 3; // 0x3
18523    field public static final int ERROR_CODE_DETECT_TIMEOUT = 4; // 0x4
18524    field public static final int ERROR_CODE_ON_DETECTED_SECURITY_EXCEPTION = 5; // 0x5
18525    field public static final int ERROR_CODE_ON_DETECTED_STREAM_COPY_FAILURE = 6; // 0x6
18526    field public static final int ERROR_CODE_REMOTE_EXCEPTION = 7; // 0x7
18527    field public static final int ERROR_CODE_UNKNOWN = 0; // 0x0
18528  }
18529
18530  public interface HotwordDetector {
18531    method public default void destroy();
18532    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition();
18533    method public boolean startRecognition(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle);
18534    method public boolean stopRecognition();
18535    method public void updateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory);
18536  }
18537
18538  public static interface HotwordDetector.Callback {
18539    method public void onDetected(@NonNull android.service.voice.AlwaysOnHotwordDetector.EventPayload);
18540    method @Deprecated public void onError();
18541    method public default void onFailure(@NonNull android.service.voice.HotwordDetectionServiceFailure);
18542    method public void onHotwordDetectionServiceInitialized(int);
18543    method public void onHotwordDetectionServiceRestarted();
18544    method public void onRecognitionPaused();
18545    method public void onRecognitionResumed();
18546    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
18547    method public default void onUnknownFailure(@NonNull String);
18548  }
18549
18550  public final class HotwordRejectedResult implements android.os.Parcelable {
18551    method public int describeContents();
18552    method public int getConfidenceLevel();
18553    method public void writeToParcel(@NonNull android.os.Parcel, int);
18554    field public static final int CONFIDENCE_LEVEL_HIGH = 3; // 0x3
18555    field public static final int CONFIDENCE_LEVEL_LOW = 1; // 0x1
18556    field public static final int CONFIDENCE_LEVEL_MEDIUM = 2; // 0x2
18557    field public static final int CONFIDENCE_LEVEL_NONE = 0; // 0x0
18558    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordRejectedResult> CREATOR;
18559  }
18560
18561  public static final class HotwordRejectedResult.Builder {
18562    ctor public HotwordRejectedResult.Builder();
18563    method @NonNull public android.service.voice.HotwordRejectedResult build();
18564    method @NonNull public android.service.voice.HotwordRejectedResult.Builder setConfidenceLevel(int);
18565  }
18566
18567  public interface SandboxedDetectionInitializer {
18568    method public static int getMaxCustomInitializationStatus();
18569    method public void onUpdateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, long, @Nullable java.util.function.IntConsumer);
18570    field public static final int INITIALIZATION_STATUS_SUCCESS = 0; // 0x0
18571    field public static final int INITIALIZATION_STATUS_UNKNOWN = 100; // 0x64
18572  }
18573
18574  public final class SoundTriggerFailure implements android.os.Parcelable {
18575    method public int describeContents();
18576    method public int getErrorCode();
18577    method @NonNull public String getErrorMessage();
18578    method public int getSuggestedAction();
18579    method public void writeToParcel(@NonNull android.os.Parcel, int);
18580    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.SoundTriggerFailure> CREATOR;
18581    field public static final int ERROR_CODE_MODULE_DIED = 1; // 0x1
18582    field public static final int ERROR_CODE_RECOGNITION_RESUME_FAILED = 2; // 0x2
18583    field public static final int ERROR_CODE_UNEXPECTED_PREEMPTION = 3; // 0x3
18584    field public static final int ERROR_CODE_UNKNOWN = 0; // 0x0
18585  }
18586
18587  public abstract class VisualQueryDetectionService extends android.app.Service implements android.service.voice.SandboxedDetectionInitializer {
18588    ctor public VisualQueryDetectionService();
18589    method public final void finishQuery() throws java.lang.IllegalStateException;
18590    method public final void gainedAttention();
18591    method public final void lostAttention();
18592    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
18593    method public void onStartDetection();
18594    method public void onStopDetection();
18595    method public void onUpdateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, long, @Nullable java.util.function.IntConsumer);
18596    method public final void rejectQuery() throws java.lang.IllegalStateException;
18597    method public final void streamQuery(@NonNull String) throws java.lang.IllegalStateException;
18598    field public static final String SERVICE_INTERFACE = "android.service.voice.VisualQueryDetectionService";
18599  }
18600
18601  public final class VisualQueryDetectionServiceFailure implements android.os.Parcelable {
18602    method public int describeContents();
18603    method public int getErrorCode();
18604    method @NonNull public String getErrorMessage();
18605    method public int getSuggestedAction();
18606    method public void writeToParcel(@NonNull android.os.Parcel, int);
18607    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.VisualQueryDetectionServiceFailure> CREATOR;
18608    field public static final int ERROR_CODE_BINDING_DIED = 2; // 0x2
18609    field public static final int ERROR_CODE_BIND_FAILURE = 1; // 0x1
18610    field public static final int ERROR_CODE_ILLEGAL_ATTENTION_STATE = 3; // 0x3
18611    field public static final int ERROR_CODE_ILLEGAL_STREAMING_STATE = 4; // 0x4
18612    field public static final int ERROR_CODE_REMOTE_EXCEPTION = 5; // 0x5
18613    field public static final int ERROR_CODE_UNKNOWN = 0; // 0x0
18614  }
18615
18616  public class VisualQueryDetector {
18617    method public void destroy();
18618    method @RequiresPermission(allOf={android.Manifest.permission.CAMERA, android.Manifest.permission.RECORD_AUDIO}) public boolean startRecognition();
18619    method @RequiresPermission(allOf={android.Manifest.permission.CAMERA, android.Manifest.permission.RECORD_AUDIO}) public boolean stopRecognition();
18620    method public void updateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory);
18621  }
18622
18623  public static interface VisualQueryDetector.Callback {
18624    method public void onFailure(@NonNull android.service.voice.VisualQueryDetectionServiceFailure);
18625    method public void onQueryDetected(@NonNull String);
18626    method public void onQueryFinished();
18627    method public void onQueryRejected();
18628    method public void onUnknownFailure(@NonNull String);
18629    method public void onVisualQueryDetectionServiceInitialized(int);
18630    method public void onVisualQueryDetectionServiceRestarted();
18631  }
18632
18633  public class VoiceInteractionService extends android.app.Service {
18634    method @Deprecated @NonNull public final android.service.voice.AlwaysOnHotwordDetector createAlwaysOnHotwordDetector(String, java.util.Locale, android.service.voice.AlwaysOnHotwordDetector.Callback);
18635    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);
18636    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);
18637    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);
18638    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);
18639    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);
18640    method @NonNull @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public final android.media.voice.KeyphraseModelManager createKeyphraseModelManager();
18641    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);
18642  }
18643
18644}
18645
18646package android.service.wallpaper {
18647
18648  public class WallpaperService.Engine {
18649    method public boolean isInAmbientMode();
18650    method @MainThread public void onAmbientModeChanged(boolean, long);
18651  }
18652
18653}
18654
18655package android.service.wallpapereffectsgeneration {
18656
18657  public abstract class WallpaperEffectsGenerationService extends android.app.Service {
18658    ctor public WallpaperEffectsGenerationService();
18659    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
18660    method @MainThread public abstract void onGenerateCinematicEffect(@NonNull android.app.wallpapereffectsgeneration.CinematicEffectRequest);
18661    method public final void returnCinematicEffectResponse(@NonNull android.app.wallpapereffectsgeneration.CinematicEffectResponse);
18662    field public static final String SERVICE_INTERFACE = "android.service.wallpapereffectsgeneration.WallpaperEffectsGenerationService";
18663  }
18664
18665}
18666
18667package android.service.watchdog {
18668
18669  public abstract class ExplicitHealthCheckService extends android.app.Service {
18670    ctor public ExplicitHealthCheckService();
18671    method public final void notifyHealthCheckPassed(@NonNull String);
18672    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
18673    method public abstract void onCancelHealthCheck(@NonNull String);
18674    method @NonNull public abstract java.util.List<java.lang.String> onGetRequestedPackages();
18675    method @NonNull public abstract java.util.List<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> onGetSupportedPackages();
18676    method public abstract void onRequestHealthCheck(@NonNull String);
18677    field public static final String BIND_PERMISSION = "android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE";
18678    field public static final String SERVICE_INTERFACE = "android.service.watchdog.ExplicitHealthCheckService";
18679  }
18680
18681  public static final class ExplicitHealthCheckService.PackageConfig implements android.os.Parcelable {
18682    ctor public ExplicitHealthCheckService.PackageConfig(@NonNull String, long);
18683    method public int describeContents();
18684    method public long getHealthCheckTimeoutMillis();
18685    method @NonNull public String getPackageName();
18686    method public void writeToParcel(android.os.Parcel, int);
18687    field @NonNull public static final android.os.Parcelable.Creator<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> CREATOR;
18688  }
18689
18690}
18691
18692package android.service.wearable {
18693
18694  public abstract class WearableSensingService extends android.app.Service {
18695    ctor public WearableSensingService();
18696    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
18697    method @BinderThread public abstract void onDataProvided(@NonNull android.os.PersistableBundle, @Nullable android.os.SharedMemory, @NonNull java.util.function.Consumer<java.lang.Integer>);
18698    method @BinderThread public abstract void onDataStreamProvided(@NonNull android.os.ParcelFileDescriptor, @NonNull java.util.function.Consumer<java.lang.Integer>);
18699    method @BinderThread public abstract void onQueryServiceStatus(@NonNull java.util.Set<java.lang.Integer>, @NonNull String, @NonNull java.util.function.Consumer<android.service.ambientcontext.AmbientContextDetectionServiceStatus>);
18700    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>);
18701    method public abstract void onStopDetection(@NonNull String);
18702    field public static final String SERVICE_INTERFACE = "android.service.wearable.WearableSensingService";
18703  }
18704
18705}
18706
18707package android.system.virtualmachine {
18708
18709  public class VirtualMachine implements java.lang.AutoCloseable {
18710    method public void clearCallback();
18711    method @WorkerThread public void close();
18712    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;
18713    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;
18714    method @NonNull @WorkerThread public android.system.virtualmachine.VirtualMachineConfig getConfig();
18715    method @NonNull @WorkerThread public java.io.InputStream getConsoleOutput() throws android.system.virtualmachine.VirtualMachineException;
18716    method @NonNull @WorkerThread public java.io.InputStream getLogOutput() throws android.system.virtualmachine.VirtualMachineException;
18717    method @NonNull public String getName();
18718    method @WorkerThread public int getStatus();
18719    method @RequiresPermission(android.system.virtualmachine.VirtualMachine.MANAGE_VIRTUAL_MACHINE_PERMISSION) @WorkerThread public void run() throws android.system.virtualmachine.VirtualMachineException;
18720    method public void setCallback(@NonNull java.util.concurrent.Executor, @NonNull android.system.virtualmachine.VirtualMachineCallback);
18721    method @NonNull @WorkerThread public android.system.virtualmachine.VirtualMachineConfig setConfig(@NonNull android.system.virtualmachine.VirtualMachineConfig) throws android.system.virtualmachine.VirtualMachineException;
18722    method @WorkerThread public void stop() throws android.system.virtualmachine.VirtualMachineException;
18723    method @NonNull @WorkerThread public android.system.virtualmachine.VirtualMachineDescriptor toDescriptor() throws android.system.virtualmachine.VirtualMachineException;
18724    field public static final String MANAGE_VIRTUAL_MACHINE_PERMISSION = "android.permission.MANAGE_VIRTUAL_MACHINE";
18725    field public static final long MAX_VSOCK_PORT = 4294967295L; // 0xffffffffL
18726    field public static final long MIN_VSOCK_PORT = 1024L; // 0x400L
18727    field public static final int STATUS_DELETED = 2; // 0x2
18728    field public static final int STATUS_RUNNING = 1; // 0x1
18729    field public static final int STATUS_STOPPED = 0; // 0x0
18730    field public static final String USE_CUSTOM_VIRTUAL_MACHINE_PERMISSION = "android.permission.USE_CUSTOM_VIRTUAL_MACHINE";
18731  }
18732
18733  public interface VirtualMachineCallback {
18734    method public void onError(@NonNull android.system.virtualmachine.VirtualMachine, int, @NonNull String);
18735    method public void onPayloadFinished(@NonNull android.system.virtualmachine.VirtualMachine, int);
18736    method public void onPayloadReady(@NonNull android.system.virtualmachine.VirtualMachine);
18737    method public void onPayloadStarted(@NonNull android.system.virtualmachine.VirtualMachine);
18738    method public void onStopped(@NonNull android.system.virtualmachine.VirtualMachine, int);
18739    field public static final int ERROR_PAYLOAD_CHANGED = 2; // 0x2
18740    field public static final int ERROR_PAYLOAD_INVALID_CONFIG = 3; // 0x3
18741    field public static final int ERROR_PAYLOAD_VERIFICATION_FAILED = 1; // 0x1
18742    field public static final int ERROR_UNKNOWN = 0; // 0x0
18743    field public static final int STOP_REASON_BOOTLOADER_INSTANCE_IMAGE_CHANGED = 10; // 0xa
18744    field public static final int STOP_REASON_BOOTLOADER_PUBLIC_KEY_MISMATCH = 9; // 0x9
18745    field public static final int STOP_REASON_CRASH = 6; // 0x6
18746    field public static final int STOP_REASON_HANGUP = 16; // 0x10
18747    field public static final int STOP_REASON_INFRASTRUCTURE_ERROR = 0; // 0x0
18748    field public static final int STOP_REASON_KILLED = 1; // 0x1
18749    field public static final int STOP_REASON_MICRODROID_FAILED_TO_CONNECT_TO_VIRTUALIZATION_SERVICE = 11; // 0xb
18750    field public static final int STOP_REASON_MICRODROID_INVALID_PAYLOAD_CONFIG = 14; // 0xe
18751    field public static final int STOP_REASON_MICRODROID_PAYLOAD_HAS_CHANGED = 12; // 0xc
18752    field public static final int STOP_REASON_MICRODROID_PAYLOAD_VERIFICATION_FAILED = 13; // 0xd
18753    field public static final int STOP_REASON_MICRODROID_UNKNOWN_RUNTIME_ERROR = 15; // 0xf
18754    field public static final int STOP_REASON_PVM_FIRMWARE_INSTANCE_IMAGE_CHANGED = 8; // 0x8
18755    field public static final int STOP_REASON_PVM_FIRMWARE_PUBLIC_KEY_MISMATCH = 7; // 0x7
18756    field public static final int STOP_REASON_REBOOT = 5; // 0x5
18757    field public static final int STOP_REASON_SHUTDOWN = 3; // 0x3
18758    field public static final int STOP_REASON_START_FAILED = 4; // 0x4
18759    field public static final int STOP_REASON_UNKNOWN = 2; // 0x2
18760    field public static final int STOP_REASON_VIRTUALIZATION_SERVICE_DIED = -1; // 0xffffffff
18761  }
18762
18763  public final class VirtualMachineConfig {
18764    method @Nullable public String getApkPath();
18765    method public int getCpuTopology();
18766    method public int getDebugLevel();
18767    method @IntRange(from=0) public long getEncryptedStorageBytes();
18768    method @IntRange(from=0) public long getMemoryBytes();
18769    method @Nullable public String getPayloadBinaryName();
18770    method public boolean isCompatibleWith(@NonNull android.system.virtualmachine.VirtualMachineConfig);
18771    method public boolean isEncryptedStorageEnabled();
18772    method public boolean isProtectedVm();
18773    method public boolean isVmOutputCaptured();
18774    field public static final int CPU_TOPOLOGY_MATCH_HOST = 1; // 0x1
18775    field public static final int CPU_TOPOLOGY_ONE_CPU = 0; // 0x0
18776    field public static final int DEBUG_LEVEL_FULL = 1; // 0x1
18777    field public static final int DEBUG_LEVEL_NONE = 0; // 0x0
18778  }
18779
18780  public static final class VirtualMachineConfig.Builder {
18781    ctor public VirtualMachineConfig.Builder(@NonNull android.content.Context);
18782    method @NonNull public android.system.virtualmachine.VirtualMachineConfig build();
18783    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setApkPath(@NonNull String);
18784    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setCpuTopology(int);
18785    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setDebugLevel(int);
18786    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setEncryptedStorageBytes(@IntRange(from=1) long);
18787    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setMemoryBytes(@IntRange(from=1) long);
18788    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setPayloadBinaryName(@NonNull String);
18789    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setProtectedVm(boolean);
18790    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setVmOutputCaptured(boolean);
18791  }
18792
18793  public final class VirtualMachineDescriptor implements java.lang.AutoCloseable android.os.Parcelable {
18794    method public void close();
18795    method public int describeContents();
18796    method public void writeToParcel(@NonNull android.os.Parcel, int);
18797    field @NonNull public static final android.os.Parcelable.Creator<android.system.virtualmachine.VirtualMachineDescriptor> CREATOR;
18798  }
18799
18800  public class VirtualMachineException extends java.lang.Exception {
18801  }
18802
18803  public class VirtualMachineManager {
18804    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;
18805    method @WorkerThread public void delete(@NonNull String) throws android.system.virtualmachine.VirtualMachineException;
18806    method @Nullable @WorkerThread public android.system.virtualmachine.VirtualMachine get(@NonNull String) throws android.system.virtualmachine.VirtualMachineException;
18807    method public int getCapabilities();
18808    method @NonNull @WorkerThread public android.system.virtualmachine.VirtualMachine getOrCreate(@NonNull String, @NonNull android.system.virtualmachine.VirtualMachineConfig) throws android.system.virtualmachine.VirtualMachineException;
18809    method @NonNull @WorkerThread public android.system.virtualmachine.VirtualMachine importFromDescriptor(@NonNull String, @NonNull android.system.virtualmachine.VirtualMachineDescriptor) throws android.system.virtualmachine.VirtualMachineException;
18810    field public static final int CAPABILITY_NON_PROTECTED_VM = 2; // 0x2
18811    field public static final int CAPABILITY_PROTECTED_VM = 1; // 0x1
18812  }
18813
18814}
18815
18816package android.telecom {
18817
18818  @Deprecated public class AudioState implements android.os.Parcelable {
18819    ctor @Deprecated public AudioState(boolean, int, int);
18820    ctor @Deprecated public AudioState(android.telecom.AudioState);
18821    ctor @Deprecated public AudioState(android.telecom.CallAudioState);
18822    method @Deprecated public static String audioRouteToString(int);
18823    method @Deprecated public int describeContents();
18824    method @Deprecated public int getRoute();
18825    method @Deprecated public int getSupportedRouteMask();
18826    method @Deprecated public boolean isMuted();
18827    method @Deprecated public void writeToParcel(android.os.Parcel, int);
18828    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.telecom.AudioState> CREATOR;
18829    field @Deprecated public static final int ROUTE_BLUETOOTH = 2; // 0x2
18830    field @Deprecated public static final int ROUTE_EARPIECE = 1; // 0x1
18831    field @Deprecated public static final int ROUTE_SPEAKER = 8; // 0x8
18832    field @Deprecated public static final int ROUTE_WIRED_HEADSET = 4; // 0x4
18833    field @Deprecated public static final int ROUTE_WIRED_OR_EARPIECE = 5; // 0x5
18834  }
18835
18836  public final class BluetoothCallQualityReport implements android.os.Parcelable {
18837    method public int describeContents();
18838    method @IntRange(from=0) public int getNegativeAcknowledgementCount();
18839    method @IntRange(from=0) public int getPacketsNotReceivedCount();
18840    method @IntRange(from=0) public int getRetransmittedPacketsCount();
18841    method @IntRange(from=0xffffff81, to=20) public int getRssiDbm();
18842    method public long getSentTimestampMillis();
18843    method public int getSnrDb();
18844    method public boolean isChoppyVoice();
18845    method public void writeToParcel(@NonNull android.os.Parcel, int);
18846    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.BluetoothCallQualityReport> CREATOR;
18847    field public static final String EVENT_BLUETOOTH_CALL_QUALITY_REPORT = "android.telecom.event.BLUETOOTH_CALL_QUALITY_REPORT";
18848    field public static final String EXTRA_BLUETOOTH_CALL_QUALITY_REPORT = "android.telecom.extra.BLUETOOTH_CALL_QUALITY_REPORT";
18849  }
18850
18851  public static final class BluetoothCallQualityReport.Builder {
18852    ctor public BluetoothCallQualityReport.Builder();
18853    method @NonNull public android.telecom.BluetoothCallQualityReport build();
18854    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setChoppyVoice(boolean);
18855    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setNegativeAcknowledgementCount(int);
18856    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setPacketsNotReceivedCount(int);
18857    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setRetransmittedPacketsCount(int);
18858    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setRssiDbm(int);
18859    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setSentTimestampMillis(long);
18860    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setSnrDb(int);
18861  }
18862
18863  public final class Call {
18864    method @Deprecated public void addListener(android.telecom.Call.Listener);
18865    method public void enterBackgroundAudioProcessing();
18866    method public void exitBackgroundAudioProcessing(boolean);
18867    method @Deprecated public void removeListener(android.telecom.Call.Listener);
18868    field @Deprecated public static final int STATE_PRE_DIAL_WAIT = 8; // 0x8
18869  }
18870
18871  @Deprecated public abstract static class Call.Listener extends android.telecom.Call.Callback {
18872    ctor @Deprecated public Call.Listener();
18873  }
18874
18875  public abstract class CallDiagnosticService extends android.app.Service {
18876    ctor public CallDiagnosticService();
18877    method @NonNull public java.util.concurrent.Executor getExecutor();
18878    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
18879    method public abstract void onBluetoothCallQualityReportReceived(@NonNull android.telecom.BluetoothCallQualityReport);
18880    method public abstract void onCallAudioStateChanged(@NonNull android.telecom.CallAudioState);
18881    method @NonNull public abstract android.telecom.CallDiagnostics onInitializeCallDiagnostics(@NonNull android.telecom.Call.Details);
18882    method public abstract void onRemoveCallDiagnostics(@NonNull android.telecom.CallDiagnostics);
18883    field public static final String SERVICE_INTERFACE = "android.telecom.CallDiagnosticService";
18884  }
18885
18886  public abstract class CallDiagnostics {
18887    ctor public CallDiagnostics();
18888    method public final void clearDiagnosticMessage(int);
18889    method public final void displayDiagnosticMessage(int, @NonNull CharSequence);
18890    method public abstract void onCallDetailsChanged(@NonNull android.telecom.Call.Details);
18891    method @Nullable public abstract CharSequence onCallDisconnected(int, int);
18892    method @Nullable public abstract CharSequence onCallDisconnected(@NonNull android.telephony.ims.ImsReasonInfo);
18893    method public abstract void onCallQualityReceived(@NonNull android.telephony.CallQuality);
18894    method public abstract void onReceiveDeviceToDeviceMessage(int, int);
18895    method public final void sendDeviceToDeviceMessage(int, int);
18896    field public static final int BATTERY_STATE_CHARGING = 3; // 0x3
18897    field public static final int BATTERY_STATE_GOOD = 2; // 0x2
18898    field public static final int BATTERY_STATE_LOW = 1; // 0x1
18899    field public static final int COVERAGE_GOOD = 2; // 0x2
18900    field public static final int COVERAGE_POOR = 1; // 0x1
18901    field public static final int MESSAGE_CALL_AUDIO_CODEC = 2; // 0x2
18902    field public static final int MESSAGE_CALL_NETWORK_TYPE = 1; // 0x1
18903    field public static final int MESSAGE_DEVICE_BATTERY_STATE = 3; // 0x3
18904    field public static final int MESSAGE_DEVICE_NETWORK_COVERAGE = 4; // 0x4
18905  }
18906
18907  public static class CallScreeningService.CallResponse.Builder {
18908    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public android.telecom.CallScreeningService.CallResponse.Builder setShouldScreenCallViaAudioProcessing(boolean);
18909  }
18910
18911  public abstract class CallStreamingService extends android.app.Service {
18912    ctor public CallStreamingService();
18913    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
18914    method public void onCallStreamingStarted(@NonNull android.telecom.StreamingCall);
18915    method public void onCallStreamingStateChanged(int);
18916    method public void onCallStreamingStopped();
18917    field public static final String SERVICE_INTERFACE = "android.telecom.CallStreamingService";
18918    field public static final int STREAMING_FAILED_ALREADY_STREAMING = 1; // 0x1
18919    field public static final int STREAMING_FAILED_NO_SENDER = 2; // 0x2
18920    field public static final int STREAMING_FAILED_SENDER_BINDING_ERROR = 3; // 0x3
18921    field public static final int STREAMING_FAILED_UNKNOWN = 0; // 0x0
18922  }
18923
18924  public abstract class Conference extends android.telecom.Conferenceable {
18925    method @Deprecated public final android.telecom.AudioState getAudioState();
18926    method @Deprecated public final long getConnectTimeMillis();
18927    method public android.telecom.Connection getPrimaryConnection();
18928    method @NonNull public final String getTelecomCallId();
18929    method @Deprecated public void onAudioStateChanged(android.telecom.AudioState);
18930    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setAddress(@NonNull android.net.Uri, int);
18931    method public final void setCallerDisplayName(@NonNull String, int);
18932    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setConferenceState(boolean);
18933    method @Deprecated public final void setConnectTimeMillis(long);
18934  }
18935
18936  public abstract class Connection extends android.telecom.Conferenceable {
18937    method @Deprecated public final android.telecom.AudioState getAudioState();
18938    method @IntRange(from=0) public final long getConnectTimeMillis();
18939    method public final long getConnectionStartElapsedRealtimeMillis();
18940    method @Nullable public android.telecom.PhoneAccountHandle getPhoneAccountHandle();
18941    method @Nullable public final String getTelecomCallId();
18942    method @Deprecated public void onAudioStateChanged(android.telecom.AudioState);
18943    method @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public void onCallFilteringCompleted(@NonNull android.telecom.Connection.CallFilteringCompletionInfo);
18944    method public final void resetConnectionTime();
18945    method public void setCallDirection(int);
18946    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setConnectTimeMillis(@IntRange(from=0) long);
18947    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setConnectionStartElapsedRealtimeMillis(long);
18948    method public void setPhoneAccountHandle(@NonNull android.telecom.PhoneAccountHandle);
18949    method public void setTelecomCallId(@NonNull String);
18950    field public static final int CAPABILITY_CONFERENCE_HAS_NO_CHILDREN = 2097152; // 0x200000
18951    field public static final int CAPABILITY_SPEED_UP_MT_AUDIO = 262144; // 0x40000
18952    field public static final String EVENT_DEVICE_TO_DEVICE_MESSAGE = "android.telecom.event.DEVICE_TO_DEVICE_MESSAGE";
18953    field public static final String EXTRA_DEVICE_TO_DEVICE_MESSAGE_TYPE = "android.telecom.extra.DEVICE_TO_DEVICE_MESSAGE_TYPE";
18954    field public static final String EXTRA_DEVICE_TO_DEVICE_MESSAGE_VALUE = "android.telecom.extra.DEVICE_TO_DEVICE_MESSAGE_VALUE";
18955    field public static final String EXTRA_DISABLE_ADD_CALL = "android.telecom.extra.DISABLE_ADD_CALL";
18956    field public static final int PROPERTY_EMERGENCY_CALLBACK_MODE = 1; // 0x1
18957    field public static final int PROPERTY_GENERIC_CONFERENCE = 2; // 0x2
18958    field public static final int PROPERTY_IS_DOWNGRADED_CONFERENCE = 64; // 0x40
18959    field public static final int PROPERTY_REMOTELY_HOSTED = 2048; // 0x800
18960  }
18961
18962  public static final class Connection.CallFilteringCompletionInfo implements android.os.Parcelable {
18963    ctor public Connection.CallFilteringCompletionInfo(boolean, boolean, @Nullable android.telecom.CallScreeningService.CallResponse, @Nullable android.content.ComponentName);
18964    method public int describeContents();
18965    method @Nullable public android.telecom.CallScreeningService.CallResponse getCallResponse();
18966    method @Nullable public android.content.ComponentName getCallScreeningComponent();
18967    method public boolean isBlocked();
18968    method public boolean isInContacts();
18969    method public void writeToParcel(android.os.Parcel, int);
18970    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.Connection.CallFilteringCompletionInfo> CREATOR;
18971  }
18972
18973  public final class ConnectionRequest implements android.os.Parcelable {
18974    method @Nullable public String getTelecomCallId();
18975  }
18976
18977  public abstract class ConnectionService extends android.app.Service {
18978    method public final void addExistingConnection(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.Connection, @NonNull android.telecom.Conference);
18979  }
18980
18981  public abstract class InCallService extends android.app.Service {
18982    method @Deprecated public android.telecom.Phone getPhone();
18983    method @Deprecated public void onPhoneCreated(android.telecom.Phone);
18984    method @Deprecated public void onPhoneDestroyed(android.telecom.Phone);
18985  }
18986
18987  public class ParcelableCallAnalytics implements android.os.Parcelable {
18988    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>);
18989    ctor public ParcelableCallAnalytics(android.os.Parcel);
18990    method public java.util.List<android.telecom.ParcelableCallAnalytics.AnalyticsEvent> analyticsEvents();
18991    method public int describeContents();
18992    method public long getCallDurationMillis();
18993    method public int getCallTechnologies();
18994    method public int getCallTerminationCode();
18995    method public int getCallType();
18996    method public String getConnectionService();
18997    method public java.util.List<android.telecom.ParcelableCallAnalytics.EventTiming> getEventTimings();
18998    method public long getStartTimeMillis();
18999    method public boolean isAdditionalCall();
19000    method public boolean isCreatedFromExistingConnection();
19001    method public boolean isEmergencyCall();
19002    method public boolean isInterrupted();
19003    method public void writeToParcel(android.os.Parcel, int);
19004    field public static final int CALLTYPE_INCOMING = 1; // 0x1
19005    field public static final int CALLTYPE_OUTGOING = 2; // 0x2
19006    field public static final int CALLTYPE_UNKNOWN = 0; // 0x0
19007    field public static final int CDMA_PHONE = 1; // 0x1
19008    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics> CREATOR;
19009    field public static final int GSM_PHONE = 2; // 0x2
19010    field public static final int IMS_PHONE = 4; // 0x4
19011    field public static final long MILLIS_IN_1_SECOND = 1000L; // 0x3e8L
19012    field public static final long MILLIS_IN_5_MINUTES = 300000L; // 0x493e0L
19013    field public static final int SIP_PHONE = 8; // 0x8
19014    field public static final int STILL_CONNECTED = -1; // 0xffffffff
19015    field public static final int THIRD_PARTY_PHONE = 16; // 0x10
19016  }
19017
19018  public static final class ParcelableCallAnalytics.AnalyticsEvent implements android.os.Parcelable {
19019    ctor public ParcelableCallAnalytics.AnalyticsEvent(int, long);
19020    method public int describeContents();
19021    method public int getEventName();
19022    method public long getTimeSinceLastEvent();
19023    method public void writeToParcel(android.os.Parcel, int);
19024    field public static final int AUDIO_ROUTE_BT = 204; // 0xcc
19025    field public static final int AUDIO_ROUTE_EARPIECE = 205; // 0xcd
19026    field public static final int AUDIO_ROUTE_HEADSET = 206; // 0xce
19027    field public static final int AUDIO_ROUTE_SPEAKER = 207; // 0xcf
19028    field public static final int BIND_CS = 5; // 0x5
19029    field public static final int BLOCK_CHECK_FINISHED = 105; // 0x69
19030    field public static final int BLOCK_CHECK_INITIATED = 104; // 0x68
19031    field public static final int CONFERENCE_WITH = 300; // 0x12c
19032    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.AnalyticsEvent> CREATOR;
19033    field public static final int CS_BOUND = 6; // 0x6
19034    field public static final int DIRECT_TO_VM_FINISHED = 103; // 0x67
19035    field public static final int DIRECT_TO_VM_INITIATED = 102; // 0x66
19036    field public static final int DND_CHECK_COMPLETED = 110; // 0x6e
19037    field public static final int DND_CHECK_INITIATED = 109; // 0x6d
19038    field public static final int FILTERING_COMPLETED = 107; // 0x6b
19039    field public static final int FILTERING_INITIATED = 106; // 0x6a
19040    field public static final int FILTERING_TIMED_OUT = 108; // 0x6c
19041    field public static final int MUTE = 202; // 0xca
19042    field public static final int REMOTELY_HELD = 402; // 0x192
19043    field public static final int REMOTELY_UNHELD = 403; // 0x193
19044    field public static final int REQUEST_ACCEPT = 7; // 0x7
19045    field public static final int REQUEST_HOLD = 400; // 0x190
19046    field public static final int REQUEST_PULL = 500; // 0x1f4
19047    field public static final int REQUEST_REJECT = 8; // 0x8
19048    field public static final int REQUEST_UNHOLD = 401; // 0x191
19049    field public static final int SCREENING_COMPLETED = 101; // 0x65
19050    field public static final int SCREENING_SENT = 100; // 0x64
19051    field public static final int SET_ACTIVE = 1; // 0x1
19052    field public static final int SET_DIALING = 4; // 0x4
19053    field public static final int SET_DISCONNECTED = 2; // 0x2
19054    field public static final int SET_HOLD = 404; // 0x194
19055    field public static final int SET_PARENT = 302; // 0x12e
19056    field public static final int SET_SELECT_PHONE_ACCOUNT = 0; // 0x0
19057    field public static final int SILENCE = 201; // 0xc9
19058    field public static final int SKIP_RINGING = 200; // 0xc8
19059    field public static final int SPLIT_CONFERENCE = 301; // 0x12d
19060    field public static final int START_CONNECTION = 3; // 0x3
19061    field public static final int SWAP = 405; // 0x195
19062    field public static final int UNMUTE = 203; // 0xcb
19063  }
19064
19065  public static final class ParcelableCallAnalytics.EventTiming implements android.os.Parcelable {
19066    ctor public ParcelableCallAnalytics.EventTiming(int, long);
19067    method public int describeContents();
19068    method public int getName();
19069    method public long getTime();
19070    method public void writeToParcel(android.os.Parcel, int);
19071    field public static final int ACCEPT_TIMING = 0; // 0x0
19072    field public static final int BIND_CS_TIMING = 6; // 0x6
19073    field public static final int BLOCK_CHECK_FINISHED_TIMING = 9; // 0x9
19074    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.EventTiming> CREATOR;
19075    field public static final int DIRECT_TO_VM_FINISHED_TIMING = 8; // 0x8
19076    field public static final int DISCONNECT_TIMING = 2; // 0x2
19077    field public static final int DND_PRE_CALL_PRE_CHECK_TIMING = 12; // 0xc
19078    field public static final int FILTERING_COMPLETED_TIMING = 10; // 0xa
19079    field public static final int FILTERING_TIMED_OUT_TIMING = 11; // 0xb
19080    field public static final int HOLD_TIMING = 3; // 0x3
19081    field public static final int INVALID = 999999; // 0xf423f
19082    field public static final int OUTGOING_TIME_TO_DIALING_TIMING = 5; // 0x5
19083    field public static final int REJECT_TIMING = 1; // 0x1
19084    field public static final int SCREENING_COMPLETED_TIMING = 7; // 0x7
19085    field public static final int UNHOLD_TIMING = 4; // 0x4
19086  }
19087
19088  @Deprecated public final class Phone {
19089    method @Deprecated public void addListener(android.telecom.Phone.Listener);
19090    method @Deprecated public boolean canAddCall();
19091    method @Deprecated public android.telecom.AudioState getAudioState();
19092    method @Deprecated public android.telecom.CallAudioState getCallAudioState();
19093    method @Deprecated public java.util.List<android.telecom.Call> getCalls();
19094    method @Deprecated public void removeListener(android.telecom.Phone.Listener);
19095    method @Deprecated public void requestBluetoothAudio(String);
19096    method @Deprecated public void setAudioRoute(int);
19097    method @Deprecated public void setMuted(boolean);
19098  }
19099
19100  @Deprecated public abstract static class Phone.Listener {
19101    ctor @Deprecated public Phone.Listener();
19102    method @Deprecated public void onAudioStateChanged(android.telecom.Phone, android.telecom.AudioState);
19103    method @Deprecated public void onBringToForeground(android.telecom.Phone, boolean);
19104    method @Deprecated public void onCallAdded(android.telecom.Phone, android.telecom.Call);
19105    method @Deprecated public void onCallAudioStateChanged(android.telecom.Phone, android.telecom.CallAudioState);
19106    method @Deprecated public void onCallRemoved(android.telecom.Phone, android.telecom.Call);
19107    method @Deprecated public void onCanAddCallChanged(android.telecom.Phone, boolean);
19108    method @Deprecated public void onSilenceRinger(android.telecom.Phone);
19109  }
19110
19111  public final class PhoneAccount implements android.os.Parcelable {
19112    field public static final int CAPABILITY_EMERGENCY_CALLS_ONLY = 128; // 0x80
19113    field public static final int CAPABILITY_EMERGENCY_PREFERRED = 8192; // 0x2000
19114    field public static final int CAPABILITY_EMERGENCY_VIDEO_CALLING = 512; // 0x200
19115    field public static final int CAPABILITY_MULTI_USER = 32; // 0x20
19116    field public static final String EXTRA_PLAY_CALL_RECORDING_TONE = "android.telecom.extra.PLAY_CALL_RECORDING_TONE";
19117    field public static final String EXTRA_SORT_ORDER = "android.telecom.extra.SORT_ORDER";
19118  }
19119
19120  public static class PhoneAccount.Builder {
19121    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telecom.PhoneAccount.Builder setGroupId(@NonNull String);
19122  }
19123
19124  public class PhoneAccountSuggestionService extends android.app.Service {
19125    ctor public PhoneAccountSuggestionService();
19126    method public void onAccountSuggestionRequest(@NonNull String);
19127    method public android.os.IBinder onBind(android.content.Intent);
19128    method public final void suggestPhoneAccounts(@NonNull String, @NonNull java.util.List<android.telecom.PhoneAccountSuggestion>);
19129    field public static final String SERVICE_INTERFACE = "android.telecom.PhoneAccountSuggestionService";
19130  }
19131
19132  public final class RemoteConference {
19133    method @Deprecated public void setAudioState(android.telecom.AudioState);
19134  }
19135
19136  public final class RemoteConnection {
19137    method @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public void onCallFilteringCompleted(@NonNull android.telecom.Connection.CallFilteringCompletionInfo);
19138    method @Deprecated public void setAudioState(android.telecom.AudioState);
19139  }
19140
19141  public final class StatusHints implements android.os.Parcelable {
19142    ctor @Deprecated public StatusHints(android.content.ComponentName, CharSequence, int, android.os.Bundle);
19143    method @Deprecated public android.graphics.drawable.Drawable getIcon(android.content.Context);
19144    method @Deprecated public int getIconResId();
19145    method @Deprecated public android.content.ComponentName getPackageName();
19146  }
19147
19148  public final class StreamingCall implements android.os.Parcelable {
19149    ctor public StreamingCall(@NonNull android.content.ComponentName, @NonNull CharSequence, @NonNull android.net.Uri, @NonNull android.os.Bundle);
19150    method public int describeContents();
19151    method @NonNull public android.net.Uri getAddress();
19152    method @NonNull public android.content.ComponentName getComponentName();
19153    method @NonNull public CharSequence getDisplayName();
19154    method @NonNull public android.os.Bundle getExtras();
19155    method public int getState();
19156    method public void requestStreamingState(int);
19157    method public void writeToParcel(@NonNull android.os.Parcel, int);
19158    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.StreamingCall> CREATOR;
19159    field public static final int STATE_DISCONNECTED = 3; // 0x3
19160    field public static final int STATE_HOLDING = 2; // 0x2
19161    field public static final int STATE_STREAMING = 1; // 0x1
19162  }
19163
19164  public final class TelecomAnalytics implements android.os.Parcelable {
19165    ctor public TelecomAnalytics(java.util.List<android.telecom.TelecomAnalytics.SessionTiming>, java.util.List<android.telecom.ParcelableCallAnalytics>);
19166    method public int describeContents();
19167    method public java.util.List<android.telecom.ParcelableCallAnalytics> getCallAnalytics();
19168    method public java.util.List<android.telecom.TelecomAnalytics.SessionTiming> getSessionTimings();
19169    method public void writeToParcel(android.os.Parcel, int);
19170    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics> CREATOR;
19171  }
19172
19173  public static final class TelecomAnalytics.SessionTiming implements android.os.Parcelable {
19174    ctor public TelecomAnalytics.SessionTiming(int, long);
19175    method public int describeContents();
19176    method public Integer getKey();
19177    method public long getTime();
19178    method public void writeToParcel(android.os.Parcel, int);
19179    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics.SessionTiming> CREATOR;
19180    field public static final int CSW_ADD_CONFERENCE_CALL = 108; // 0x6c
19181    field public static final int CSW_HANDLE_CREATE_CONNECTION_COMPLETE = 100; // 0x64
19182    field public static final int CSW_REMOVE_CALL = 106; // 0x6a
19183    field public static final int CSW_SET_ACTIVE = 101; // 0x65
19184    field public static final int CSW_SET_DIALING = 103; // 0x67
19185    field public static final int CSW_SET_DISCONNECTED = 104; // 0x68
19186    field public static final int CSW_SET_IS_CONFERENCED = 107; // 0x6b
19187    field public static final int CSW_SET_ON_HOLD = 105; // 0x69
19188    field public static final int CSW_SET_RINGING = 102; // 0x66
19189    field public static final int ICA_ANSWER_CALL = 1; // 0x1
19190    field public static final int ICA_CONFERENCE = 8; // 0x8
19191    field public static final int ICA_DISCONNECT_CALL = 3; // 0x3
19192    field public static final int ICA_HOLD_CALL = 4; // 0x4
19193    field public static final int ICA_MUTE = 6; // 0x6
19194    field public static final int ICA_REJECT_CALL = 2; // 0x2
19195    field public static final int ICA_SET_AUDIO_ROUTE = 7; // 0x7
19196    field public static final int ICA_UNHOLD_CALL = 5; // 0x5
19197  }
19198
19199  public class TelecomManager {
19200    method public void addNewUnknownCall(android.telecom.PhoneAccountHandle, android.os.Bundle);
19201    method @Deprecated public void clearAccounts();
19202    method public void clearPhoneAccounts();
19203    method @NonNull public android.content.Intent createLaunchEmergencyDialerIntent(@Nullable String);
19204    method @RequiresPermission(android.Manifest.permission.DUMP) public android.telecom.TelecomAnalytics dumpAnalytics();
19205    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void enablePhoneAccount(android.telecom.PhoneAccountHandle, boolean);
19206    method public java.util.List<android.telecom.PhoneAccountHandle> getAllPhoneAccountHandles();
19207    method public java.util.List<android.telecom.PhoneAccount> getAllPhoneAccounts();
19208    method public int getAllPhoneAccountsCount();
19209    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.telecom.PhoneAccountHandle> getCallCapablePhoneAccounts(boolean);
19210    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}, conditional=true) public int getCallState();
19211    method public android.telecom.PhoneAccountHandle getConnectionManager();
19212    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCurrentTtyMode();
19213    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultDialerPackage(@NonNull android.os.UserHandle);
19214    method @Deprecated public android.content.ComponentName getDefaultPhoneApp();
19215    method @Deprecated public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsForPackage();
19216    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);
19217    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean isInEmergencyCall();
19218    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRinging();
19219    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUserSelectedOutgoingPhoneAccount(@Nullable android.telecom.PhoneAccountHandle);
19220    field public static final String ACTION_CURRENT_TTY_MODE_CHANGED = "android.telecom.action.CURRENT_TTY_MODE_CHANGED";
19221    field public static final String ACTION_TTY_PREFERRED_MODE_CHANGED = "android.telecom.action.TTY_PREFERRED_MODE_CHANGED";
19222    field public static final int CALL_SOURCE_EMERGENCY_DIALPAD = 1; // 0x1
19223    field public static final int CALL_SOURCE_EMERGENCY_SHORTCUT = 2; // 0x2
19224    field public static final int CALL_SOURCE_UNSPECIFIED = 0; // 0x0
19225    field public static final String EXTRA_CALL_BACK_INTENT = "android.telecom.extra.CALL_BACK_INTENT";
19226    field public static final String EXTRA_CALL_HAS_IN_BAND_RINGTONE = "android.telecom.extra.CALL_HAS_IN_BAND_RINGTONE";
19227    field public static final String EXTRA_CALL_SOURCE = "android.telecom.extra.CALL_SOURCE";
19228    field public static final String EXTRA_CALL_TECHNOLOGY_TYPE = "android.telecom.extra.CALL_TECHNOLOGY_TYPE";
19229    field @Deprecated public static final String EXTRA_CLEAR_MISSED_CALLS_INTENT = "android.telecom.extra.CLEAR_MISSED_CALLS_INTENT";
19230    field public static final String EXTRA_CONNECTION_SERVICE = "android.telecom.extra.CONNECTION_SERVICE";
19231    field public static final String EXTRA_CURRENT_TTY_MODE = "android.telecom.extra.CURRENT_TTY_MODE";
19232    field public static final String EXTRA_IS_USER_INTENT_EMERGENCY_CALL = "android.telecom.extra.IS_USER_INTENT_EMERGENCY_CALL";
19233    field public static final String EXTRA_TTY_PREFERRED_MODE = "android.telecom.extra.TTY_PREFERRED_MODE";
19234    field public static final String EXTRA_UNKNOWN_CALL_HANDLE = "android.telecom.extra.UNKNOWN_CALL_HANDLE";
19235    field public static final int TTY_MODE_FULL = 1; // 0x1
19236    field public static final int TTY_MODE_HCO = 2; // 0x2
19237    field public static final int TTY_MODE_OFF = 0; // 0x0
19238    field public static final int TTY_MODE_VCO = 3; // 0x3
19239  }
19240
19241}
19242
19243package android.telephony {
19244
19245  public final class AccessNetworkConstants {
19246    field public static final int TRANSPORT_TYPE_INVALID = -1; // 0xffffffff
19247  }
19248
19249  public static final class AccessNetworkConstants.NgranBands {
19250    method public static int getFrequencyRangeGroup(int);
19251    field public static final int FREQUENCY_RANGE_GROUP_1 = 1; // 0x1
19252    field public static final int FREQUENCY_RANGE_GROUP_2 = 2; // 0x2
19253    field public static final int FREQUENCY_RANGE_GROUP_UNKNOWN = 0; // 0x0
19254  }
19255
19256  public final class BarringInfo implements android.os.Parcelable {
19257    ctor public BarringInfo();
19258    method @NonNull public android.telephony.BarringInfo createLocationInfoSanitizedCopy();
19259  }
19260
19261  @Deprecated public final class CallAttributes implements android.os.Parcelable {
19262    ctor @Deprecated public CallAttributes(@NonNull android.telephony.PreciseCallState, int, @NonNull android.telephony.CallQuality);
19263    method @Deprecated public int describeContents();
19264    method @Deprecated @NonNull public android.telephony.CallQuality getCallQuality();
19265    method @Deprecated public int getNetworkType();
19266    method @Deprecated @NonNull public android.telephony.PreciseCallState getPreciseCallState();
19267    method @Deprecated public void writeToParcel(android.os.Parcel, int);
19268    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallAttributes> CREATOR;
19269  }
19270
19271  public final class CallForwardingInfo implements android.os.Parcelable {
19272    ctor public CallForwardingInfo(boolean, int, @Nullable String, int);
19273    method public int describeContents();
19274    method @Nullable public String getNumber();
19275    method public int getReason();
19276    method public int getTimeoutSeconds();
19277    method public boolean isEnabled();
19278    method public void writeToParcel(android.os.Parcel, int);
19279    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallForwardingInfo> CREATOR;
19280    field public static final int REASON_ALL = 4; // 0x4
19281    field public static final int REASON_ALL_CONDITIONAL = 5; // 0x5
19282    field public static final int REASON_BUSY = 1; // 0x1
19283    field public static final int REASON_NOT_REACHABLE = 3; // 0x3
19284    field public static final int REASON_NO_REPLY = 2; // 0x2
19285    field public static final int REASON_UNCONDITIONAL = 0; // 0x0
19286  }
19287
19288  public final class CallQuality implements android.os.Parcelable {
19289    ctor public CallQuality(int, int, int, int, int, int, int, int, int, int, int);
19290    ctor public CallQuality(int, int, int, int, int, int, int, int, int, int, int, boolean, boolean, boolean);
19291    method public int describeContents();
19292    method public int getAverageRelativeJitter();
19293    method public int getAverageRoundTripTime();
19294    method public int getCallDuration();
19295    method public int getCodecType();
19296    method public int getDownlinkCallQualityLevel();
19297    method public long getMaxPlayoutDelayMillis();
19298    method public int getMaxRelativeJitter();
19299    method public long getMinPlayoutDelayMillis();
19300    method public int getNumDroppedRtpPackets();
19301    method public int getNumNoDataFrames();
19302    method public int getNumRtpDuplicatePackets();
19303    method public int getNumRtpPacketsNotReceived();
19304    method public int getNumRtpPacketsReceived();
19305    method public int getNumRtpPacketsTransmitted();
19306    method public int getNumRtpPacketsTransmittedLost();
19307    method public int getNumRtpSidPacketsReceived();
19308    method public int getNumVoiceFrames();
19309    method public int getUplinkCallQualityLevel();
19310    method public boolean isIncomingSilenceDetectedAtCallSetup();
19311    method public boolean isOutgoingSilenceDetectedAtCallSetup();
19312    method public boolean isRtpInactivityDetected();
19313    method public void writeToParcel(android.os.Parcel, int);
19314    field public static final int CALL_QUALITY_BAD = 4; // 0x4
19315    field public static final int CALL_QUALITY_EXCELLENT = 0; // 0x0
19316    field public static final int CALL_QUALITY_FAIR = 2; // 0x2
19317    field public static final int CALL_QUALITY_GOOD = 1; // 0x1
19318    field public static final int CALL_QUALITY_NOT_AVAILABLE = 5; // 0x5
19319    field public static final int CALL_QUALITY_POOR = 3; // 0x3
19320    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallQuality> CREATOR;
19321  }
19322
19323  public static final class CallQuality.Builder {
19324    ctor public CallQuality.Builder();
19325    method @NonNull public android.telephony.CallQuality build();
19326    method @NonNull public android.telephony.CallQuality.Builder setAverageRelativeJitter(int);
19327    method @NonNull public android.telephony.CallQuality.Builder setAverageRoundTripTimeMillis(int);
19328    method @NonNull public android.telephony.CallQuality.Builder setCallDurationMillis(int);
19329    method @NonNull public android.telephony.CallQuality.Builder setCodecType(int);
19330    method @NonNull public android.telephony.CallQuality.Builder setDownlinkCallQualityLevel(int);
19331    method @NonNull public android.telephony.CallQuality.Builder setIncomingSilenceDetectedAtCallSetup(boolean);
19332    method @NonNull public android.telephony.CallQuality.Builder setMaxPlayoutDelayMillis(long);
19333    method @NonNull public android.telephony.CallQuality.Builder setMaxRelativeJitter(int);
19334    method @NonNull public android.telephony.CallQuality.Builder setMinPlayoutDelayMillis(long);
19335    method @NonNull public android.telephony.CallQuality.Builder setNumDroppedRtpPackets(int);
19336    method @NonNull public android.telephony.CallQuality.Builder setNumNoDataFrames(int);
19337    method @NonNull public android.telephony.CallQuality.Builder setNumRtpDuplicatePackets(int);
19338    method @NonNull public android.telephony.CallQuality.Builder setNumRtpPacketsNotReceived(int);
19339    method @NonNull public android.telephony.CallQuality.Builder setNumRtpPacketsReceived(int);
19340    method @NonNull public android.telephony.CallQuality.Builder setNumRtpPacketsTransmitted(int);
19341    method @NonNull public android.telephony.CallQuality.Builder setNumRtpPacketsTransmittedLost(int);
19342    method @NonNull public android.telephony.CallQuality.Builder setNumRtpSidPacketsReceived(int);
19343    method @NonNull public android.telephony.CallQuality.Builder setNumVoiceFrames(int);
19344    method @NonNull public android.telephony.CallQuality.Builder setOutgoingSilenceDetectedAtCallSetup(boolean);
19345    method @NonNull public android.telephony.CallQuality.Builder setRtpInactivityDetected(boolean);
19346    method @NonNull public android.telephony.CallQuality.Builder setUplinkCallQualityLevel(int);
19347  }
19348
19349  public final class CallState implements android.os.Parcelable {
19350    method public int describeContents();
19351    method @Nullable public android.telephony.CallQuality getCallQuality();
19352    method public int getCallState();
19353    method public int getImsCallServiceType();
19354    method @Nullable public String getImsCallSessionId();
19355    method public int getImsCallType();
19356    method public int getNetworkType();
19357    method public void writeToParcel(@Nullable android.os.Parcel, int);
19358    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallState> CREATOR;
19359  }
19360
19361  public static final class CallState.Builder {
19362    ctor public CallState.Builder(int);
19363    method @NonNull public android.telephony.CallState build();
19364    method @NonNull public android.telephony.CallState.Builder setCallQuality(@Nullable android.telephony.CallQuality);
19365    method @NonNull public android.telephony.CallState.Builder setImsCallServiceType(int);
19366    method @NonNull public android.telephony.CallState.Builder setImsCallSessionId(@Nullable String);
19367    method @NonNull public android.telephony.CallState.Builder setImsCallType(int);
19368    method @NonNull public android.telephony.CallState.Builder setNetworkType(int);
19369  }
19370
19371  public class CarrierConfigManager {
19372    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultCarrierServicePackageName();
19373    method @NonNull public static android.os.PersistableBundle getDefaultConfig();
19374    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void overrideConfig(int, @Nullable android.os.PersistableBundle);
19375    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void updateConfigForPhoneId(int, String);
19376    field public static final int GBA_DIGEST = 3; // 0x3
19377    field public static final int GBA_ME = 1; // 0x1
19378    field public static final int GBA_U = 2; // 0x2
19379    field public static final String KEY_CARRIER_SETUP_APP_STRING = "carrier_setup_app_string";
19380    field public static final String KEY_GBA_MODE_INT = "gba_mode_int";
19381    field public static final String KEY_GBA_UA_SECURITY_ORGANIZATION_INT = "gba_ua_security_organization_int";
19382    field public static final String KEY_GBA_UA_SECURITY_PROTOCOL_INT = "gba_ua_security_protocol_int";
19383    field public static final String KEY_GBA_UA_TLS_CIPHER_SUITE_INT = "gba_ua_tls_cipher_suite_int";
19384    field public static final String KEY_SUPPORT_CDMA_1X_VOICE_CALLS_BOOL = "support_cdma_1x_voice_calls_bool";
19385  }
19386
19387  public static final class CarrierConfigManager.Wifi {
19388    field public static final String KEY_AVOID_5GHZ_SOFTAP_FOR_LAA_BOOL = "wifi.avoid_5ghz_softap_for_laa_bool";
19389    field public static final String KEY_AVOID_5GHZ_WIFI_DIRECT_FOR_LAA_BOOL = "wifi.avoid_5ghz_wifi_direct_for_laa_bool";
19390    field public static final String KEY_HOTSPOT_MAX_CLIENT_COUNT = "wifi.hotspot_maximum_client_count";
19391    field public static final String KEY_PREFIX = "wifi.";
19392    field public static final String KEY_SUGGESTION_SSID_LIST_WITH_MAC_RANDOMIZATION_DISABLED = "wifi.suggestion_ssid_list_with_mac_randomization_disabled";
19393  }
19394
19395  public final class CarrierRestrictionRules implements android.os.Parcelable {
19396    method @NonNull public java.util.List<java.lang.Boolean> areCarrierIdentifiersAllowed(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
19397    method public int describeContents();
19398    method @NonNull public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers();
19399    method public int getDefaultCarrierRestriction();
19400    method @NonNull public java.util.List<android.service.carrier.CarrierIdentifier> getExcludedCarriers();
19401    method public int getMultiSimPolicy();
19402    method public boolean isAllCarriersAllowed();
19403    method public void writeToParcel(android.os.Parcel, int);
19404    field public static final int CARRIER_RESTRICTION_DEFAULT_ALLOWED = 1; // 0x1
19405    field public static final int CARRIER_RESTRICTION_DEFAULT_NOT_ALLOWED = 0; // 0x0
19406    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CarrierRestrictionRules> CREATOR;
19407    field public static final int MULTISIM_POLICY_NONE = 0; // 0x0
19408    field public static final int MULTISIM_POLICY_ONE_VALID_SIM_MUST_BE_PRESENT = 1; // 0x1
19409  }
19410
19411  public static final class CarrierRestrictionRules.Builder {
19412    ctor public CarrierRestrictionRules.Builder();
19413    method @NonNull public android.telephony.CarrierRestrictionRules build();
19414    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setAllCarriersAllowed();
19415    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setAllowedCarriers(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
19416    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setDefaultCarrierRestriction(int);
19417    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setExcludedCarriers(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
19418    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setMultiSimPolicy(int);
19419  }
19420
19421  public class CbGeoUtils {
19422  }
19423
19424  public static class CbGeoUtils.Circle implements android.telephony.CbGeoUtils.Geometry {
19425    ctor public CbGeoUtils.Circle(@NonNull android.telephony.CbGeoUtils.LatLng, double);
19426    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
19427    method @NonNull public android.telephony.CbGeoUtils.LatLng getCenter();
19428    method public double getRadius();
19429  }
19430
19431  public static interface CbGeoUtils.Geometry {
19432    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
19433  }
19434
19435  public static class CbGeoUtils.LatLng {
19436    ctor public CbGeoUtils.LatLng(double, double);
19437    method public double distance(@NonNull android.telephony.CbGeoUtils.LatLng);
19438    method @NonNull public android.telephony.CbGeoUtils.LatLng subtract(@NonNull android.telephony.CbGeoUtils.LatLng);
19439    field public final double lat;
19440    field public final double lng;
19441  }
19442
19443  public static class CbGeoUtils.Polygon implements android.telephony.CbGeoUtils.Geometry {
19444    ctor public CbGeoUtils.Polygon(@NonNull java.util.List<android.telephony.CbGeoUtils.LatLng>);
19445    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
19446    method @NonNull public java.util.List<android.telephony.CbGeoUtils.LatLng> getVertices();
19447  }
19448
19449  public final class CellBroadcastIdRange implements android.os.Parcelable {
19450    ctor public CellBroadcastIdRange(@IntRange(from=0, to=65535) int, @IntRange(from=0, to=65535) int, int, boolean) throws java.lang.IllegalArgumentException;
19451    method public int describeContents();
19452    method @IntRange(from=0, to=65535) public int getEndId();
19453    method @IntRange(from=0, to=65535) public int getStartId();
19454    method public int getType();
19455    method public boolean isEnabled();
19456    method public void writeToParcel(@NonNull android.os.Parcel, int);
19457    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellBroadcastIdRange> CREATOR;
19458  }
19459
19460  public class CellBroadcastIntents {
19461    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);
19462    field public static final String ACTION_AREA_INFO_UPDATED = "android.telephony.action.AREA_INFO_UPDATED";
19463  }
19464
19465  public abstract class CellBroadcastService extends android.app.Service {
19466    ctor public CellBroadcastService();
19467    method @NonNull @WorkerThread public abstract CharSequence getCellBroadcastAreaInfo(int);
19468    method @CallSuper public android.os.IBinder onBind(@Nullable android.content.Intent);
19469    method public abstract void onCdmaCellBroadcastSms(int, @NonNull byte[], int);
19470    method public abstract void onCdmaScpMessage(int, @NonNull java.util.List<android.telephony.cdma.CdmaSmsCbProgramData>, @NonNull String, @NonNull java.util.function.Consumer<android.os.Bundle>);
19471    method public abstract void onGsmCellBroadcastSms(int, @NonNull byte[]);
19472    field public static final String CELL_BROADCAST_SERVICE_INTERFACE = "android.telephony.CellBroadcastService";
19473  }
19474
19475  public abstract class CellIdentity implements android.os.Parcelable {
19476    method @NonNull public abstract android.telephony.CellLocation asCellLocation();
19477    method @NonNull public abstract android.telephony.CellIdentity sanitizeLocationInfo();
19478  }
19479
19480  public final class CellIdentityCdma extends android.telephony.CellIdentity {
19481    method @NonNull public android.telephony.cdma.CdmaCellLocation asCellLocation();
19482    method @NonNull public android.telephony.CellIdentityCdma sanitizeLocationInfo();
19483  }
19484
19485  public final class CellIdentityGsm extends android.telephony.CellIdentity {
19486    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
19487    method @NonNull public android.telephony.CellIdentityGsm sanitizeLocationInfo();
19488  }
19489
19490  public final class CellIdentityLte extends android.telephony.CellIdentity {
19491    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
19492    method @NonNull public android.telephony.CellIdentityLte sanitizeLocationInfo();
19493  }
19494
19495  public final class CellIdentityNr extends android.telephony.CellIdentity {
19496    method @NonNull public android.telephony.CellLocation asCellLocation();
19497    method @NonNull public android.telephony.CellIdentityNr sanitizeLocationInfo();
19498  }
19499
19500  public final class CellIdentityTdscdma extends android.telephony.CellIdentity {
19501    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
19502    method @NonNull public android.telephony.CellIdentityTdscdma sanitizeLocationInfo();
19503  }
19504
19505  public final class CellIdentityWcdma extends android.telephony.CellIdentity {
19506    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
19507    method @NonNull public android.telephony.CellIdentityWcdma sanitizeLocationInfo();
19508  }
19509
19510  public final class DataFailCause {
19511    field @Deprecated public static final int VSNCP_APN_UNATHORIZED = 2238; // 0x8be
19512  }
19513
19514  public final class DataSpecificRegistrationInfo implements android.os.Parcelable {
19515    method public int describeContents();
19516    method public int getLteAttachExtraInfo();
19517    method public int getLteAttachResultType();
19518    method @Deprecated @NonNull public android.telephony.LteVopsSupportInfo getLteVopsSupportInfo();
19519    method @Nullable public android.telephony.VopsSupportInfo getVopsSupportInfo();
19520    method public void writeToParcel(android.os.Parcel, int);
19521    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.DataSpecificRegistrationInfo> CREATOR;
19522    field public static final int LTE_ATTACH_EXTRA_INFO_CSFB_NOT_PREFERRED = 1; // 0x1
19523    field public static final int LTE_ATTACH_EXTRA_INFO_NONE = 0; // 0x0
19524    field public static final int LTE_ATTACH_EXTRA_INFO_SMS_ONLY = 2; // 0x2
19525    field public static final int LTE_ATTACH_TYPE_COMBINED = 2; // 0x2
19526    field public static final int LTE_ATTACH_TYPE_EPS_ONLY = 1; // 0x1
19527    field public static final int LTE_ATTACH_TYPE_UNKNOWN = 0; // 0x0
19528  }
19529
19530  public final class DataThrottlingRequest implements android.os.Parcelable {
19531    method public int describeContents();
19532    method public long getCompletionDurationMillis();
19533    method public int getDataThrottlingAction();
19534    method public void writeToParcel(@NonNull android.os.Parcel, int);
19535    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.DataThrottlingRequest> CREATOR;
19536    field public static final int DATA_THROTTLING_ACTION_HOLD = 3; // 0x3
19537    field public static final int DATA_THROTTLING_ACTION_NO_DATA_THROTTLING = 0; // 0x0
19538    field public static final int DATA_THROTTLING_ACTION_THROTTLE_PRIMARY_CARRIER = 2; // 0x2
19539    field public static final int DATA_THROTTLING_ACTION_THROTTLE_SECONDARY_CARRIER = 1; // 0x1
19540  }
19541
19542  public static final class DataThrottlingRequest.Builder {
19543    ctor public DataThrottlingRequest.Builder();
19544    method @NonNull public android.telephony.DataThrottlingRequest build();
19545    method @NonNull public android.telephony.DataThrottlingRequest.Builder setCompletionDurationMillis(long);
19546    method @NonNull public android.telephony.DataThrottlingRequest.Builder setDataThrottlingAction(int);
19547  }
19548
19549  public final class ImsiEncryptionInfo implements android.os.Parcelable {
19550    method public int describeContents();
19551    method @Nullable public String getKeyIdentifier();
19552    method @Nullable public java.security.PublicKey getPublicKey();
19553    method public void writeToParcel(@NonNull android.os.Parcel, int);
19554    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ImsiEncryptionInfo> CREATOR;
19555  }
19556
19557  public final class LinkCapacityEstimate implements android.os.Parcelable {
19558    ctor public LinkCapacityEstimate(int, int, int);
19559    method public int describeContents();
19560    method public int getDownlinkCapacityKbps();
19561    method public int getType();
19562    method public int getUplinkCapacityKbps();
19563    method public void writeToParcel(@NonNull android.os.Parcel, int);
19564    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.LinkCapacityEstimate> CREATOR;
19565    field public static final int INVALID = -1; // 0xffffffff
19566    field public static final int LCE_TYPE_COMBINED = 2; // 0x2
19567    field public static final int LCE_TYPE_PRIMARY = 0; // 0x0
19568    field public static final int LCE_TYPE_SECONDARY = 1; // 0x1
19569  }
19570
19571  public final class LteVopsSupportInfo extends android.telephony.VopsSupportInfo {
19572    ctor public LteVopsSupportInfo(int, int);
19573    method public boolean equals(@Nullable Object);
19574    method public int getEmcBearerSupport();
19575    method public int getVopsSupport();
19576    method public int hashCode();
19577    method public boolean isEmergencyServiceFallbackSupported();
19578    method public boolean isEmergencyServiceSupported();
19579    method public boolean isVopsSupported();
19580    method public void writeToParcel(@NonNull android.os.Parcel, int);
19581    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.LteVopsSupportInfo> CREATOR;
19582    field @Deprecated public static final int LTE_STATUS_NOT_AVAILABLE = 1; // 0x1
19583    field public static final int LTE_STATUS_NOT_SUPPORTED = 3; // 0x3
19584    field public static final int LTE_STATUS_SUPPORTED = 2; // 0x2
19585  }
19586
19587  public class MbmsDownloadSession implements java.lang.AutoCloseable {
19588    field public static final String MBMS_DOWNLOAD_SERVICE_ACTION = "android.telephony.action.EmbmsDownload";
19589  }
19590
19591  public class MbmsGroupCallSession implements java.lang.AutoCloseable {
19592    field public static final String MBMS_GROUP_CALL_SERVICE_ACTION = "android.telephony.action.EmbmsGroupCall";
19593  }
19594
19595  public class MbmsStreamingSession implements java.lang.AutoCloseable {
19596    field public static final String MBMS_STREAMING_SERVICE_ACTION = "android.telephony.action.EmbmsStreaming";
19597  }
19598
19599  public final class ModemActivityInfo implements android.os.Parcelable {
19600    method public int describeContents();
19601    method @NonNull public android.telephony.ModemActivityInfo getDelta(@NonNull android.telephony.ModemActivityInfo);
19602    method public long getIdleTimeMillis();
19603    method public static int getNumTxPowerLevels();
19604    method public long getReceiveTimeMillis();
19605    method public long getSleepTimeMillis();
19606    method public long getTimestampMillis();
19607    method public long getTransmitDurationMillisAtPowerLevel(int);
19608    method @NonNull public android.util.Range<java.lang.Integer> getTransmitPowerRange(int);
19609    method public void writeToParcel(@NonNull android.os.Parcel, int);
19610    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ModemActivityInfo> CREATOR;
19611    field public static final int TX_POWER_LEVEL_0 = 0; // 0x0
19612    field public static final int TX_POWER_LEVEL_1 = 1; // 0x1
19613    field public static final int TX_POWER_LEVEL_2 = 2; // 0x2
19614    field public static final int TX_POWER_LEVEL_3 = 3; // 0x3
19615    field public static final int TX_POWER_LEVEL_4 = 4; // 0x4
19616  }
19617
19618  public final class NetworkRegistrationInfo implements android.os.Parcelable {
19619    method @Nullable public android.telephony.DataSpecificRegistrationInfo getDataSpecificInfo();
19620    method public int getNetworkRegistrationState();
19621    method @Deprecated public int getRegistrationState();
19622    method public int getRejectCause();
19623    method public int getRoamingType();
19624    method public boolean isEmergencyEnabled();
19625    method public void writeToParcel(android.os.Parcel, int);
19626    field public static final int REGISTRATION_STATE_DENIED = 3; // 0x3
19627    field public static final int REGISTRATION_STATE_EMERGENCY = 6; // 0x6
19628    field public static final int REGISTRATION_STATE_HOME = 1; // 0x1
19629    field public static final int REGISTRATION_STATE_NOT_REGISTERED_OR_SEARCHING = 0; // 0x0
19630    field public static final int REGISTRATION_STATE_NOT_REGISTERED_SEARCHING = 2; // 0x2
19631    field public static final int REGISTRATION_STATE_ROAMING = 5; // 0x5
19632    field public static final int REGISTRATION_STATE_UNKNOWN = 4; // 0x4
19633  }
19634
19635  public static final class NetworkRegistrationInfo.Builder {
19636    ctor public NetworkRegistrationInfo.Builder();
19637    method @NonNull public android.telephony.NetworkRegistrationInfo build();
19638    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setAccessNetworkTechnology(int);
19639    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setAvailableServices(@NonNull java.util.List<java.lang.Integer>);
19640    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setCellIdentity(@Nullable android.telephony.CellIdentity);
19641    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setDomain(int);
19642    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setEmergencyOnly(boolean);
19643    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRegisteredPlmn(@Nullable String);
19644    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRegistrationState(int);
19645    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRejectCause(int);
19646    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setTransportType(int);
19647  }
19648
19649  public abstract class NetworkService extends android.app.Service {
19650    ctor public NetworkService();
19651    method public android.os.IBinder onBind(android.content.Intent);
19652    method @Nullable public abstract android.telephony.NetworkService.NetworkServiceProvider onCreateNetworkServiceProvider(int);
19653    field public static final String SERVICE_INTERFACE = "android.telephony.NetworkService";
19654  }
19655
19656  public abstract class NetworkService.NetworkServiceProvider implements java.lang.AutoCloseable {
19657    ctor public NetworkService.NetworkServiceProvider(int);
19658    method public abstract void close();
19659    method public final int getSlotIndex();
19660    method public final void notifyNetworkRegistrationInfoChanged();
19661    method public void requestNetworkRegistrationInfo(int, @NonNull android.telephony.NetworkServiceCallback);
19662  }
19663
19664  public class NetworkServiceCallback {
19665    method public void onRequestNetworkRegistrationInfoComplete(int, @Nullable android.telephony.NetworkRegistrationInfo);
19666    field public static final int RESULT_ERROR_BUSY = 3; // 0x3
19667    field public static final int RESULT_ERROR_FAILED = 5; // 0x5
19668    field public static final int RESULT_ERROR_ILLEGAL_STATE = 4; // 0x4
19669    field public static final int RESULT_ERROR_INVALID_ARG = 2; // 0x2
19670    field public static final int RESULT_ERROR_UNSUPPORTED = 1; // 0x1
19671    field public static final int RESULT_SUCCESS = 0; // 0x0
19672  }
19673
19674  public final class NrVopsSupportInfo extends android.telephony.VopsSupportInfo {
19675    ctor public NrVopsSupportInfo(int, int, int);
19676    method public boolean equals(@Nullable Object);
19677    method public int getEmcSupport();
19678    method public int getEmfSupport();
19679    method public int getVopsSupport();
19680    method public int hashCode();
19681    method public boolean isEmergencyServiceFallbackSupported();
19682    method public boolean isEmergencyServiceSupported();
19683    method public boolean isVopsSupported();
19684    method public void writeToParcel(@NonNull android.os.Parcel, int);
19685    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.NrVopsSupportInfo> CREATOR;
19686    field public static final int NR_STATUS_EMC_5GCN_ONLY = 1; // 0x1
19687    field public static final int NR_STATUS_EMC_EUTRA_5GCN_ONLY = 2; // 0x2
19688    field public static final int NR_STATUS_EMC_NOT_SUPPORTED = 0; // 0x0
19689    field public static final int NR_STATUS_EMC_NR_EUTRA_5GCN = 3; // 0x3
19690    field public static final int NR_STATUS_EMF_5GCN_ONLY = 1; // 0x1
19691    field public static final int NR_STATUS_EMF_EUTRA_5GCN_ONLY = 2; // 0x2
19692    field public static final int NR_STATUS_EMF_NOT_SUPPORTED = 0; // 0x0
19693    field public static final int NR_STATUS_EMF_NR_EUTRA_5GCN = 3; // 0x3
19694    field public static final int NR_STATUS_VOPS_3GPP_SUPPORTED = 1; // 0x1
19695    field public static final int NR_STATUS_VOPS_NON_3GPP_SUPPORTED = 2; // 0x2
19696    field public static final int NR_STATUS_VOPS_NOT_SUPPORTED = 0; // 0x0
19697  }
19698
19699  public interface NumberVerificationCallback {
19700    method public default void onCallReceived(@NonNull String);
19701    method public default void onVerificationFailed(int);
19702    field public static final int REASON_CONCURRENT_REQUESTS = 4; // 0x4
19703    field public static final int REASON_IN_ECBM = 5; // 0x5
19704    field public static final int REASON_IN_EMERGENCY_CALL = 6; // 0x6
19705    field public static final int REASON_NETWORK_NOT_AVAILABLE = 2; // 0x2
19706    field public static final int REASON_TIMED_OUT = 1; // 0x1
19707    field public static final int REASON_TOO_MANY_CALLS = 3; // 0x3
19708    field public static final int REASON_UNSPECIFIED = 0; // 0x0
19709  }
19710
19711  public final class PhoneCapability implements android.os.Parcelable {
19712    method public int describeContents();
19713    method @NonNull public int[] getDeviceNrCapabilities();
19714    method @IntRange(from=1) public int getMaxActiveDataSubscriptions();
19715    method @IntRange(from=1) public int getMaxActiveVoiceSubscriptions();
19716    method public void writeToParcel(@NonNull android.os.Parcel, int);
19717    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PhoneCapability> CREATOR;
19718    field public static final int DEVICE_NR_CAPABILITY_NSA = 1; // 0x1
19719    field public static final int DEVICE_NR_CAPABILITY_SA = 2; // 0x2
19720  }
19721
19722  public final class PhoneNumberRange implements android.os.Parcelable {
19723    ctor public PhoneNumberRange(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
19724    method public int describeContents();
19725    method public boolean matches(@NonNull String);
19726    method public void writeToParcel(android.os.Parcel, int);
19727    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PhoneNumberRange> CREATOR;
19728  }
19729
19730  public class PhoneNumberUtils {
19731    method @NonNull public static String getUsernameFromUriNumber(@NonNull String);
19732    method public static boolean isUriNumber(@Nullable String);
19733    method public static boolean isVoiceMailNumber(@NonNull android.content.Context, int, @Nullable String);
19734  }
19735
19736  @Deprecated public class PhoneStateListener {
19737    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onCallAttributesChanged(@NonNull android.telephony.CallAttributes);
19738    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber);
19739    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber, int);
19740    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber);
19741    method @Deprecated public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber, int);
19742    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPreciseCallStateChanged(@NonNull android.telephony.PreciseCallState);
19743    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onRadioPowerStateChanged(int);
19744    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onSrvccStateChanged(int);
19745    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onVoiceActivationStateChanged(int);
19746    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_CALL_ATTRIBUTES_CHANGED = 67108864; // 0x4000000
19747    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int LISTEN_OUTGOING_EMERGENCY_CALL = 268435456; // 0x10000000
19748    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int LISTEN_OUTGOING_EMERGENCY_SMS = 536870912; // 0x20000000
19749    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_PRECISE_CALL_STATE = 2048; // 0x800
19750    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_RADIO_POWER_STATE_CHANGED = 8388608; // 0x800000
19751    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_SRVCC_STATE_CHANGED = 16384; // 0x4000
19752    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_VOICE_ACTIVATION_STATE = 131072; // 0x20000
19753  }
19754
19755  public final class PinResult implements android.os.Parcelable {
19756    method public int describeContents();
19757    method public int getAttemptsRemaining();
19758    method public int getResult();
19759    method public void writeToParcel(@NonNull android.os.Parcel, int);
19760    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PinResult> CREATOR;
19761    field public static final int PIN_RESULT_TYPE_ABORTED = 3; // 0x3
19762    field public static final int PIN_RESULT_TYPE_FAILURE = 2; // 0x2
19763    field public static final int PIN_RESULT_TYPE_INCORRECT = 1; // 0x1
19764    field public static final int PIN_RESULT_TYPE_SUCCESS = 0; // 0x0
19765  }
19766
19767  public final class PreciseCallState implements android.os.Parcelable {
19768    ctor public PreciseCallState(int, int, int, int, int);
19769    method public int describeContents();
19770    method public int getBackgroundCallState();
19771    method public int getForegroundCallState();
19772    method public int getRingingCallState();
19773    method public void writeToParcel(android.os.Parcel, int);
19774    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PreciseCallState> CREATOR;
19775    field public static final int PRECISE_CALL_STATE_ACTIVE = 1; // 0x1
19776    field public static final int PRECISE_CALL_STATE_ALERTING = 4; // 0x4
19777    field public static final int PRECISE_CALL_STATE_DIALING = 3; // 0x3
19778    field public static final int PRECISE_CALL_STATE_DISCONNECTED = 7; // 0x7
19779    field public static final int PRECISE_CALL_STATE_DISCONNECTING = 8; // 0x8
19780    field public static final int PRECISE_CALL_STATE_HOLDING = 2; // 0x2
19781    field public static final int PRECISE_CALL_STATE_IDLE = 0; // 0x0
19782    field public static final int PRECISE_CALL_STATE_INCOMING = 5; // 0x5
19783    field public static final int PRECISE_CALL_STATE_INCOMING_SETUP = 9; // 0x9
19784    field public static final int PRECISE_CALL_STATE_NOT_VALID = -1; // 0xffffffff
19785    field public static final int PRECISE_CALL_STATE_WAITING = 6; // 0x6
19786  }
19787
19788  public final class PreciseDataConnectionState implements android.os.Parcelable {
19789    method @Deprecated @NonNull public String getDataConnectionApn();
19790    method @Deprecated public int getDataConnectionApnTypeBitMask();
19791    method @Deprecated public int getDataConnectionFailCause();
19792    method @Deprecated public int getDataConnectionState();
19793  }
19794
19795  public final class PreciseDisconnectCause {
19796    field public static final int ACCESS_CLASS_BLOCKED = 260; // 0x104
19797    field public static final int ACCESS_INFORMATION_DISCARDED = 43; // 0x2b
19798    field public static final int ACM_LIMIT_EXCEEDED = 68; // 0x44
19799    field public static final int BEARER_CAPABILITY_NOT_AUTHORIZED = 57; // 0x39
19800    field public static final int BEARER_NOT_AVAIL = 58; // 0x3a
19801    field public static final int BEARER_SERVICE_NOT_IMPLEMENTED = 65; // 0x41
19802    field public static final int BUSY = 17; // 0x11
19803    field public static final int CALL_BARRED = 240; // 0xf0
19804    field public static final int CALL_REJECTED = 21; // 0x15
19805    field public static final int CDMA_ACCESS_BLOCKED = 1009; // 0x3f1
19806    field public static final int CDMA_ACCESS_FAILURE = 1006; // 0x3ee
19807    field public static final int CDMA_DROP = 1001; // 0x3e9
19808    field public static final int CDMA_INTERCEPT = 1002; // 0x3ea
19809    field public static final int CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000; // 0x3e8
19810    field public static final int CDMA_NOT_EMERGENCY = 1008; // 0x3f0
19811    field public static final int CDMA_PREEMPTED = 1007; // 0x3ef
19812    field public static final int CDMA_REORDER = 1003; // 0x3eb
19813    field public static final int CDMA_RETRY_ORDER = 1005; // 0x3ed
19814    field public static final int CDMA_SO_REJECT = 1004; // 0x3ec
19815    field public static final int CHANNEL_NOT_AVAIL = 44; // 0x2c
19816    field public static final int CHANNEL_UNACCEPTABLE = 6; // 0x6
19817    field public static final int CONDITIONAL_IE_ERROR = 100; // 0x64
19818    field public static final int DESTINATION_OUT_OF_ORDER = 27; // 0x1b
19819    field public static final int ERROR_UNSPECIFIED = 65535; // 0xffff
19820    field public static final int FACILITY_REJECTED = 29; // 0x1d
19821    field public static final int FDN_BLOCKED = 241; // 0xf1
19822    field public static final int IMEI_NOT_ACCEPTED = 243; // 0xf3
19823    field public static final int IMSI_UNKNOWN_IN_VLR = 242; // 0xf2
19824    field public static final int INCOMING_CALLS_BARRED_WITHIN_CUG = 55; // 0x37
19825    field public static final int INCOMPATIBLE_DESTINATION = 88; // 0x58
19826    field public static final int INFORMATION_ELEMENT_NON_EXISTENT = 99; // 0x63
19827    field public static final int INTERWORKING_UNSPECIFIED = 127; // 0x7f
19828    field public static final int INVALID_MANDATORY_INFORMATION = 96; // 0x60
19829    field public static final int INVALID_NUMBER_FORMAT = 28; // 0x1c
19830    field public static final int INVALID_TRANSACTION_IDENTIFIER = 81; // 0x51
19831    field public static final int MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101; // 0x65
19832    field public static final int MESSAGE_TYPE_NON_IMPLEMENTED = 97; // 0x61
19833    field public static final int MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98; // 0x62
19834    field public static final int NETWORK_DETACH = 261; // 0x105
19835    field public static final int NETWORK_OUT_OF_ORDER = 38; // 0x26
19836    field public static final int NETWORK_REJECT = 252; // 0xfc
19837    field public static final int NETWORK_RESP_TIMEOUT = 251; // 0xfb
19838    field public static final int NORMAL = 16; // 0x10
19839    field public static final int NORMAL_UNSPECIFIED = 31; // 0x1f
19840    field public static final int NOT_VALID = -1; // 0xffffffff
19841    field public static final int NO_ANSWER_FROM_USER = 19; // 0x13
19842    field public static final int NO_CIRCUIT_AVAIL = 34; // 0x22
19843    field public static final int NO_DISCONNECT_CAUSE_AVAILABLE = 0; // 0x0
19844    field public static final int NO_ROUTE_TO_DESTINATION = 3; // 0x3
19845    field public static final int NO_USER_RESPONDING = 18; // 0x12
19846    field public static final int NO_VALID_SIM = 249; // 0xf9
19847    field public static final int NUMBER_CHANGED = 22; // 0x16
19848    field public static final int OEM_CAUSE_1 = 61441; // 0xf001
19849    field public static final int OEM_CAUSE_10 = 61450; // 0xf00a
19850    field public static final int OEM_CAUSE_11 = 61451; // 0xf00b
19851    field public static final int OEM_CAUSE_12 = 61452; // 0xf00c
19852    field public static final int OEM_CAUSE_13 = 61453; // 0xf00d
19853    field public static final int OEM_CAUSE_14 = 61454; // 0xf00e
19854    field public static final int OEM_CAUSE_15 = 61455; // 0xf00f
19855    field public static final int OEM_CAUSE_2 = 61442; // 0xf002
19856    field public static final int OEM_CAUSE_3 = 61443; // 0xf003
19857    field public static final int OEM_CAUSE_4 = 61444; // 0xf004
19858    field public static final int OEM_CAUSE_5 = 61445; // 0xf005
19859    field public static final int OEM_CAUSE_6 = 61446; // 0xf006
19860    field public static final int OEM_CAUSE_7 = 61447; // 0xf007
19861    field public static final int OEM_CAUSE_8 = 61448; // 0xf008
19862    field public static final int OEM_CAUSE_9 = 61449; // 0xf009
19863    field public static final int ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE = 70; // 0x46
19864    field public static final int OPERATOR_DETERMINED_BARRING = 8; // 0x8
19865    field public static final int OUT_OF_SRV = 248; // 0xf8
19866    field public static final int PREEMPTION = 25; // 0x19
19867    field public static final int PROTOCOL_ERROR_UNSPECIFIED = 111; // 0x6f
19868    field public static final int QOS_NOT_AVAIL = 49; // 0x31
19869    field public static final int RADIO_ACCESS_FAILURE = 253; // 0xfd
19870    field public static final int RADIO_INTERNAL_ERROR = 250; // 0xfa
19871    field public static final int RADIO_LINK_FAILURE = 254; // 0xfe
19872    field public static final int RADIO_LINK_LOST = 255; // 0xff
19873    field public static final int RADIO_OFF = 247; // 0xf7
19874    field public static final int RADIO_RELEASE_ABNORMAL = 259; // 0x103
19875    field public static final int RADIO_RELEASE_NORMAL = 258; // 0x102
19876    field public static final int RADIO_SETUP_FAILURE = 257; // 0x101
19877    field public static final int RADIO_UPLINK_FAILURE = 256; // 0x100
19878    field public static final int RECOVERY_ON_TIMER_EXPIRED = 102; // 0x66
19879    field public static final int REQUESTED_FACILITY_NOT_IMPLEMENTED = 69; // 0x45
19880    field public static final int REQUESTED_FACILITY_NOT_SUBSCRIBED = 50; // 0x32
19881    field public static final int RESOURCES_UNAVAILABLE_OR_UNSPECIFIED = 47; // 0x2f
19882    field public static final int SEMANTICALLY_INCORRECT_MESSAGE = 95; // 0x5f
19883    field public static final int SERVICE_OPTION_NOT_AVAILABLE = 63; // 0x3f
19884    field public static final int SERVICE_OR_OPTION_NOT_IMPLEMENTED = 79; // 0x4f
19885    field public static final int STATUS_ENQUIRY = 30; // 0x1e
19886    field public static final int SWITCHING_CONGESTION = 42; // 0x2a
19887    field public static final int TEMPORARY_FAILURE = 41; // 0x29
19888    field public static final int UNOBTAINABLE_NUMBER = 1; // 0x1
19889    field public static final int USER_NOT_MEMBER_OF_CUG = 87; // 0x57
19890  }
19891
19892  public class ServiceState implements android.os.Parcelable {
19893    method @Nullable public android.telephony.NetworkRegistrationInfo getNetworkRegistrationInfo(int, int);
19894    method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoListForDomain(int);
19895    method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoListForTransportType(int);
19896    field public static final int ROAMING_TYPE_DOMESTIC = 2; // 0x2
19897    field public static final int ROAMING_TYPE_INTERNATIONAL = 3; // 0x3
19898    field public static final int ROAMING_TYPE_NOT_ROAMING = 0; // 0x0
19899    field public static final int ROAMING_TYPE_UNKNOWN = 1; // 0x1
19900  }
19901
19902  public final class SignalStrengthUpdateRequest implements android.os.Parcelable {
19903    method public boolean isSystemThresholdReportingRequestedWhileIdle();
19904  }
19905
19906  public static final class SignalStrengthUpdateRequest.Builder {
19907    method @NonNull @RequiresPermission("android.permission.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH") public android.telephony.SignalStrengthUpdateRequest.Builder setSystemThresholdReportingRequestedWhileIdle(boolean);
19908  }
19909
19910  public final class SmsCbCmasInfo implements android.os.Parcelable {
19911    ctor public SmsCbCmasInfo(int, int, int, int, int, int);
19912    method public int describeContents();
19913    method public int getCategory();
19914    method public int getCertainty();
19915    method public int getMessageClass();
19916    method public int getResponseType();
19917    method public int getSeverity();
19918    method public int getUrgency();
19919    method public void writeToParcel(android.os.Parcel, int);
19920    field public static final int CMAS_CATEGORY_CBRNE = 10; // 0xa
19921    field public static final int CMAS_CATEGORY_ENV = 7; // 0x7
19922    field public static final int CMAS_CATEGORY_FIRE = 5; // 0x5
19923    field public static final int CMAS_CATEGORY_GEO = 0; // 0x0
19924    field public static final int CMAS_CATEGORY_HEALTH = 6; // 0x6
19925    field public static final int CMAS_CATEGORY_INFRA = 9; // 0x9
19926    field public static final int CMAS_CATEGORY_MET = 1; // 0x1
19927    field public static final int CMAS_CATEGORY_OTHER = 11; // 0xb
19928    field public static final int CMAS_CATEGORY_RESCUE = 4; // 0x4
19929    field public static final int CMAS_CATEGORY_SAFETY = 2; // 0x2
19930    field public static final int CMAS_CATEGORY_SECURITY = 3; // 0x3
19931    field public static final int CMAS_CATEGORY_TRANSPORT = 8; // 0x8
19932    field public static final int CMAS_CATEGORY_UNKNOWN = -1; // 0xffffffff
19933    field public static final int CMAS_CERTAINTY_LIKELY = 1; // 0x1
19934    field public static final int CMAS_CERTAINTY_OBSERVED = 0; // 0x0
19935    field public static final int CMAS_CERTAINTY_UNKNOWN = -1; // 0xffffffff
19936    field public static final int CMAS_CLASS_CHILD_ABDUCTION_EMERGENCY = 3; // 0x3
19937    field public static final int CMAS_CLASS_CMAS_EXERCISE = 5; // 0x5
19938    field public static final int CMAS_CLASS_EXTREME_THREAT = 1; // 0x1
19939    field public static final int CMAS_CLASS_OPERATOR_DEFINED_USE = 6; // 0x6
19940    field public static final int CMAS_CLASS_PRESIDENTIAL_LEVEL_ALERT = 0; // 0x0
19941    field public static final int CMAS_CLASS_REQUIRED_MONTHLY_TEST = 4; // 0x4
19942    field public static final int CMAS_CLASS_SEVERE_THREAT = 2; // 0x2
19943    field public static final int CMAS_CLASS_UNKNOWN = -1; // 0xffffffff
19944    field public static final int CMAS_RESPONSE_TYPE_ASSESS = 6; // 0x6
19945    field public static final int CMAS_RESPONSE_TYPE_AVOID = 5; // 0x5
19946    field public static final int CMAS_RESPONSE_TYPE_EVACUATE = 1; // 0x1
19947    field public static final int CMAS_RESPONSE_TYPE_EXECUTE = 3; // 0x3
19948    field public static final int CMAS_RESPONSE_TYPE_MONITOR = 4; // 0x4
19949    field public static final int CMAS_RESPONSE_TYPE_NONE = 7; // 0x7
19950    field public static final int CMAS_RESPONSE_TYPE_PREPARE = 2; // 0x2
19951    field public static final int CMAS_RESPONSE_TYPE_SHELTER = 0; // 0x0
19952    field public static final int CMAS_RESPONSE_TYPE_UNKNOWN = -1; // 0xffffffff
19953    field public static final int CMAS_SEVERITY_EXTREME = 0; // 0x0
19954    field public static final int CMAS_SEVERITY_SEVERE = 1; // 0x1
19955    field public static final int CMAS_SEVERITY_UNKNOWN = -1; // 0xffffffff
19956    field public static final int CMAS_URGENCY_EXPECTED = 1; // 0x1
19957    field public static final int CMAS_URGENCY_IMMEDIATE = 0; // 0x0
19958    field public static final int CMAS_URGENCY_UNKNOWN = -1; // 0xffffffff
19959    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbCmasInfo> CREATOR;
19960  }
19961
19962  public final class SmsCbEtwsInfo implements android.os.Parcelable {
19963    ctor public SmsCbEtwsInfo(int, boolean, boolean, boolean, @Nullable byte[]);
19964    method public int describeContents();
19965    method @Nullable public byte[] getPrimaryNotificationSignature();
19966    method public long getPrimaryNotificationTimestamp();
19967    method public int getWarningType();
19968    method public boolean isEmergencyUserAlert();
19969    method public boolean isPopupAlert();
19970    method public boolean isPrimary();
19971    method public void writeToParcel(android.os.Parcel, int);
19972    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbEtwsInfo> CREATOR;
19973    field public static final int ETWS_WARNING_TYPE_EARTHQUAKE = 0; // 0x0
19974    field public static final int ETWS_WARNING_TYPE_EARTHQUAKE_AND_TSUNAMI = 2; // 0x2
19975    field public static final int ETWS_WARNING_TYPE_OTHER_EMERGENCY = 4; // 0x4
19976    field public static final int ETWS_WARNING_TYPE_TEST_MESSAGE = 3; // 0x3
19977    field public static final int ETWS_WARNING_TYPE_TSUNAMI = 1; // 0x1
19978    field public static final int ETWS_WARNING_TYPE_UNKNOWN = -1; // 0xffffffff
19979  }
19980
19981  public final class SmsCbLocation implements android.os.Parcelable {
19982    ctor public SmsCbLocation(@NonNull String, int, int);
19983    method public int describeContents();
19984    method public int getCid();
19985    method public int getLac();
19986    method @NonNull public String getPlmn();
19987    method public boolean isInLocationArea(@NonNull android.telephony.SmsCbLocation);
19988    method public boolean isInLocationArea(@Nullable String, int, int);
19989    method public void writeToParcel(android.os.Parcel, int);
19990    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbLocation> CREATOR;
19991  }
19992
19993  public final class SmsCbMessage implements android.os.Parcelable {
19994    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);
19995    method @NonNull public static android.telephony.SmsCbMessage createFromCursor(@NonNull android.database.Cursor);
19996    method public int describeContents();
19997    method @Nullable public android.telephony.SmsCbCmasInfo getCmasWarningInfo();
19998    method @NonNull public android.content.ContentValues getContentValues();
19999    method public int getDataCodingScheme();
20000    method @Nullable public android.telephony.SmsCbEtwsInfo getEtwsWarningInfo();
20001    method public int getGeographicalScope();
20002    method @NonNull public java.util.List<android.telephony.CbGeoUtils.Geometry> getGeometries();
20003    method @Nullable public String getLanguageCode();
20004    method @NonNull public android.telephony.SmsCbLocation getLocation();
20005    method public int getMaximumWaitingDuration();
20006    method @Nullable public String getMessageBody();
20007    method public int getMessageFormat();
20008    method public int getMessagePriority();
20009    method public long getReceivedTime();
20010    method public int getSerialNumber();
20011    method public int getServiceCategory();
20012    method public int getSlotIndex();
20013    method public int getSubscriptionId();
20014    method public boolean isCmasMessage();
20015    method public boolean isEmergencyMessage();
20016    method public boolean isEtwsMessage();
20017    method public boolean needGeoFencingCheck();
20018    method public void writeToParcel(android.os.Parcel, int);
20019    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbMessage> CREATOR;
20020    field public static final int GEOGRAPHICAL_SCOPE_CELL_WIDE = 3; // 0x3
20021    field public static final int GEOGRAPHICAL_SCOPE_CELL_WIDE_IMMEDIATE = 0; // 0x0
20022    field public static final int GEOGRAPHICAL_SCOPE_LOCATION_AREA_WIDE = 2; // 0x2
20023    field public static final int GEOGRAPHICAL_SCOPE_PLMN_WIDE = 1; // 0x1
20024    field public static final int MAXIMUM_WAIT_TIME_NOT_SET = 255; // 0xff
20025    field public static final int MESSAGE_FORMAT_3GPP = 1; // 0x1
20026    field public static final int MESSAGE_FORMAT_3GPP2 = 2; // 0x2
20027    field public static final int MESSAGE_PRIORITY_EMERGENCY = 3; // 0x3
20028    field public static final int MESSAGE_PRIORITY_INTERACTIVE = 1; // 0x1
20029    field public static final int MESSAGE_PRIORITY_NORMAL = 0; // 0x0
20030    field public static final int MESSAGE_PRIORITY_URGENT = 2; // 0x2
20031  }
20032
20033  public final class SmsManager {
20034    method @Deprecated public boolean disableCellBroadcastRange(int, int, int);
20035    method @Deprecated public boolean enableCellBroadcastRange(int, int, int);
20036    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getPremiumSmsConsent(@NonNull String);
20037    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.net.Uri getSmscIdentity();
20038    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_CELL_BROADCASTS) public void resetAllCellBroadcastRanges();
20039    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>);
20040    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setPremiumSmsConsent(@NonNull String, int);
20041    field public static final int PREMIUM_SMS_CONSENT_ALWAYS_ALLOW = 3; // 0x3
20042    field public static final int PREMIUM_SMS_CONSENT_ASK_USER = 1; // 0x1
20043    field public static final int PREMIUM_SMS_CONSENT_NEVER_ALLOW = 2; // 0x2
20044    field public static final int PREMIUM_SMS_CONSENT_UNKNOWN = 0; // 0x0
20045  }
20046
20047  public class SmsMessage {
20048    method @Nullable public static android.telephony.SmsMessage createFromNativeSmsSubmitPdu(@NonNull byte[], boolean);
20049    method @Nullable public static android.telephony.SmsMessage.SubmitPdu getSmsPdu(int, int, @Nullable String, @NonNull String, @NonNull String, long);
20050    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);
20051  }
20052
20053  public class SubscriptionInfo implements android.os.Parcelable {
20054    method public boolean areUiccApplicationsEnabled();
20055    method @Nullable public java.util.List<android.telephony.UiccAccessRule> getAccessRules();
20056    method public int getProfileClass();
20057    method public boolean isGroupDisabled();
20058  }
20059
20060  public class SubscriptionManager {
20061    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean canDisablePhysicalSubscription();
20062    method public boolean canManageSubscription(@NonNull android.telephony.SubscriptionInfo, @NonNull String);
20063    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getActiveSubscriptionIdList();
20064    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.SubscriptionInfo getActiveSubscriptionInfoForIcc(@NonNull String);
20065    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public byte[] getAllSimSpecificSettingsForBackup();
20066    method public java.util.List<android.telephony.SubscriptionInfo> getAvailableSubscriptionInfoList();
20067    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getCompleteActiveSubscriptionIdList();
20068    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEnabledSubscriptionId(int);
20069    method @NonNull public static android.content.res.Resources getResourcesForSubId(@NonNull android.content.Context, int);
20070    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isSubscriptionEnabled(int);
20071    method public void requestEmbeddedSubscriptionInfoListRefresh();
20072    method public void requestEmbeddedSubscriptionInfoListRefresh(int);
20073    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void restoreAllSimSpecificSettingsFromBackup(@NonNull byte[]);
20074    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultDataSubId(int);
20075    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultSmsSubId(int);
20076    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultVoiceSubscriptionId(int);
20077    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>);
20078    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setSubscriptionEnabled(int, boolean);
20079    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUiccApplicationsEnabled(int, boolean);
20080    field @RequiresPermission(android.Manifest.permission.MANAGE_SUBSCRIPTION_PLANS) public static final String ACTION_SUBSCRIPTION_PLANS_CHANGED = "android.telephony.action.SUBSCRIPTION_PLANS_CHANGED";
20081    field @NonNull public static final android.net.Uri ADVANCED_CALLING_ENABLED_CONTENT_URI;
20082    field @NonNull public static final android.net.Uri CROSS_SIM_ENABLED_CONTENT_URI;
20083    field @Deprecated public static final int PROFILE_CLASS_DEFAULT = -1; // 0xffffffff
20084    field public static final int PROFILE_CLASS_OPERATIONAL = 2; // 0x2
20085    field public static final int PROFILE_CLASS_PROVISIONING = 1; // 0x1
20086    field public static final int PROFILE_CLASS_TESTING = 0; // 0x0
20087    field public static final int PROFILE_CLASS_UNSET = -1; // 0xffffffff
20088    field @NonNull public static final android.net.Uri VT_ENABLED_CONTENT_URI;
20089    field @NonNull public static final android.net.Uri WFC_ENABLED_CONTENT_URI;
20090    field @NonNull public static final android.net.Uri WFC_MODE_CONTENT_URI;
20091    field @NonNull public static final android.net.Uri WFC_ROAMING_ENABLED_CONTENT_URI;
20092    field @NonNull public static final android.net.Uri WFC_ROAMING_MODE_CONTENT_URI;
20093  }
20094
20095  public static class SubscriptionPlan.Builder {
20096    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringDaily(java.time.ZonedDateTime);
20097    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringMonthly(java.time.ZonedDateTime);
20098    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringWeekly(java.time.ZonedDateTime);
20099  }
20100
20101  public class TelephonyCallback {
20102    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGED = 23; // 0x17
20103    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_ALLOWED_NETWORK_TYPE_LIST_CHANGED = 35; // 0x23
20104    field public static final int EVENT_ALWAYS_REPORTED_SIGNAL_STRENGTH_CHANGED = 10; // 0xa
20105    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
20106    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_CALL_ATTRIBUTES_CHANGED = 27; // 0x1b
20107    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_CALL_DISCONNECT_CAUSE_CHANGED = 26; // 0x1a
20108    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_CALL_FORWARDING_INDICATOR_CHANGED = 4; // 0x4
20109    field public static final int EVENT_CALL_STATE_CHANGED = 6; // 0x6
20110    field public static final int EVENT_CARRIER_NETWORK_CHANGED = 17; // 0x11
20111    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
20112    field @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static final int EVENT_CELL_LOCATION_CHANGED = 5; // 0x5
20113    field public static final int EVENT_DATA_ACTIVATION_STATE_CHANGED = 19; // 0x13
20114    field public static final int EVENT_DATA_ACTIVITY_CHANGED = 8; // 0x8
20115    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_DATA_CONNECTION_REAL_TIME_INFO_CHANGED = 14; // 0xe
20116    field public static final int EVENT_DATA_CONNECTION_STATE_CHANGED = 7; // 0x7
20117    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_DATA_ENABLED_CHANGED = 34; // 0x22
20118    field public static final int EVENT_DISPLAY_INFO_CHANGED = 21; // 0x15
20119    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_EMERGENCY_NUMBER_LIST_CHANGED = 25; // 0x19
20120    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_IMS_CALL_DISCONNECT_CAUSE_CHANGED = 28; // 0x1c
20121    field @RequiresPermission(android.Manifest.permission.READ_CALL_LOG) public static final int EVENT_LEGACY_CALL_STATE_CHANGED = 36; // 0x24
20122    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_LINK_CAPACITY_ESTIMATE_CHANGED = 37; // 0x25
20123    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_MEDIA_QUALITY_STATUS_CHANGED = 39; // 0x27
20124    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_MESSAGE_WAITING_INDICATOR_CHANGED = 3; // 0x3
20125    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_OEM_HOOK_RAW = 15; // 0xf
20126    field @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int EVENT_OUTGOING_EMERGENCY_CALL = 29; // 0x1d
20127    field @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int EVENT_OUTGOING_EMERGENCY_SMS = 30; // 0x1e
20128    field public static final int EVENT_PHONE_CAPABILITY_CHANGED = 22; // 0x16
20129    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PHYSICAL_CHANNEL_CONFIG_CHANGED = 33; // 0x21
20130    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PRECISE_CALL_STATE_CHANGED = 12; // 0xc
20131    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PRECISE_DATA_CONNECTION_STATE_CHANGED = 13; // 0xd
20132    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_RADIO_POWER_STATE_CHANGED = 24; // 0x18
20133    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
20134    field public static final int EVENT_SERVICE_STATE_CHANGED = 1; // 0x1
20135    field public static final int EVENT_SIGNAL_STRENGTHS_CHANGED = 9; // 0x9
20136    field public static final int EVENT_SIGNAL_STRENGTH_CHANGED = 2; // 0x2
20137    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_SRVCC_STATE_CHANGED = 16; // 0x10
20138    field public static final int EVENT_USER_MOBILE_DATA_STATE_CHANGED = 20; // 0x14
20139    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_VOICE_ACTIVATION_STATE_CHANGED = 18; // 0x12
20140  }
20141
20142  public static interface TelephonyCallback.AllowedNetworkTypesListener {
20143    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onAllowedNetworkTypesChanged(int, long);
20144  }
20145
20146  public static interface TelephonyCallback.CallAttributesListener {
20147    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public default void onCallAttributesChanged(@NonNull android.telephony.CallAttributes);
20148    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public default void onCallStatesChanged(@NonNull java.util.List<android.telephony.CallState>);
20149  }
20150
20151  public static interface TelephonyCallback.DataEnabledListener {
20152    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onDataEnabledChanged(boolean, int);
20153  }
20154
20155  public static interface TelephonyCallback.LinkCapacityEstimateChangedListener {
20156    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onLinkCapacityEstimateChanged(@NonNull java.util.List<android.telephony.LinkCapacityEstimate>);
20157  }
20158
20159  public static interface TelephonyCallback.MediaQualityStatusChangedListener {
20160    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onMediaQualityStatusChanged(@NonNull android.telephony.ims.MediaQualityStatus);
20161  }
20162
20163  public static interface TelephonyCallback.OutgoingEmergencyCallListener {
20164    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber, int);
20165  }
20166
20167  public static interface TelephonyCallback.OutgoingEmergencySmsListener {
20168    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber, int);
20169  }
20170
20171  public static interface TelephonyCallback.PhoneCapabilityListener {
20172    method public void onPhoneCapabilityChanged(@NonNull android.telephony.PhoneCapability);
20173  }
20174
20175  public static interface TelephonyCallback.PreciseCallStateListener {
20176    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPreciseCallStateChanged(@NonNull android.telephony.PreciseCallState);
20177  }
20178
20179  public static interface TelephonyCallback.RadioPowerStateListener {
20180    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onRadioPowerStateChanged(int);
20181  }
20182
20183  public static interface TelephonyCallback.SrvccStateListener {
20184    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onSrvccStateChanged(int);
20185  }
20186
20187  public static interface TelephonyCallback.VoiceActivationStateListener {
20188    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onVoiceActivationStateChanged(int);
20189  }
20190
20191  public final class TelephonyHistogram implements android.os.Parcelable {
20192    ctor public TelephonyHistogram(int, int, int);
20193    ctor public TelephonyHistogram(android.telephony.TelephonyHistogram);
20194    ctor public TelephonyHistogram(android.os.Parcel);
20195    method public void addTimeTaken(int);
20196    method public int describeContents();
20197    method public int getAverageTime();
20198    method public int getBucketCount();
20199    method public int[] getBucketCounters();
20200    method public int[] getBucketEndPoints();
20201    method public int getCategory();
20202    method public int getId();
20203    method public int getMaxTime();
20204    method public int getMinTime();
20205    method public int getSampleCount();
20206    method public void writeToParcel(android.os.Parcel, int);
20207    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.TelephonyHistogram> CREATOR;
20208    field public static final int TELEPHONY_CATEGORY_RIL = 1; // 0x1
20209  }
20210
20211  public class TelephonyManager {
20212    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);
20213    method @Deprecated @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void call(String, String);
20214    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult changeIccLockPin(@NonNull String, @NonNull String);
20215    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int checkCarrierPrivilegesForPackage(String);
20216    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int checkCarrierPrivilegesForPackageAnyPhone(String);
20217    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void clearRadioPowerOffForReason(int);
20218    method public void dial(String);
20219    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean disableDataConnectivity();
20220    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean enableDataConnectivity();
20221    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean enableModemForSlot(int, boolean);
20222    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void enableVideoCalling(boolean);
20223    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getAidForAppType(int);
20224    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers(int);
20225    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypes();
20226    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypesBitmask();
20227    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getAndUpdateDefaultRespondViaMessageApplication();
20228    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getCallForwarding(int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CallForwardingInfoCallback);
20229    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>);
20230    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.ImsiEncryptionInfo getCarrierInfoForImsiEncryption(int);
20231    method public java.util.List<java.lang.String> getCarrierPackageNamesForIntent(android.content.Intent);
20232    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<java.lang.String> getCarrierPackageNamesForIntentAndPhone(android.content.Intent, int);
20233    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCarrierPrivilegeStatus(int);
20234    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<java.lang.String> getCarrierPrivilegedPackagesForAllActiveSubscriptions();
20235    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.CarrierRestrictionRules getCarrierRestrictionRules();
20236    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getCarrierServicePackageName();
20237    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getCarrierServicePackageNameForLogicalSlot(int);
20238    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaEnhancedRoamingIndicatorDisplayNumber();
20239    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn();
20240    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn(int);
20241    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMin();
20242    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMin(int);
20243    method public String getCdmaPrlVersion();
20244    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaRoamingMode();
20245    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaSubscriptionMode();
20246    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_CELL_BROADCASTS) public java.util.List<android.telephony.CellBroadcastIdRange> getCellBroadcastIdRanges();
20247    method public int getCurrentPhoneType();
20248    method public int getCurrentPhoneType(int);
20249    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getDataActivationState();
20250    method @Deprecated public boolean getDataEnabled();
20251    method @Deprecated public boolean getDataEnabled(int);
20252    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getDefaultRespondViaMessageApplication();
20253    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getDeviceSoftwareVersion(int);
20254    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean getEmergencyCallbackMode();
20255    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEmergencyNumberDbVersion();
20256    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimDomain();
20257    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimIst();
20258    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Map<java.lang.Integer,java.lang.Integer> getLogicalToPhysicalSlotMapping();
20259    method public int getMaxNumberOfSimultaneouslyActiveSims();
20260    method public static long getMaxNumberVerificationTimeoutMillis();
20261    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String[] getMergedImsisFromGroup();
20262    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.PhoneCapability getPhoneCapability();
20263    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getPreferredNetworkTypeBitmask();
20264    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Set<java.lang.Integer> getRadioPowerOffReasons();
20265    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public int getRadioPowerState();
20266    method public int getSimApplicationState();
20267    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimApplicationState(int);
20268    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimApplicationState(int, int);
20269    method public int getSimCardState();
20270    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimCardState(int);
20271    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimCardState(int, int);
20272    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Locale getSimLocale();
20273    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Collection<android.telephony.UiccSlotMapping> getSimSlotMapping();
20274    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.telephony.RadioAccessSpecifier> getSystemSelectionChannels();
20275    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public java.util.List<android.telephony.TelephonyHistogram> getTelephonyHistograms();
20276    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.UiccSlotInfo[] getUiccSlotsInfo();
20277    method @Nullable public android.os.Bundle getVisualVoicemailSettings();
20278    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoiceActivationState();
20279    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handlePinMmi(String);
20280    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handlePinMmiForSubscriber(int, String);
20281    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void iccCloseLogicalChannelByPort(int, int, int);
20282    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean iccCloseLogicalChannelBySlot(int, int);
20283    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannelByPort(int, int, @Nullable String, int);
20284    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannelBySlot(int, @Nullable String, int);
20285    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduBasicChannelByPort(int, int, int, int, int, int, int, @Nullable String);
20286    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduBasicChannelBySlot(int, int, int, int, int, int, @Nullable String);
20287    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduLogicalChannelByPort(int, int, int, int, int, int, int, int, @Nullable String);
20288    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduLogicalChannelBySlot(int, int, int, int, int, int, int, @Nullable String);
20289    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAnyRadioPoweredOn();
20290    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApnMetered(int);
20291    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApplicationOnUicc(int);
20292    method public boolean isDataConnectivityPossible();
20293    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataEnabledForApn(int);
20294    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isEmergencyAssistanceEnabled();
20295    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean isIccLockEnabled();
20296    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
20297    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isInEmergencySmsMode();
20298    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isLteCdmaEvdoGsmWcdmaEnabled();
20299    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isMobileDataPolicyEnabled(int);
20300    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isNrDualConnectivityEnabled();
20301    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isOffhook();
20302    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isOpportunisticNetworkEnabled();
20303    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isPotentialEmergencyNumber(@NonNull String);
20304    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRadioOn();
20305    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRinging();
20306    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean isTetheringApnRequired();
20307    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isVideoCallingEnabled();
20308    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isVisualVoicemailEnabled(android.telecom.PhoneAccountHandle);
20309    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean matchesCurrentSimOperator(@NonNull String, int, @Nullable String);
20310    method public boolean needsOtaServiceProvisioning();
20311    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyOtaEmergencyNumberDbInstalled();
20312    method @RequiresPermission(android.Manifest.permission.REBOOT) public int prepareForUnattendedReboot();
20313    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean rebootRadio();
20314    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerCarrierPrivilegesCallback(int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CarrierPrivilegesCallback);
20315    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void reportDefaultNetworkStatus(boolean);
20316    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);
20317    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>);
20318    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);
20319    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void requestRadioPowerOffForReason(int);
20320    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void resetAllCarrierActions();
20321    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void resetCarrierKeysForImsiEncryption();
20322    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void resetIms(int);
20323    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void resetOtaEmergencyNumberDbFilePath();
20324    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean resetRadioConfig();
20325    method @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL) public void resetSettings();
20326    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int sendThermalMitigationRequest(@NonNull android.telephony.ThermalMitigationRequest);
20327    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setAllowedCarriers(int, java.util.List<android.service.carrier.CarrierIdentifier>);
20328    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setAllowedNetworkTypes(long);
20329    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>);
20330    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>);
20331    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCarrierDataEnabled(boolean);
20332    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setCarrierRestrictionRules(@NonNull android.telephony.CarrierRestrictionRules);
20333    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCdmaRoamingMode(int);
20334    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCdmaSubscriptionMode(int);
20335    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>);
20336    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int);
20337    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(int, boolean);
20338    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataRoamingEnabled(boolean);
20339    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult setIccLockEnabled(boolean, @NonNull String);
20340    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMobileDataPolicyEnabled(int, boolean);
20341    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultiSimCarrierRestriction(boolean);
20342    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setNrDualConnectivityState(int);
20343    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setOpportunisticNetworkState(boolean);
20344    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setPreferredNetworkTypeBitmask(long);
20345    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setRadio(boolean);
20346    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRadioEnabled(boolean);
20347    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setRadioPower(boolean);
20348    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerState(int);
20349    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>);
20350    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerStateForSlot(int, int);
20351    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>);
20352    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimSlotMapping(@NonNull java.util.Collection<android.telephony.UiccSlotMapping>);
20353    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>);
20354    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSystemSelectionChannels(@NonNull java.util.List<android.telephony.RadioAccessSpecifier>);
20355    method @Deprecated public void setVisualVoicemailEnabled(android.telecom.PhoneAccountHandle, boolean);
20356    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoiceActivationState(int);
20357    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void shutdownAllRadios();
20358    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult supplyIccLockPin(@NonNull String);
20359    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult supplyIccLockPuk(@NonNull String, @NonNull String);
20360    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean supplyPin(String);
20361    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int[] supplyPinReportResult(String);
20362    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean supplyPuk(String, String);
20363    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int[] supplyPukReportResult(String, String);
20364    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean switchSlots(int[]);
20365    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void toggleRadioOnOff();
20366    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterCarrierPrivilegesCallback(@NonNull android.telephony.TelephonyManager.CarrierPrivilegesCallback);
20367    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void updateOtaEmergencyNumberDbFilePath(@NonNull android.os.ParcelFileDescriptor);
20368    method public void updateServiceLocation();
20369    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final String ACTION_ANOMALY_REPORTED = "android.telephony.action.ANOMALY_REPORTED";
20370    field public static final String ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED = "android.intent.action.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED";
20371    field public static final String ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED = "android.intent.action.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED";
20372    field public static final String ACTION_EMERGENCY_ASSISTANCE = "android.telephony.action.EMERGENCY_ASSISTANCE";
20373    field public static final String ACTION_EMERGENCY_CALLBACK_MODE_CHANGED = "android.intent.action.EMERGENCY_CALLBACK_MODE_CHANGED";
20374    field public static final String ACTION_EMERGENCY_CALL_STATE_CHANGED = "android.intent.action.EMERGENCY_CALL_STATE_CHANGED";
20375    field public static final String ACTION_REQUEST_OMADM_CONFIGURATION_UPDATE = "com.android.omadm.service.CONFIGURATION_UPDATE";
20376    field public static final String ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS = "android.telephony.action.SHOW_NOTICE_ECM_BLOCK_OTHERS";
20377    field public static final String ACTION_SIM_APPLICATION_STATE_CHANGED = "android.telephony.action.SIM_APPLICATION_STATE_CHANGED";
20378    field public static final String ACTION_SIM_CARD_STATE_CHANGED = "android.telephony.action.SIM_CARD_STATE_CHANGED";
20379    field public static final String ACTION_SIM_SLOT_STATUS_CHANGED = "android.telephony.action.SIM_SLOT_STATUS_CHANGED";
20380    field public static final int ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G = 3; // 0x3
20381    field public static final int ALLOWED_NETWORK_TYPES_REASON_POWER = 1; // 0x1
20382    field public static final int CALL_WAITING_STATUS_DISABLED = 2; // 0x2
20383    field public static final int CALL_WAITING_STATUS_ENABLED = 1; // 0x1
20384    field public static final int CALL_WAITING_STATUS_FDN_CHECK_FAILURE = 5; // 0x5
20385    field public static final int CALL_WAITING_STATUS_NOT_SUPPORTED = 4; // 0x4
20386    field public static final int CALL_WAITING_STATUS_UNKNOWN_ERROR = 3; // 0x3
20387    field public static final String CAPABILITY_NR_DUAL_CONNECTIVITY_CONFIGURATION_AVAILABLE = "CAPABILITY_NR_DUAL_CONNECTIVITY_CONFIGURATION_AVAILABLE";
20388    field public static final String CAPABILITY_SECONDARY_LINK_BANDWIDTH_VISIBLE = "CAPABILITY_SECONDARY_LINK_BANDWIDTH_VISIBLE";
20389    field public static final String CAPABILITY_THERMAL_MITIGATION_DATA_THROTTLING = "CAPABILITY_THERMAL_MITIGATION_DATA_THROTTLING";
20390    field public static final String CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK = "CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK";
20391    field public static final int CARRIER_PRIVILEGE_STATUS_ERROR_LOADING_RULES = -2; // 0xfffffffe
20392    field public static final int CARRIER_PRIVILEGE_STATUS_HAS_ACCESS = 1; // 0x1
20393    field public static final int CARRIER_PRIVILEGE_STATUS_NO_ACCESS = 0; // 0x0
20394    field public static final int CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED = -1; // 0xffffffff
20395    field public static final int CDMA_SUBSCRIPTION_NV = 1; // 0x1
20396    field public static final int CDMA_SUBSCRIPTION_RUIM_SIM = 0; // 0x0
20397    field public static final int CDMA_SUBSCRIPTION_UNKNOWN = -1; // 0xffffffff
20398    field public static final int CELL_BROADCAST_RESULT_FAIL_ACTIVATION = 3; // 0x3
20399    field public static final int CELL_BROADCAST_RESULT_FAIL_CONFIG = 2; // 0x2
20400    field public static final int CELL_BROADCAST_RESULT_SUCCESS = 0; // 0x0
20401    field public static final int CELL_BROADCAST_RESULT_UNKNOWN = -1; // 0xffffffff
20402    field public static final int CELL_BROADCAST_RESULT_UNSUPPORTED = 1; // 0x1
20403    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_INVALID_STATE = 4; // 0x4
20404    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_NOT_SUPPORTED = 1; // 0x1
20405    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_RADIO_ERROR = 3; // 0x3
20406    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_RADIO_NOT_AVAILABLE = 2; // 0x2
20407    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_SUCCESS = 0; // 0x0
20408    field public static final String EXTRA_ANOMALY_DESCRIPTION = "android.telephony.extra.ANOMALY_DESCRIPTION";
20409    field public static final String EXTRA_ANOMALY_ID = "android.telephony.extra.ANOMALY_ID";
20410    field public static final String EXTRA_PHONE_IN_ECM_STATE = "android.telephony.extra.PHONE_IN_ECM_STATE";
20411    field public static final String EXTRA_PHONE_IN_EMERGENCY_CALL = "android.telephony.extra.PHONE_IN_EMERGENCY_CALL";
20412    field public static final String EXTRA_SIM_STATE = "android.telephony.extra.SIM_STATE";
20413    field public static final String EXTRA_VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL = "android.telephony.extra.VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL";
20414    field public static final String EXTRA_VOICEMAIL_SCRAMBLED_PIN_STRING = "android.telephony.extra.VOICEMAIL_SCRAMBLED_PIN_STRING";
20415    field public static final int GBA_FAILURE_REASON_FEATURE_NOT_READY = 2; // 0x2
20416    field public static final int GBA_FAILURE_REASON_FEATURE_NOT_SUPPORTED = 1; // 0x1
20417    field public static final int GBA_FAILURE_REASON_INCORRECT_NAF_ID = 4; // 0x4
20418    field public static final int GBA_FAILURE_REASON_NETWORK_FAILURE = 3; // 0x3
20419    field public static final int GBA_FAILURE_REASON_SECURITY_PROTOCOL_NOT_SUPPORTED = 5; // 0x5
20420    field public static final int GBA_FAILURE_REASON_UNKNOWN = 0; // 0x0
20421    field public static final int INVALID_EMERGENCY_NUMBER_DB_VERSION = -1; // 0xffffffff
20422    field public static final int KEY_TYPE_EPDG = 1; // 0x1
20423    field public static final int KEY_TYPE_WLAN = 2; // 0x2
20424    field public static final int MOBILE_DATA_POLICY_AUTO_DATA_SWITCH = 3; // 0x3
20425    field public static final int MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL = 1; // 0x1
20426    field public static final int MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED = 2; // 0x2
20427    field public static final int NR_DUAL_CONNECTIVITY_DISABLE = 2; // 0x2
20428    field public static final int NR_DUAL_CONNECTIVITY_DISABLE_IMMEDIATE = 3; // 0x3
20429    field public static final int NR_DUAL_CONNECTIVITY_ENABLE = 1; // 0x1
20430    field public static final int PREPARE_UNATTENDED_REBOOT_ERROR = 2; // 0x2
20431    field public static final int PREPARE_UNATTENDED_REBOOT_PIN_REQUIRED = 1; // 0x1
20432    field public static final int PREPARE_UNATTENDED_REBOOT_SUCCESS = 0; // 0x0
20433    field public static final int RADIO_POWER_OFF = 0; // 0x0
20434    field public static final int RADIO_POWER_ON = 1; // 0x1
20435    field public static final int RADIO_POWER_REASON_CARRIER = 2; // 0x2
20436    field public static final int RADIO_POWER_REASON_NEARBY_DEVICE = 3; // 0x3
20437    field public static final int RADIO_POWER_REASON_THERMAL = 1; // 0x1
20438    field public static final int RADIO_POWER_REASON_USER = 0; // 0x0
20439    field public static final int RADIO_POWER_UNAVAILABLE = 2; // 0x2
20440    field public static final int SET_CARRIER_RESTRICTION_ERROR = 2; // 0x2
20441    field public static final int SET_CARRIER_RESTRICTION_NOT_SUPPORTED = 1; // 0x1
20442    field public static final int SET_CARRIER_RESTRICTION_SUCCESS = 0; // 0x0
20443    field public static final int SET_SIM_POWER_STATE_ALREADY_IN_STATE = 1; // 0x1
20444    field public static final int SET_SIM_POWER_STATE_MODEM_ERROR = 2; // 0x2
20445    field public static final int SET_SIM_POWER_STATE_NOT_SUPPORTED = 4; // 0x4
20446    field public static final int SET_SIM_POWER_STATE_SIM_ERROR = 3; // 0x3
20447    field public static final int SET_SIM_POWER_STATE_SUCCESS = 0; // 0x0
20448    field public static final int SIM_ACTIVATION_STATE_ACTIVATED = 2; // 0x2
20449    field public static final int SIM_ACTIVATION_STATE_ACTIVATING = 1; // 0x1
20450    field public static final int SIM_ACTIVATION_STATE_DEACTIVATED = 3; // 0x3
20451    field public static final int SIM_ACTIVATION_STATE_RESTRICTED = 4; // 0x4
20452    field public static final int SIM_ACTIVATION_STATE_UNKNOWN = 0; // 0x0
20453    field public static final int SIM_STATE_LOADED = 10; // 0xa
20454    field public static final int SIM_STATE_PRESENT = 11; // 0xb
20455    field public static final int SRVCC_STATE_HANDOVER_CANCELED = 3; // 0x3
20456    field public static final int SRVCC_STATE_HANDOVER_COMPLETED = 1; // 0x1
20457    field public static final int SRVCC_STATE_HANDOVER_FAILED = 2; // 0x2
20458    field public static final int SRVCC_STATE_HANDOVER_NONE = -1; // 0xffffffff
20459    field public static final int SRVCC_STATE_HANDOVER_STARTED = 0; // 0x0
20460    field public static final int THERMAL_MITIGATION_RESULT_INVALID_STATE = 3; // 0x3
20461    field public static final int THERMAL_MITIGATION_RESULT_MODEM_ERROR = 1; // 0x1
20462    field public static final int THERMAL_MITIGATION_RESULT_MODEM_NOT_AVAILABLE = 2; // 0x2
20463    field public static final int THERMAL_MITIGATION_RESULT_SUCCESS = 0; // 0x0
20464    field public static final int THERMAL_MITIGATION_RESULT_UNKNOWN_ERROR = 4; // 0x4
20465  }
20466
20467  public static class TelephonyManager.BootstrapAuthenticationCallback {
20468    ctor public TelephonyManager.BootstrapAuthenticationCallback();
20469    method public void onAuthenticationFailure(int);
20470    method public void onKeysAvailable(@NonNull byte[], @NonNull String);
20471  }
20472
20473  public static interface TelephonyManager.CallForwardingInfoCallback {
20474    method public void onCallForwardingInfoAvailable(@NonNull android.telephony.CallForwardingInfo);
20475    method public void onError(int);
20476    field public static final int RESULT_ERROR_FDN_CHECK_FAILURE = 2; // 0x2
20477    field public static final int RESULT_ERROR_NOT_SUPPORTED = 3; // 0x3
20478    field public static final int RESULT_ERROR_UNKNOWN = 1; // 0x1
20479    field public static final int RESULT_SUCCESS = 0; // 0x0
20480  }
20481
20482  public static interface TelephonyManager.CarrierPrivilegesCallback {
20483    method public void onCarrierPrivilegesChanged(@NonNull java.util.Set<java.lang.String>, @NonNull java.util.Set<java.lang.Integer>);
20484    method public default void onCarrierServiceChanged(@Nullable String, int);
20485  }
20486
20487  public static class TelephonyManager.ModemActivityInfoException extends java.lang.Exception {
20488    ctor public TelephonyManager.ModemActivityInfoException(int);
20489    method public int getErrorCode();
20490    field public static final int ERROR_INVALID_INFO_RECEIVED = 2; // 0x2
20491    field public static final int ERROR_MODEM_RESPONSE_ERROR = 3; // 0x3
20492    field public static final int ERROR_PHONE_NOT_AVAILABLE = 1; // 0x1
20493    field public static final int ERROR_UNKNOWN = 0; // 0x0
20494  }
20495
20496  public final class ThermalMitigationRequest implements android.os.Parcelable {
20497    method public int describeContents();
20498    method @Nullable public android.telephony.DataThrottlingRequest getDataThrottlingRequest();
20499    method public int getThermalMitigationAction();
20500    method public void writeToParcel(@NonNull android.os.Parcel, int);
20501    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ThermalMitigationRequest> CREATOR;
20502    field public static final int THERMAL_MITIGATION_ACTION_DATA_THROTTLING = 0; // 0x0
20503    field public static final int THERMAL_MITIGATION_ACTION_RADIO_OFF = 2; // 0x2
20504    field public static final int THERMAL_MITIGATION_ACTION_VOICE_ONLY = 1; // 0x1
20505  }
20506
20507  public static final class ThermalMitigationRequest.Builder {
20508    ctor public ThermalMitigationRequest.Builder();
20509    method @NonNull public android.telephony.ThermalMitigationRequest build();
20510    method @NonNull public android.telephony.ThermalMitigationRequest.Builder setDataThrottlingRequest(@NonNull android.telephony.DataThrottlingRequest);
20511    method @NonNull public android.telephony.ThermalMitigationRequest.Builder setThermalMitigationAction(int);
20512  }
20513
20514  public final class UiccAccessRule implements android.os.Parcelable {
20515    ctor public UiccAccessRule(byte[], @Nullable String, long);
20516    method public int describeContents();
20517    method public int getCarrierPrivilegeStatus(android.content.pm.PackageInfo);
20518    method public int getCarrierPrivilegeStatus(android.content.pm.Signature, String);
20519    method public String getCertificateHexString();
20520    method @Nullable public String getPackageName();
20521    method public void writeToParcel(android.os.Parcel, int);
20522    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccAccessRule> CREATOR;
20523  }
20524
20525  public class UiccSlotInfo implements android.os.Parcelable {
20526    ctor @Deprecated public UiccSlotInfo(boolean, boolean, String, int, int, boolean);
20527    method public int describeContents();
20528    method public String getCardId();
20529    method public int getCardStateInfo();
20530    method @Deprecated public boolean getIsActive();
20531    method public boolean getIsEuicc();
20532    method public boolean getIsExtendedApduSupported();
20533    method @Deprecated public int getLogicalSlotIdx();
20534    method @NonNull public java.util.Collection<android.telephony.UiccPortInfo> getPorts();
20535    method public boolean isRemovable();
20536    method public void writeToParcel(android.os.Parcel, int);
20537    field public static final int CARD_STATE_INFO_ABSENT = 1; // 0x1
20538    field public static final int CARD_STATE_INFO_ERROR = 3; // 0x3
20539    field public static final int CARD_STATE_INFO_PRESENT = 2; // 0x2
20540    field public static final int CARD_STATE_INFO_RESTRICTED = 4; // 0x4
20541    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccSlotInfo> CREATOR;
20542  }
20543
20544  public final class UiccSlotMapping implements android.os.Parcelable {
20545    ctor public UiccSlotMapping(int, int, int);
20546    method public int describeContents();
20547    method @IntRange(from=0) public int getLogicalSlotIndex();
20548    method @IntRange(from=0) public int getPhysicalSlotIndex();
20549    method @IntRange(from=0) public int getPortIndex();
20550    method public void writeToParcel(@Nullable android.os.Parcel, int);
20551    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccSlotMapping> CREATOR;
20552  }
20553
20554  public abstract class VisualVoicemailService extends android.app.Service {
20555    method public static final void sendVisualVoicemailSms(android.content.Context, android.telecom.PhoneAccountHandle, String, short, String, android.app.PendingIntent);
20556    method public static final void setSmsFilterSettings(android.content.Context, android.telecom.PhoneAccountHandle, android.telephony.VisualVoicemailSmsFilterSettings);
20557  }
20558
20559  public abstract class VopsSupportInfo implements android.os.Parcelable {
20560    method public int describeContents();
20561    method public abstract boolean equals(Object);
20562    method public abstract int hashCode();
20563    method public abstract boolean isEmergencyServiceFallbackSupported();
20564    method public abstract boolean isEmergencyServiceSupported();
20565    method public abstract boolean isVopsSupported();
20566    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.VopsSupportInfo> CREATOR;
20567  }
20568
20569}
20570
20571package android.telephony.cdma {
20572
20573  public final class CdmaSmsCbProgramData implements android.os.Parcelable {
20574    method public int describeContents();
20575    method public int getCategory();
20576    method public int getOperation();
20577    method public void writeToParcel(android.os.Parcel, int);
20578    field public static final int CATEGORY_CMAS_CHILD_ABDUCTION_EMERGENCY = 4099; // 0x1003
20579    field public static final int CATEGORY_CMAS_EXTREME_THREAT = 4097; // 0x1001
20580    field public static final int CATEGORY_CMAS_LAST_RESERVED_VALUE = 4351; // 0x10ff
20581    field public static final int CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT = 4096; // 0x1000
20582    field public static final int CATEGORY_CMAS_SEVERE_THREAT = 4098; // 0x1002
20583    field public static final int CATEGORY_CMAS_TEST_MESSAGE = 4100; // 0x1004
20584    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.cdma.CdmaSmsCbProgramData> CREATOR;
20585    field public static final int OPERATION_ADD_CATEGORY = 1; // 0x1
20586    field public static final int OPERATION_CLEAR_CATEGORIES = 2; // 0x2
20587    field public static final int OPERATION_DELETE_CATEGORY = 0; // 0x0
20588  }
20589
20590}
20591
20592package android.telephony.data {
20593
20594  public class ApnSetting implements android.os.Parcelable {
20595    method public static int getApnTypeInt(@NonNull String);
20596    method @NonNull public static String getApnTypeString(int);
20597    field public static final String TYPE_ALL_STRING = "*";
20598    field public static final String TYPE_BIP_STRING = "bip";
20599    field public static final String TYPE_CBS_STRING = "cbs";
20600    field public static final String TYPE_DEFAULT_STRING = "default";
20601    field public static final String TYPE_DUN_STRING = "dun";
20602    field public static final String TYPE_EMERGENCY_STRING = "emergency";
20603    field public static final String TYPE_ENTERPRISE_STRING = "enterprise";
20604    field public static final String TYPE_FOTA_STRING = "fota";
20605    field public static final String TYPE_HIPRI_STRING = "hipri";
20606    field public static final String TYPE_IA_STRING = "ia";
20607    field public static final String TYPE_IMS_STRING = "ims";
20608    field public static final String TYPE_MCX_STRING = "mcx";
20609    field public static final String TYPE_MMS_STRING = "mms";
20610    field public static final String TYPE_SUPL_STRING = "supl";
20611    field public static final String TYPE_VSIM_STRING = "vsim";
20612    field public static final String TYPE_XCAP_STRING = "xcap";
20613  }
20614
20615  public final class DataCallResponse implements android.os.Parcelable {
20616    method public int describeContents();
20617    method @NonNull public java.util.List<android.net.LinkAddress> getAddresses();
20618    method public int getCause();
20619    method @NonNull public java.util.List<java.net.InetAddress> getDnsAddresses();
20620    method @NonNull public java.util.List<java.net.InetAddress> getGatewayAddresses();
20621    method public int getHandoverFailureMode();
20622    method public int getId();
20623    method @NonNull public String getInterfaceName();
20624    method public int getLinkStatus();
20625    method @Deprecated public int getMtu();
20626    method public int getMtuV4();
20627    method public int getMtuV6();
20628    method @NonNull public java.util.List<java.net.InetAddress> getPcscfAddresses();
20629    method public int getPduSessionId();
20630    method public int getProtocolType();
20631    method public long getRetryDurationMillis();
20632    method @Nullable public android.telephony.data.NetworkSliceInfo getSliceInfo();
20633    method @Deprecated public int getSuggestedRetryTime();
20634    method @NonNull public java.util.List<android.telephony.data.TrafficDescriptor> getTrafficDescriptors();
20635    method public void writeToParcel(android.os.Parcel, int);
20636    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.DataCallResponse> CREATOR;
20637    field public static final int HANDOVER_FAILURE_MODE_DO_FALLBACK = 1; // 0x1
20638    field public static final int HANDOVER_FAILURE_MODE_LEGACY = 0; // 0x0
20639    field public static final int HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_HANDOVER = 2; // 0x2
20640    field public static final int HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_SETUP_NORMAL = 3; // 0x3
20641    field public static final int HANDOVER_FAILURE_MODE_UNKNOWN = -1; // 0xffffffff
20642    field public static final int LINK_STATUS_ACTIVE = 2; // 0x2
20643    field public static final int LINK_STATUS_DORMANT = 1; // 0x1
20644    field public static final int LINK_STATUS_INACTIVE = 0; // 0x0
20645    field public static final int LINK_STATUS_UNKNOWN = -1; // 0xffffffff
20646    field public static final int PDU_SESSION_ID_NOT_SET = 0; // 0x0
20647    field public static final int RETRY_DURATION_UNDEFINED = -1; // 0xffffffff
20648  }
20649
20650  public static final class DataCallResponse.Builder {
20651    ctor public DataCallResponse.Builder();
20652    method @NonNull public android.telephony.data.DataCallResponse build();
20653    method @NonNull public android.telephony.data.DataCallResponse.Builder setAddresses(@NonNull java.util.List<android.net.LinkAddress>);
20654    method @NonNull public android.telephony.data.DataCallResponse.Builder setCause(int);
20655    method @NonNull public android.telephony.data.DataCallResponse.Builder setDnsAddresses(@NonNull java.util.List<java.net.InetAddress>);
20656    method @NonNull public android.telephony.data.DataCallResponse.Builder setGatewayAddresses(@NonNull java.util.List<java.net.InetAddress>);
20657    method @NonNull public android.telephony.data.DataCallResponse.Builder setHandoverFailureMode(int);
20658    method @NonNull public android.telephony.data.DataCallResponse.Builder setId(int);
20659    method @NonNull public android.telephony.data.DataCallResponse.Builder setInterfaceName(@NonNull String);
20660    method @NonNull public android.telephony.data.DataCallResponse.Builder setLinkStatus(int);
20661    method @Deprecated @NonNull public android.telephony.data.DataCallResponse.Builder setMtu(int);
20662    method @NonNull public android.telephony.data.DataCallResponse.Builder setMtuV4(int);
20663    method @NonNull public android.telephony.data.DataCallResponse.Builder setMtuV6(int);
20664    method @NonNull public android.telephony.data.DataCallResponse.Builder setPcscfAddresses(@NonNull java.util.List<java.net.InetAddress>);
20665    method @NonNull public android.telephony.data.DataCallResponse.Builder setPduSessionId(@IntRange(from=android.telephony.data.DataCallResponse.PDU_SESSION_ID_NOT_SET, to=15) int);
20666    method @NonNull public android.telephony.data.DataCallResponse.Builder setProtocolType(int);
20667    method @NonNull public android.telephony.data.DataCallResponse.Builder setRetryDurationMillis(long);
20668    method @NonNull public android.telephony.data.DataCallResponse.Builder setSliceInfo(@Nullable android.telephony.data.NetworkSliceInfo);
20669    method @Deprecated @NonNull public android.telephony.data.DataCallResponse.Builder setSuggestedRetryTime(int);
20670    method @NonNull public android.telephony.data.DataCallResponse.Builder setTrafficDescriptors(@NonNull java.util.List<android.telephony.data.TrafficDescriptor>);
20671  }
20672
20673  public final class DataProfile implements android.os.Parcelable {
20674    method public int describeContents();
20675    method @Deprecated @NonNull public String getApn();
20676    method @Nullable public android.telephony.data.ApnSetting getApnSetting();
20677    method @Deprecated public int getAuthType();
20678    method @Deprecated public int getBearerBitmask();
20679    method @Deprecated public int getMtu();
20680    method @Deprecated public int getMtuV4();
20681    method @Deprecated public int getMtuV6();
20682    method @Deprecated @Nullable public String getPassword();
20683    method @Deprecated public int getProfileId();
20684    method @Deprecated public int getProtocolType();
20685    method @Deprecated public int getRoamingProtocolType();
20686    method @Deprecated public int getSupportedApnTypesBitmask();
20687    method @Nullable public android.telephony.data.TrafficDescriptor getTrafficDescriptor();
20688    method public int getType();
20689    method @Deprecated @Nullable public String getUserName();
20690    method public boolean isEnabled();
20691    method @Deprecated public boolean isPersistent();
20692    method public boolean isPreferred();
20693    method public void writeToParcel(android.os.Parcel, int);
20694    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.DataProfile> CREATOR;
20695    field public static final int TYPE_3GPP = 1; // 0x1
20696    field public static final int TYPE_3GPP2 = 2; // 0x2
20697    field public static final int TYPE_COMMON = 0; // 0x0
20698  }
20699
20700  public static final class DataProfile.Builder {
20701    ctor public DataProfile.Builder();
20702    method @NonNull public android.telephony.data.DataProfile build();
20703    method @NonNull public android.telephony.data.DataProfile.Builder enable(boolean);
20704    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setApn(@NonNull String);
20705    method @NonNull public android.telephony.data.DataProfile.Builder setApnSetting(@NonNull android.telephony.data.ApnSetting);
20706    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setAuthType(int);
20707    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setBearerBitmask(int);
20708    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setMtu(int);
20709    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setMtuV4(int);
20710    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setMtuV6(int);
20711    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setPassword(@NonNull String);
20712    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setPersistent(boolean);
20713    method @NonNull public android.telephony.data.DataProfile.Builder setPreferred(boolean);
20714    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setProfileId(int);
20715    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setProtocolType(int);
20716    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setRoamingProtocolType(int);
20717    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setSupportedApnTypesBitmask(int);
20718    method @NonNull public android.telephony.data.DataProfile.Builder setTrafficDescriptor(@NonNull android.telephony.data.TrafficDescriptor);
20719    method @NonNull public android.telephony.data.DataProfile.Builder setType(int);
20720    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setUserName(@NonNull String);
20721  }
20722
20723  public abstract class DataService extends android.app.Service {
20724    ctor public DataService();
20725    method public android.os.IBinder onBind(android.content.Intent);
20726    method @Nullable public abstract android.telephony.data.DataService.DataServiceProvider onCreateDataServiceProvider(int);
20727    field public static final int REQUEST_REASON_HANDOVER = 3; // 0x3
20728    field public static final int REQUEST_REASON_NORMAL = 1; // 0x1
20729    field public static final int REQUEST_REASON_SHUTDOWN = 2; // 0x2
20730    field public static final int REQUEST_REASON_UNKNOWN = 0; // 0x0
20731    field public static final String SERVICE_INTERFACE = "android.telephony.data.DataService";
20732  }
20733
20734  public abstract class DataService.DataServiceProvider implements java.lang.AutoCloseable {
20735    ctor public DataService.DataServiceProvider(int);
20736    method public abstract void close();
20737    method public void deactivateDataCall(int, int, @Nullable android.telephony.data.DataServiceCallback);
20738    method public final int getSlotIndex();
20739    method public final void notifyApnUnthrottled(@NonNull String);
20740    method public final void notifyDataCallListChanged(java.util.List<android.telephony.data.DataCallResponse>);
20741    method public final void notifyDataProfileUnthrottled(@NonNull android.telephony.data.DataProfile);
20742    method public void requestDataCallList(@NonNull android.telephony.data.DataServiceCallback);
20743    method public void setDataProfile(@NonNull java.util.List<android.telephony.data.DataProfile>, boolean, @NonNull android.telephony.data.DataServiceCallback);
20744    method public void setInitialAttachApn(@NonNull android.telephony.data.DataProfile, boolean, @NonNull android.telephony.data.DataServiceCallback);
20745    method public void setupDataCall(int, @NonNull android.telephony.data.DataProfile, boolean, boolean, int, @Nullable android.net.LinkProperties, @NonNull android.telephony.data.DataServiceCallback);
20746    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);
20747  }
20748
20749  public class DataServiceCallback {
20750    method public void onApnUnthrottled(@NonNull String);
20751    method public void onDataCallListChanged(@NonNull java.util.List<android.telephony.data.DataCallResponse>);
20752    method public void onDataProfileUnthrottled(@NonNull android.telephony.data.DataProfile);
20753    method public void onDeactivateDataCallComplete(int);
20754    method public void onRequestDataCallListComplete(int, @NonNull java.util.List<android.telephony.data.DataCallResponse>);
20755    method public void onSetDataProfileComplete(int);
20756    method public void onSetInitialAttachApnComplete(int);
20757    method public void onSetupDataCallComplete(int, @Nullable android.telephony.data.DataCallResponse);
20758    field public static final int RESULT_ERROR_BUSY = 3; // 0x3
20759    field public static final int RESULT_ERROR_ILLEGAL_STATE = 4; // 0x4
20760    field public static final int RESULT_ERROR_INVALID_ARG = 2; // 0x2
20761    field public static final int RESULT_ERROR_UNSUPPORTED = 1; // 0x1
20762    field public static final int RESULT_SUCCESS = 0; // 0x0
20763  }
20764
20765  public final class EpsBearerQosSessionAttributes implements android.os.Parcelable android.net.QosSessionAttributes {
20766    method public int describeContents();
20767    method public long getGuaranteedDownlinkBitRateKbps();
20768    method public long getGuaranteedUplinkBitRateKbps();
20769    method public long getMaxDownlinkBitRateKbps();
20770    method public long getMaxUplinkBitRateKbps();
20771    method public int getQosIdentifier();
20772    method @NonNull public java.util.List<java.net.InetSocketAddress> getRemoteAddresses();
20773    method public void writeToParcel(@NonNull android.os.Parcel, int);
20774    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.EpsBearerQosSessionAttributes> CREATOR;
20775  }
20776
20777  public final class NrQosSessionAttributes implements android.os.Parcelable android.net.QosSessionAttributes {
20778    method public int describeContents();
20779    method @NonNull public java.time.Duration getBitRateWindowDuration();
20780    method public long getGuaranteedDownlinkBitRateKbps();
20781    method public long getGuaranteedUplinkBitRateKbps();
20782    method public long getMaxDownlinkBitRateKbps();
20783    method public long getMaxUplinkBitRateKbps();
20784    method @IntRange(from=1, to=63) public int getQosFlowIdentifier();
20785    method public int getQosIdentifier();
20786    method @NonNull public java.util.List<java.net.InetSocketAddress> getRemoteAddresses();
20787    method public void writeToParcel(@NonNull android.os.Parcel, int);
20788    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.NrQosSessionAttributes> CREATOR;
20789  }
20790
20791  public abstract class QualifiedNetworksService extends android.app.Service {
20792    ctor public QualifiedNetworksService();
20793    method public android.os.IBinder onBind(android.content.Intent);
20794    method @NonNull public abstract android.telephony.data.QualifiedNetworksService.NetworkAvailabilityProvider onCreateNetworkAvailabilityProvider(int);
20795    field public static final String QUALIFIED_NETWORKS_SERVICE_INTERFACE = "android.telephony.data.QualifiedNetworksService";
20796  }
20797
20798  public abstract class QualifiedNetworksService.NetworkAvailabilityProvider implements java.lang.AutoCloseable {
20799    ctor public QualifiedNetworksService.NetworkAvailabilityProvider(int);
20800    method public abstract void close();
20801    method public final int getSlotIndex();
20802    method public void reportEmergencyDataNetworkPreferredTransportChanged(int);
20803    method public void reportThrottleStatusChanged(@NonNull java.util.List<android.telephony.data.ThrottleStatus>);
20804    method public final void updateQualifiedNetworkTypes(int, @NonNull java.util.List<java.lang.Integer>);
20805  }
20806
20807  public final class ThrottleStatus implements android.os.Parcelable {
20808    method public int describeContents();
20809    method public int getApnType();
20810    method public int getRetryType();
20811    method public int getSlotIndex();
20812    method public long getThrottleExpiryTimeMillis();
20813    method public int getThrottleType();
20814    method public int getTransportType();
20815    method public void writeToParcel(@NonNull android.os.Parcel, int);
20816    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.ThrottleStatus> CREATOR;
20817    field public static final int RETRY_TYPE_HANDOVER = 3; // 0x3
20818    field public static final int RETRY_TYPE_NEW_CONNECTION = 2; // 0x2
20819    field public static final int RETRY_TYPE_NONE = 1; // 0x1
20820    field public static final int THROTTLE_TYPE_ELAPSED_TIME = 2; // 0x2
20821    field public static final int THROTTLE_TYPE_NONE = 1; // 0x1
20822  }
20823
20824  public static final class ThrottleStatus.Builder {
20825    ctor public ThrottleStatus.Builder();
20826    method @NonNull public android.telephony.data.ThrottleStatus build();
20827    method @NonNull public android.telephony.data.ThrottleStatus.Builder setApnType(int);
20828    method @NonNull public android.telephony.data.ThrottleStatus.Builder setNoThrottle();
20829    method @NonNull public android.telephony.data.ThrottleStatus.Builder setRetryType(int);
20830    method @NonNull public android.telephony.data.ThrottleStatus.Builder setSlotIndex(int);
20831    method @NonNull public android.telephony.data.ThrottleStatus.Builder setThrottleExpiryTimeMillis(long);
20832    method @NonNull public android.telephony.data.ThrottleStatus.Builder setTransportType(int);
20833  }
20834
20835}
20836
20837package android.telephony.euicc {
20838
20839  public final class DownloadableSubscription implements android.os.Parcelable {
20840    method public java.util.List<android.telephony.UiccAccessRule> getAccessRules();
20841    method @Nullable public String getCarrierName();
20842  }
20843
20844  public static final class DownloadableSubscription.Builder {
20845    ctor public DownloadableSubscription.Builder();
20846    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setAccessRules(@NonNull java.util.List<android.telephony.UiccAccessRule>);
20847    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setCarrierName(@NonNull String);
20848  }
20849
20850  public class EuiccCardManager {
20851    method public void authenticateServer(String, String, byte[], byte[], byte[], byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
20852    method public void cancelSession(String, byte[], @android.telephony.euicc.EuiccCardManager.CancelReason int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
20853    method public void deleteProfile(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
20854    method public void disableProfile(String, String, boolean, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
20855    method public void listNotifications(String, @android.telephony.euicc.EuiccNotification.Event int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification[]>);
20856    method public void loadBoundProfilePackage(String, byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
20857    method public void prepareDownload(String, @Nullable byte[], byte[], byte[], byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
20858    method public void removeNotificationFromList(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
20859    method public void requestAllProfiles(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo[]>);
20860    method public void requestDefaultSmdpAddress(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.String>);
20861    method public void requestEnabledProfileForPort(@NonNull String, int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
20862    method public void requestEuiccChallenge(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
20863    method public void requestEuiccInfo1(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
20864    method public void requestEuiccInfo2(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
20865    method public void requestProfile(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
20866    method public void requestRulesAuthTable(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccRulesAuthTable>);
20867    method public void requestSmdsAddress(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.String>);
20868    method public void resetMemory(String, @android.telephony.euicc.EuiccCardManager.ResetOption int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
20869    method public void retrieveNotification(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification>);
20870    method public void retrieveNotificationList(String, @android.telephony.euicc.EuiccNotification.Event int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification[]>);
20871    method public void setDefaultSmdpAddress(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
20872    method public void setNickname(String, String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
20873    method @Deprecated public void switchToProfile(String, String, boolean, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
20874    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>);
20875    field public static final int CANCEL_REASON_END_USER_REJECTED = 0; // 0x0
20876    field public static final int CANCEL_REASON_POSTPONED = 1; // 0x1
20877    field public static final int CANCEL_REASON_PPR_NOT_ALLOWED = 3; // 0x3
20878    field public static final int CANCEL_REASON_TIMEOUT = 2; // 0x2
20879    field public static final int RESET_OPTION_DELETE_FIELD_LOADED_TEST_PROFILES = 2; // 0x2
20880    field public static final int RESET_OPTION_DELETE_OPERATIONAL_PROFILES = 1; // 0x1
20881    field public static final int RESET_OPTION_RESET_DEFAULT_SMDP_ADDRESS = 4; // 0x4
20882    field public static final int RESULT_CALLER_NOT_ALLOWED = -3; // 0xfffffffd
20883    field public static final int RESULT_EUICC_NOT_FOUND = -2; // 0xfffffffe
20884    field public static final int RESULT_OK = 0; // 0x0
20885    field public static final int RESULT_PROFILE_DOES_NOT_EXIST = -4; // 0xfffffffc
20886    field public static final int RESULT_PROFILE_NOT_FOUND = 1; // 0x1
20887    field public static final int RESULT_UNKNOWN_ERROR = -1; // 0xffffffff
20888  }
20889
20890  @IntDef(prefix={"CANCEL_REASON_"}, value={android.telephony.euicc.EuiccCardManager.CANCEL_REASON_END_USER_REJECTED, android.telephony.euicc.EuiccCardManager.CANCEL_REASON_POSTPONED, android.telephony.euicc.EuiccCardManager.CANCEL_REASON_TIMEOUT, android.telephony.euicc.EuiccCardManager.CANCEL_REASON_PPR_NOT_ALLOWED}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccCardManager.CancelReason {
20891  }
20892
20893  @IntDef(flag=true, prefix={"RESET_OPTION_"}, value={android.telephony.euicc.EuiccCardManager.RESET_OPTION_DELETE_OPERATIONAL_PROFILES, android.telephony.euicc.EuiccCardManager.RESET_OPTION_DELETE_FIELD_LOADED_TEST_PROFILES, android.telephony.euicc.EuiccCardManager.RESET_OPTION_RESET_DEFAULT_SMDP_ADDRESS}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccCardManager.ResetOption {
20894  }
20895
20896  public static interface EuiccCardManager.ResultCallback<T> {
20897    method public void onComplete(int, T);
20898  }
20899
20900  public class EuiccManager {
20901    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void continueOperation(android.content.Intent, android.os.Bundle);
20902    method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void eraseSubscriptions(@NonNull android.app.PendingIntent);
20903    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void eraseSubscriptions(@android.telephony.euicc.EuiccCardManager.ResetOption int, @NonNull android.app.PendingIntent);
20904    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void getDefaultDownloadableSubscriptionList(android.app.PendingIntent);
20905    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void getDownloadableSubscriptionMetadata(android.telephony.euicc.DownloadableSubscription, android.app.PendingIntent);
20906    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public int getOtaStatus();
20907    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public java.util.List<java.lang.String> getSupportedCountries();
20908    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public java.util.List<java.lang.String> getUnsupportedCountries();
20909    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public boolean isSupportedCountry(@NonNull String);
20910    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setSupportedCountries(@NonNull java.util.List<java.lang.String>);
20911    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setUnsupportedCountries(@NonNull java.util.List<java.lang.String>);
20912    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";
20913    field public static final String ACTION_DELETE_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.DELETE_SUBSCRIPTION_PRIVILEGED";
20914    field @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public static final String ACTION_OTA_STATUS_CHANGED = "android.telephony.euicc.action.OTA_STATUS_CHANGED";
20915    field public static final String ACTION_PROVISION_EMBEDDED_SUBSCRIPTION = "android.telephony.euicc.action.PROVISION_EMBEDDED_SUBSCRIPTION";
20916    field public static final String ACTION_RENAME_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.RENAME_SUBSCRIPTION_PRIVILEGED";
20917    field public static final String ACTION_TOGGLE_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.TOGGLE_SUBSCRIPTION_PRIVILEGED";
20918    field @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public static final String ACTION_TRANSFER_EMBEDDED_SUBSCRIPTIONS = "android.telephony.euicc.action.TRANSFER_EMBEDDED_SUBSCRIPTIONS";
20919    field public static final int EUICC_ACTIVATION_TYPE_ACCOUNT_REQUIRED = 4; // 0x4
20920    field public static final int EUICC_ACTIVATION_TYPE_BACKUP = 2; // 0x2
20921    field public static final int EUICC_ACTIVATION_TYPE_DEFAULT = 1; // 0x1
20922    field public static final int EUICC_ACTIVATION_TYPE_TRANSFER = 3; // 0x3
20923    field public static final int EUICC_OTA_FAILED = 2; // 0x2
20924    field public static final int EUICC_OTA_IN_PROGRESS = 1; // 0x1
20925    field public static final int EUICC_OTA_NOT_NEEDED = 4; // 0x4
20926    field public static final int EUICC_OTA_STATUS_UNAVAILABLE = 5; // 0x5
20927    field public static final int EUICC_OTA_SUCCEEDED = 3; // 0x3
20928    field public static final String EXTRA_ACTIVATION_TYPE = "android.telephony.euicc.extra.ACTIVATION_TYPE";
20929    field public static final String EXTRA_EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTIONS = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTIONS";
20930    field public static final String EXTRA_ENABLE_SUBSCRIPTION = "android.telephony.euicc.extra.ENABLE_SUBSCRIPTION";
20931    field public static final String EXTRA_FORCE_PROVISION = "android.telephony.euicc.extra.FORCE_PROVISION";
20932    field public static final String EXTRA_FROM_SUBSCRIPTION_ID = "android.telephony.euicc.extra.FROM_SUBSCRIPTION_ID";
20933    field public static final String EXTRA_PHYSICAL_SLOT_ID = "android.telephony.euicc.extra.PHYSICAL_SLOT_ID";
20934    field public static final String EXTRA_SUBSCRIPTION_ID = "android.telephony.euicc.extra.SUBSCRIPTION_ID";
20935    field public static final String EXTRA_SUBSCRIPTION_NICKNAME = "android.telephony.euicc.extra.SUBSCRIPTION_NICKNAME";
20936  }
20937
20938  @IntDef(prefix={"EUICC_OTA_"}, value={android.telephony.euicc.EuiccManager.EUICC_OTA_IN_PROGRESS, android.telephony.euicc.EuiccManager.EUICC_OTA_FAILED, android.telephony.euicc.EuiccManager.EUICC_OTA_SUCCEEDED, android.telephony.euicc.EuiccManager.EUICC_OTA_NOT_NEEDED, android.telephony.euicc.EuiccManager.EUICC_OTA_STATUS_UNAVAILABLE}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccManager.OtaStatus {
20939  }
20940
20941  public final class EuiccNotification implements android.os.Parcelable {
20942    ctor public EuiccNotification(int, String, @android.telephony.euicc.EuiccNotification.Event int, @Nullable byte[]);
20943    method public int describeContents();
20944    method @Nullable public byte[] getData();
20945    method @android.telephony.euicc.EuiccNotification.Event public int getEvent();
20946    method public int getSeq();
20947    method public String getTargetAddr();
20948    method public void writeToParcel(android.os.Parcel, int);
20949    field @android.telephony.euicc.EuiccNotification.Event public static final int ALL_EVENTS = 15; // 0xf
20950    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccNotification> CREATOR;
20951    field public static final int EVENT_DELETE = 8; // 0x8
20952    field public static final int EVENT_DISABLE = 4; // 0x4
20953    field public static final int EVENT_ENABLE = 2; // 0x2
20954    field public static final int EVENT_INSTALL = 1; // 0x1
20955  }
20956
20957  @IntDef(flag=true, prefix={"EVENT_"}, value={android.telephony.euicc.EuiccNotification.EVENT_INSTALL, android.telephony.euicc.EuiccNotification.EVENT_ENABLE, android.telephony.euicc.EuiccNotification.EVENT_DISABLE, android.telephony.euicc.EuiccNotification.EVENT_DELETE}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccNotification.Event {
20958  }
20959
20960  public final class EuiccRulesAuthTable implements android.os.Parcelable {
20961    method public int describeContents();
20962    method public int findIndex(@android.service.euicc.EuiccProfileInfo.PolicyRule int, android.service.carrier.CarrierIdentifier);
20963    method public boolean hasPolicyRuleFlag(int, @android.telephony.euicc.EuiccRulesAuthTable.PolicyRuleFlag int);
20964    method public void writeToParcel(android.os.Parcel, int);
20965    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccRulesAuthTable> CREATOR;
20966    field public static final int POLICY_RULE_FLAG_CONSENT_REQUIRED = 1; // 0x1
20967  }
20968
20969  public static final class EuiccRulesAuthTable.Builder {
20970    ctor public EuiccRulesAuthTable.Builder(int);
20971    method public android.telephony.euicc.EuiccRulesAuthTable.Builder add(int, java.util.List<android.service.carrier.CarrierIdentifier>, int);
20972    method public android.telephony.euicc.EuiccRulesAuthTable build();
20973  }
20974
20975  @IntDef(flag=true, prefix={"POLICY_RULE_FLAG_"}, value={android.telephony.euicc.EuiccRulesAuthTable.POLICY_RULE_FLAG_CONSENT_REQUIRED}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccRulesAuthTable.PolicyRuleFlag {
20976  }
20977
20978}
20979
20980package android.telephony.gba {
20981
20982  public class GbaService extends android.app.Service {
20983    ctor public GbaService();
20984    method public void onAuthenticationRequest(int, int, int, @NonNull android.net.Uri, @NonNull byte[], boolean);
20985    method public android.os.IBinder onBind(android.content.Intent);
20986    method public final void reportAuthenticationFailure(int, int) throws java.lang.RuntimeException;
20987    method public final void reportKeysAvailable(int, @NonNull byte[], @NonNull String) throws java.lang.RuntimeException;
20988    field public static final String SERVICE_INTERFACE = "android.telephony.gba.GbaService";
20989  }
20990
20991  public class TlsParams {
20992    method public static boolean isTlsCipherSuiteSupported(int);
20993    field public static final int GROUP_SECP256R1 = 23; // 0x17
20994    field public static final int GROUP_SECP384R1 = 24; // 0x18
20995    field public static final int GROUP_X25519 = 29; // 0x1d
20996    field public static final int GROUP_X448 = 30; // 0x1e
20997    field public static final int PROTOCOL_VERSION_TLS_1_2 = 771; // 0x303
20998    field public static final int PROTOCOL_VERSION_TLS_1_3 = 772; // 0x304
20999    field public static final int SIG_ECDSA_BRAINPOOLP256R1TLS13_SHA256 = 2074; // 0x81a
21000    field public static final int SIG_ECDSA_BRAINPOOLP384R1TLS13_SHA384 = 2075; // 0x81b
21001    field public static final int SIG_ECDSA_BRAINPOOLP512R1TLS13_SHA512 = 2076; // 0x81c
21002    field public static final int SIG_ECDSA_SECP256R1_SHA256 = 1027; // 0x403
21003    field public static final int SIG_ECDSA_SECP384R1_SHA384 = 1283; // 0x503
21004    field public static final int SIG_ECDSA_SECP521R1_SHA512 = 1539; // 0x603
21005    field public static final int SIG_ECDSA_SHA1 = 515; // 0x203
21006    field public static final int SIG_RSA_PKCS1_SHA1 = 513; // 0x201
21007    field public static final int SIG_RSA_PKCS1_SHA256 = 1025; // 0x401
21008    field public static final int SIG_RSA_PKCS1_SHA256_LEGACY = 1056; // 0x420
21009    field public static final int SIG_RSA_PKCS1_SHA384 = 1281; // 0x501
21010    field public static final int SIG_RSA_PKCS1_SHA384_LEGACY = 1312; // 0x520
21011    field public static final int SIG_RSA_PKCS1_SHA512 = 1537; // 0x601
21012    field public static final int SIG_RSA_PKCS1_SHA512_LEGACY = 1568; // 0x620
21013    field public static final int SIG_RSA_PSS_RSAE_SHA256 = 2052; // 0x804
21014    field public static final int SIG_RSA_PSS_RSAE_SHA384 = 2053; // 0x805
21015    field public static final int SIG_RSA_PSS_RSAE_SHA512 = 2054; // 0x806
21016    field public static final int TLS_AES_128_CCM_SHA256 = 4868; // 0x1304
21017    field public static final int TLS_AES_128_GCM_SHA256 = 4865; // 0x1301
21018    field public static final int TLS_AES_256_GCM_SHA384 = 4866; // 0x1302
21019    field public static final int TLS_CHACHA20_POLY1305_SHA256 = 4867; // 0x1303
21020    field public static final int TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 19; // 0x13
21021    field public static final int TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 50; // 0x32
21022    field public static final int TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 64; // 0x40
21023    field public static final int TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 56; // 0x38
21024    field public static final int TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 106; // 0x6a
21025    field public static final int TLS_DHE_PSK_WITH_AES_128_CCM = 49318; // 0xc0a6
21026    field public static final int TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 = 170; // 0xaa
21027    field public static final int TLS_DHE_PSK_WITH_AES_256_CCM = 49319; // 0xc0a7
21028    field public static final int TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 = 171; // 0xab
21029    field public static final int TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52397; // 0xccad
21030    field public static final int TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 22; // 0x16
21031    field public static final int TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 51; // 0x33
21032    field public static final int TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 103; // 0x67
21033    field public static final int TLS_DHE_RSA_WITH_AES_128_CCM = 49310; // 0xc09e
21034    field public static final int TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = 158; // 0x9e
21035    field public static final int TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 57; // 0x39
21036    field public static final int TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 107; // 0x6b
21037    field public static final int TLS_DHE_RSA_WITH_AES_256_CCM = 49311; // 0xc09f
21038    field public static final int TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = 159; // 0x9f
21039    field public static final int TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52394; // 0xccaa
21040    field public static final int TLS_DH_ANON_WITH_3DES_EDE_CBC_SHA = 27; // 0x1b
21041    field public static final int TLS_DH_ANON_WITH_AES_128_CBC_SHA = 52; // 0x34
21042    field public static final int TLS_DH_ANON_WITH_AES_128_CBC_SHA256 = 108; // 0x6c
21043    field public static final int TLS_DH_ANON_WITH_AES_256_CBC_SHA = 58; // 0x3a
21044    field public static final int TLS_DH_ANON_WITH_AES_256_CBC_SHA256 = 109; // 0x6d
21045    field public static final int TLS_DH_ANON_WITH_RC4_128_MD5 = 24; // 0x18
21046    field public static final int TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA = 13; // 0xd
21047    field public static final int TLS_DH_DSS_WITH_AES_128_CBC_SHA = 48; // 0x30
21048    field public static final int TLS_DH_DSS_WITH_AES_128_CBC_SHA256 = 62; // 0x3e
21049    field public static final int TLS_DH_DSS_WITH_AES_256_CBC_SHA = 54; // 0x36
21050    field public static final int TLS_DH_DSS_WITH_AES_256_CBC_SHA256 = 104; // 0x68
21051    field public static final int TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA = 16; // 0x10
21052    field public static final int TLS_DH_RSA_WITH_AES_128_CBC_SHA = 49; // 0x31
21053    field public static final int TLS_DH_RSA_WITH_AES_128_CBC_SHA256 = 63; // 0x3f
21054    field public static final int TLS_DH_RSA_WITH_AES_256_CBC_SHA = 55; // 0x37
21055    field public static final int TLS_DH_RSA_WITH_AES_256_CBC_SHA256 = 105; // 0x69
21056    field public static final int TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = 49195; // 0xc02b
21057    field public static final int TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = 49196; // 0xc02c
21058    field public static final int TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = 52393; // 0xcca9
21059    field public static final int TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256 = 53253; // 0xd005
21060    field public static final int TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256 = 53249; // 0xd001
21061    field public static final int TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384 = 53250; // 0xd002
21062    field public static final int TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52396; // 0xccac
21063    field public static final int TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = 49199; // 0xc02f
21064    field public static final int TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = 49200; // 0xc030
21065    field public static final int TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52392; // 0xcca8
21066    field public static final int TLS_NULL_WITH_NULL_NULL = 0; // 0x0
21067    field public static final int TLS_RSA_WITH_3DES_EDE_CBC_SHA = 10; // 0xa
21068    field public static final int TLS_RSA_WITH_AES_128_CBC_SHA = 47; // 0x2f
21069    field public static final int TLS_RSA_WITH_AES_128_CBC_SHA256 = 60; // 0x3c
21070    field public static final int TLS_RSA_WITH_AES_256_CBC_SHA = 53; // 0x35
21071    field public static final int TLS_RSA_WITH_AES_256_CBC_SHA256 = 61; // 0x3d
21072    field public static final int TLS_RSA_WITH_NULL_MD5 = 1; // 0x1
21073    field public static final int TLS_RSA_WITH_NULL_SHA = 2; // 0x2
21074    field public static final int TLS_RSA_WITH_NULL_SHA256 = 59; // 0x3b
21075    field public static final int TLS_RSA_WITH_RC4_128_MD5 = 4; // 0x4
21076    field public static final int TLS_RSA_WITH_RC4_128_SHA = 5; // 0x5
21077  }
21078
21079  public final class UaSecurityProtocolIdentifier implements android.os.Parcelable {
21080    method public int describeContents();
21081    method public int getOrg();
21082    method public int getProtocol();
21083    method public int getTlsCipherSuite();
21084    method @NonNull public byte[] toByteArray();
21085    method public void writeToParcel(@NonNull android.os.Parcel, int);
21086    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.gba.UaSecurityProtocolIdentifier> CREATOR;
21087    field public static final int ORG_3GPP = 1; // 0x1
21088    field public static final int ORG_3GPP2 = 2; // 0x2
21089    field public static final int ORG_GSMA = 4; // 0x4
21090    field public static final int ORG_LOCAL = 255; // 0xff
21091    field public static final int ORG_NONE = 0; // 0x0
21092    field public static final int ORG_OMA = 3; // 0x3
21093    field public static final int UA_SECURITY_PROTOCOL_3GPP_GENERATION_TMPI = 256; // 0x100
21094    field public static final int UA_SECURITY_PROTOCOL_3GPP_GENERIC_PUSH_LAYER = 5; // 0x5
21095    field public static final int UA_SECURITY_PROTOCOL_3GPP_HTTP_BASED_MBMS = 3; // 0x3
21096    field public static final int UA_SECURITY_PROTOCOL_3GPP_HTTP_DIGEST_AUTHENTICATION = 2; // 0x2
21097    field public static final int UA_SECURITY_PROTOCOL_3GPP_IMS_MEDIA_PLANE = 6; // 0x6
21098    field public static final int UA_SECURITY_PROTOCOL_3GPP_MBMS = 1; // 0x1
21099    field public static final int UA_SECURITY_PROTOCOL_3GPP_SIP_BASED_MBMS = 4; // 0x4
21100    field public static final int UA_SECURITY_PROTOCOL_3GPP_SUBSCRIBER_CERTIFICATE = 0; // 0x0
21101    field public static final int UA_SECURITY_PROTOCOL_3GPP_TLS_BROWSER = 131072; // 0x20000
21102    field public static final int UA_SECURITY_PROTOCOL_3GPP_TLS_DEFAULT = 65536; // 0x10000
21103  }
21104
21105  public static final class UaSecurityProtocolIdentifier.Builder {
21106    ctor public UaSecurityProtocolIdentifier.Builder();
21107    ctor public UaSecurityProtocolIdentifier.Builder(@NonNull android.telephony.gba.UaSecurityProtocolIdentifier);
21108    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier build();
21109    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setOrg(int);
21110    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setProtocol(int);
21111    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setTlsCipherSuite(int);
21112  }
21113
21114}
21115
21116package android.telephony.ims {
21117
21118  public final class AudioCodecAttributes implements android.os.Parcelable {
21119    ctor public AudioCodecAttributes(float, @NonNull android.util.Range<java.lang.Float>, float, @NonNull android.util.Range<java.lang.Float>);
21120    method public int describeContents();
21121    method public float getBandwidthKhz();
21122    method @NonNull public android.util.Range<java.lang.Float> getBandwidthRangeKhz();
21123    method public float getBitrateKbps();
21124    method @NonNull public android.util.Range<java.lang.Float> getBitrateRangeKbps();
21125    method public void writeToParcel(@NonNull android.os.Parcel, int);
21126    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.AudioCodecAttributes> CREATOR;
21127  }
21128
21129  public interface DelegateMessageCallback {
21130    method public void onMessageReceived(@NonNull android.telephony.ims.SipMessage);
21131    method public void onMessageSendFailure(@NonNull String, int);
21132    method public void onMessageSent(@NonNull String);
21133  }
21134
21135  public final class DelegateRegistrationState implements android.os.Parcelable {
21136    method public int describeContents();
21137    method @NonNull public java.util.Set<android.telephony.ims.FeatureTagState> getDeregisteredFeatureTags();
21138    method @NonNull public java.util.Set<android.telephony.ims.FeatureTagState> getDeregisteringFeatureTags();
21139    method @NonNull public java.util.Set<java.lang.String> getRegisteredFeatureTags();
21140    method @NonNull public java.util.Set<java.lang.String> getRegisteringFeatureTags();
21141    method public void writeToParcel(@NonNull android.os.Parcel, int);
21142    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.DelegateRegistrationState> CREATOR;
21143    field public static final int DEREGISTERED_REASON_NOT_PROVISIONED = 1; // 0x1
21144    field public static final int DEREGISTERED_REASON_NOT_REGISTERED = 2; // 0x2
21145    field public static final int DEREGISTERED_REASON_UNKNOWN = 0; // 0x0
21146    field public static final int DEREGISTERING_REASON_DESTROY_PENDING = 6; // 0x6
21147    field public static final int DEREGISTERING_REASON_FEATURE_TAGS_CHANGING = 5; // 0x5
21148    field public static final int DEREGISTERING_REASON_LOSING_PDN = 7; // 0x7
21149    field public static final int DEREGISTERING_REASON_PDN_CHANGE = 3; // 0x3
21150    field public static final int DEREGISTERING_REASON_PROVISIONING_CHANGE = 4; // 0x4
21151    field public static final int DEREGISTERING_REASON_UNSPECIFIED = 8; // 0x8
21152  }
21153
21154  public static final class DelegateRegistrationState.Builder {
21155    ctor public DelegateRegistrationState.Builder();
21156    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addDeregisteredFeatureTag(@NonNull String, int);
21157    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addDeregisteringFeatureTag(@NonNull String, int);
21158    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addRegisteredFeatureTag(@NonNull String);
21159    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addRegisteredFeatureTags(@NonNull java.util.Set<java.lang.String>);
21160    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addRegisteringFeatureTags(@NonNull java.util.Set<java.lang.String>);
21161    method @NonNull public android.telephony.ims.DelegateRegistrationState build();
21162  }
21163
21164  public final class DelegateRequest implements android.os.Parcelable {
21165    ctor public DelegateRequest(@NonNull java.util.Set<java.lang.String>);
21166    method public int describeContents();
21167    method @NonNull public java.util.Set<java.lang.String> getFeatureTags();
21168    method public void writeToParcel(@NonNull android.os.Parcel, int);
21169    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.DelegateRequest> CREATOR;
21170  }
21171
21172  public interface DelegateStateCallback {
21173    method public void onConfigurationChanged(@NonNull android.telephony.ims.SipDelegateConfiguration);
21174    method public void onCreated(@NonNull android.telephony.ims.stub.SipDelegate, @Nullable java.util.Set<android.telephony.ims.FeatureTagState>);
21175    method public void onDestroyed(int);
21176    method public void onFeatureTagRegistrationChanged(@NonNull android.telephony.ims.DelegateRegistrationState);
21177  }
21178
21179  public final class FeatureTagState implements android.os.Parcelable {
21180    ctor public FeatureTagState(@NonNull String, int);
21181    method public int describeContents();
21182    method @NonNull public String getFeatureTag();
21183    method public int getState();
21184    method public void writeToParcel(@NonNull android.os.Parcel, int);
21185    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.FeatureTagState> CREATOR;
21186  }
21187
21188  public final class ImsCallForwardInfo implements android.os.Parcelable {
21189    ctor public ImsCallForwardInfo(int, int, int, int, @NonNull String, int);
21190    method public int describeContents();
21191    method public int getCondition();
21192    method public String getNumber();
21193    method public int getServiceClass();
21194    method public int getStatus();
21195    method public int getTimeSeconds();
21196    method public int getToA();
21197    method public void writeToParcel(android.os.Parcel, int);
21198    field public static final int CDIV_CF_REASON_ALL = 4; // 0x4
21199    field public static final int CDIV_CF_REASON_ALL_CONDITIONAL = 5; // 0x5
21200    field public static final int CDIV_CF_REASON_BUSY = 1; // 0x1
21201    field public static final int CDIV_CF_REASON_NOT_LOGGED_IN = 6; // 0x6
21202    field public static final int CDIV_CF_REASON_NOT_REACHABLE = 3; // 0x3
21203    field public static final int CDIV_CF_REASON_NO_REPLY = 2; // 0x2
21204    field public static final int CDIV_CF_REASON_UNCONDITIONAL = 0; // 0x0
21205    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsCallForwardInfo> CREATOR;
21206    field public static final int STATUS_ACTIVE = 1; // 0x1
21207    field public static final int STATUS_NOT_ACTIVE = 0; // 0x0
21208    field public static final int TYPE_OF_ADDRESS_INTERNATIONAL = 145; // 0x91
21209    field public static final int TYPE_OF_ADDRESS_UNKNOWN = 129; // 0x81
21210  }
21211
21212  public final class ImsCallProfile implements android.os.Parcelable {
21213    ctor public ImsCallProfile();
21214    ctor public ImsCallProfile(int, int);
21215    ctor public ImsCallProfile(int, int, android.os.Bundle, android.telephony.ims.ImsStreamMediaProfile);
21216    method public int describeContents();
21217    method @NonNull public java.util.Set<android.telephony.ims.RtpHeaderExtensionType> getAcceptedRtpHeaderExtensionTypes();
21218    method public String getCallExtra(String);
21219    method public String getCallExtra(String, String);
21220    method public boolean getCallExtraBoolean(String);
21221    method public boolean getCallExtraBoolean(String, boolean);
21222    method public int getCallExtraInt(String);
21223    method public int getCallExtraInt(String, int);
21224    method @Nullable public <T extends android.os.Parcelable> T getCallExtraParcelable(@Nullable String);
21225    method public android.os.Bundle getCallExtras();
21226    method public int getCallType();
21227    method public static int getCallTypeFromVideoState(int);
21228    method public int getCallerNumberVerificationStatus();
21229    method public int getEmergencyCallRouting();
21230    method public int getEmergencyServiceCategories();
21231    method @NonNull public java.util.List<java.lang.String> getEmergencyUrns();
21232    method public android.telephony.ims.ImsStreamMediaProfile getMediaProfile();
21233    method @NonNull public android.os.Bundle getProprietaryCallExtras();
21234    method public int getRestrictCause();
21235    method public int getServiceType();
21236    method public static int getVideoStateFromCallType(int);
21237    method public static int getVideoStateFromImsCallProfile(android.telephony.ims.ImsCallProfile);
21238    method public boolean hasKnownUserIntentEmergency();
21239    method public boolean isEmergencyCallTesting();
21240    method public boolean isVideoCall();
21241    method public boolean isVideoPaused();
21242    method public static int presentationToOir(int);
21243    method public void setAcceptedRtpHeaderExtensionTypes(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtensionType>);
21244    method public void setCallExtra(String, String);
21245    method public void setCallExtraBoolean(String, boolean);
21246    method public void setCallExtraInt(String, int);
21247    method public void setCallExtraParcelable(@NonNull String, @NonNull android.os.Parcelable);
21248    method public void setCallRestrictCause(int);
21249    method public void setCallerNumberVerificationStatus(int);
21250    method public void setEmergencyCallRouting(int);
21251    method public void setEmergencyCallTesting(boolean);
21252    method public void setEmergencyServiceCategories(int);
21253    method public void setEmergencyUrns(@NonNull java.util.List<java.lang.String>);
21254    method public void setHasKnownUserIntentEmergency(boolean);
21255    method public void updateCallExtras(android.telephony.ims.ImsCallProfile);
21256    method public void updateCallType(android.telephony.ims.ImsCallProfile);
21257    method public void updateMediaProfile(android.telephony.ims.ImsCallProfile);
21258    method public void writeToParcel(android.os.Parcel, int);
21259    field public static final int CALL_RESTRICT_CAUSE_DISABLED = 2; // 0x2
21260    field public static final int CALL_RESTRICT_CAUSE_HD = 3; // 0x3
21261    field public static final int CALL_RESTRICT_CAUSE_NONE = 0; // 0x0
21262    field public static final int CALL_RESTRICT_CAUSE_RAT = 1; // 0x1
21263    field public static final int CALL_TYPE_NONE = 0; // 0x0
21264    field public static final int CALL_TYPE_VIDEO_N_VOICE = 3; // 0x3
21265    field public static final int CALL_TYPE_VOICE = 2; // 0x2
21266    field public static final int CALL_TYPE_VOICE_N_VIDEO = 1; // 0x1
21267    field public static final int CALL_TYPE_VS = 8; // 0x8
21268    field public static final int CALL_TYPE_VS_RX = 10; // 0xa
21269    field public static final int CALL_TYPE_VS_TX = 9; // 0x9
21270    field public static final int CALL_TYPE_VT = 4; // 0x4
21271    field public static final int CALL_TYPE_VT_NODIR = 7; // 0x7
21272    field public static final int CALL_TYPE_VT_RX = 6; // 0x6
21273    field public static final int CALL_TYPE_VT_TX = 5; // 0x5
21274    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsCallProfile> CREATOR;
21275    field public static final int DIALSTRING_NORMAL = 0; // 0x0
21276    field public static final int DIALSTRING_SS_CONF = 1; // 0x1
21277    field public static final int DIALSTRING_USSD = 2; // 0x2
21278    field public static final String EXTRA_ADDITIONAL_CALL_INFO = "AdditionalCallInfo";
21279    field public static final String EXTRA_ADDITIONAL_SIP_INVITE_FIELDS = "android.telephony.ims.extra.ADDITIONAL_SIP_INVITE_FIELDS";
21280    field public static final String EXTRA_CALL_DISCONNECT_CAUSE = "android.telephony.ims.extra.CALL_DISCONNECT_CAUSE";
21281    field public static final String EXTRA_CALL_NETWORK_TYPE = "android.telephony.ims.extra.CALL_NETWORK_TYPE";
21282    field @Deprecated public static final String EXTRA_CALL_RAT_TYPE = "CallRadioTech";
21283    field public static final String EXTRA_CALL_SUBJECT = "android.telephony.ims.extra.CALL_SUBJECT";
21284    field public static final String EXTRA_CHILD_NUMBER = "ChildNum";
21285    field public static final String EXTRA_CNA = "cna";
21286    field public static final String EXTRA_CNAP = "cnap";
21287    field public static final String EXTRA_CODEC = "Codec";
21288    field public static final String EXTRA_CONFERENCE = "android.telephony.ims.extra.CONFERENCE";
21289    field public static final String EXTRA_DIALSTRING = "dialstring";
21290    field public static final String EXTRA_DISPLAY_TEXT = "DisplayText";
21291    field public static final String EXTRA_EMERGENCY_CALL = "e_call";
21292    field public static final String EXTRA_EXTENDING_TO_CONFERENCE_SUPPORTED = "android.telephony.ims.extra.EXTENDING_TO_CONFERENCE_SUPPORTED";
21293    field public static final String EXTRA_FORWARDED_NUMBER = "android.telephony.ims.extra.FORWARDED_NUMBER";
21294    field public static final String EXTRA_IS_BUSINESS_CALL = "android.telephony.ims.extra.IS_BUSINESS_CALL";
21295    field public static final String EXTRA_IS_CALL_PULL = "CallPull";
21296    field public static final String EXTRA_IS_CROSS_SIM_CALL = "android.telephony.ims.extra.IS_CROSS_SIM_CALL";
21297    field public static final String EXTRA_LOCATION = "android.telephony.ims.extra.LOCATION";
21298    field public static final String EXTRA_OI = "oi";
21299    field public static final String EXTRA_OIR = "oir";
21300    field public static final String EXTRA_PICTURE_URL = "android.telephony.ims.extra.PICTURE_URL";
21301    field public static final String EXTRA_PRIORITY = "android.telephony.ims.extra.PRIORITY";
21302    field public static final String EXTRA_REMOTE_URI = "remote_uri";
21303    field public static final String EXTRA_USSD = "ussd";
21304    field public static final int OIR_DEFAULT = 0; // 0x0
21305    field public static final int OIR_PRESENTATION_NOT_RESTRICTED = 2; // 0x2
21306    field public static final int OIR_PRESENTATION_PAYPHONE = 4; // 0x4
21307    field public static final int OIR_PRESENTATION_RESTRICTED = 1; // 0x1
21308    field public static final int OIR_PRESENTATION_UNAVAILABLE = 5; // 0x5
21309    field public static final int OIR_PRESENTATION_UNKNOWN = 3; // 0x3
21310    field public static final int PRIORITY_NORMAL = 0; // 0x0
21311    field public static final int PRIORITY_URGENT = 1; // 0x1
21312    field public static final int SERVICE_TYPE_EMERGENCY = 2; // 0x2
21313    field public static final int SERVICE_TYPE_NONE = 0; // 0x0
21314    field public static final int SERVICE_TYPE_NORMAL = 1; // 0x1
21315    field public static final int VERIFICATION_STATUS_FAILED = 2; // 0x2
21316    field public static final int VERIFICATION_STATUS_NOT_VERIFIED = 0; // 0x0
21317    field public static final int VERIFICATION_STATUS_PASSED = 1; // 0x1
21318  }
21319
21320  public class ImsCallSessionListener {
21321    method public void callQualityChanged(@NonNull android.telephony.CallQuality);
21322    method public void callSessionConferenceExtendFailed(android.telephony.ims.ImsReasonInfo);
21323    method public void callSessionConferenceExtendReceived(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
21324    method public void callSessionConferenceExtended(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
21325    method public void callSessionConferenceStateUpdated(android.telephony.ims.ImsConferenceState);
21326    method public void callSessionDtmfReceived(char);
21327    method @Deprecated public void callSessionHandover(int, int, android.telephony.ims.ImsReasonInfo);
21328    method @Deprecated public void callSessionHandoverFailed(int, int, android.telephony.ims.ImsReasonInfo);
21329    method public void callSessionHeld(android.telephony.ims.ImsCallProfile);
21330    method public void callSessionHoldFailed(android.telephony.ims.ImsReasonInfo);
21331    method public void callSessionHoldReceived(android.telephony.ims.ImsCallProfile);
21332    method public void callSessionInitiated(android.telephony.ims.ImsCallProfile);
21333    method @Deprecated public void callSessionInitiatedFailed(android.telephony.ims.ImsReasonInfo);
21334    method public void callSessionInitiating(@NonNull android.telephony.ims.ImsCallProfile);
21335    method public void callSessionInitiatingFailed(@NonNull android.telephony.ims.ImsReasonInfo);
21336    method public void callSessionInviteParticipantsRequestDelivered();
21337    method public void callSessionInviteParticipantsRequestFailed(android.telephony.ims.ImsReasonInfo);
21338    method @Deprecated public void callSessionMayHandover(int, int);
21339    method public void callSessionMergeComplete(android.telephony.ims.stub.ImsCallSessionImplBase);
21340    method public void callSessionMergeFailed(android.telephony.ims.ImsReasonInfo);
21341    method public void callSessionMergeStarted(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
21342    method public void callSessionMultipartyStateChanged(boolean);
21343    method public void callSessionProgressing(android.telephony.ims.ImsStreamMediaProfile);
21344    method public void callSessionRemoveParticipantsRequestDelivered();
21345    method public void callSessionRemoveParticipantsRequestFailed(android.telephony.ims.ImsReasonInfo);
21346    method public void callSessionResumeFailed(android.telephony.ims.ImsReasonInfo);
21347    method public void callSessionResumeReceived(android.telephony.ims.ImsCallProfile);
21348    method public void callSessionResumed(android.telephony.ims.ImsCallProfile);
21349    method public void callSessionRtpHeaderExtensionsReceived(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtension>);
21350    method public void callSessionRttAudioIndicatorChanged(@NonNull android.telephony.ims.ImsStreamMediaProfile);
21351    method public void callSessionRttMessageReceived(String);
21352    method public void callSessionRttModifyRequestReceived(android.telephony.ims.ImsCallProfile);
21353    method public void callSessionRttModifyResponseReceived(int);
21354    method public void callSessionSuppServiceReceived(android.telephony.ims.ImsSuppServiceNotification);
21355    method public void callSessionTerminated(android.telephony.ims.ImsReasonInfo);
21356    method public void callSessionTtyModeReceived(int);
21357    method public void callSessionUpdateFailed(android.telephony.ims.ImsReasonInfo);
21358    method public void callSessionUpdateReceived(android.telephony.ims.ImsCallProfile);
21359    method public void callSessionUpdated(android.telephony.ims.ImsCallProfile);
21360    method public void callSessionUssdMessageReceived(int, String);
21361    method public void onHandover(int, int, @Nullable android.telephony.ims.ImsReasonInfo);
21362    method public void onHandoverFailed(int, int, @NonNull android.telephony.ims.ImsReasonInfo);
21363    method public void onMayHandover(int, int);
21364  }
21365
21366  public final class ImsConferenceState implements android.os.Parcelable {
21367    method public int describeContents();
21368    method public static int getConnectionStateForStatus(String);
21369    method public void writeToParcel(android.os.Parcel, int);
21370    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsConferenceState> CREATOR;
21371    field public static final String DISPLAY_TEXT = "display-text";
21372    field public static final String ENDPOINT = "endpoint";
21373    field public static final String SIP_STATUS_CODE = "sipstatuscode";
21374    field public static final String STATUS = "status";
21375    field public static final String STATUS_ALERTING = "alerting";
21376    field public static final String STATUS_CONNECTED = "connected";
21377    field public static final String STATUS_CONNECT_FAIL = "connect-fail";
21378    field public static final String STATUS_DIALING_IN = "dialing-in";
21379    field public static final String STATUS_DIALING_OUT = "dialing-out";
21380    field public static final String STATUS_DISCONNECTED = "disconnected";
21381    field public static final String STATUS_DISCONNECTING = "disconnecting";
21382    field public static final String STATUS_MUTED_VIA_FOCUS = "muted-via-focus";
21383    field public static final String STATUS_ON_HOLD = "on-hold";
21384    field public static final String STATUS_PENDING = "pending";
21385    field public static final String STATUS_SEND_ONLY = "sendonly";
21386    field public static final String STATUS_SEND_RECV = "sendrecv";
21387    field public static final String USER = "user";
21388    field public final java.util.HashMap<java.lang.String,android.os.Bundle> mParticipants;
21389  }
21390
21391  public final class ImsException extends java.lang.Exception {
21392    ctor public ImsException(@Nullable String);
21393    ctor public ImsException(@Nullable String, int);
21394    ctor public ImsException(@Nullable String, int, @Nullable Throwable);
21395  }
21396
21397  public final class ImsExternalCallState implements android.os.Parcelable {
21398    ctor public ImsExternalCallState(@NonNull String, @NonNull android.net.Uri, @Nullable android.net.Uri, boolean, int, int, boolean);
21399    method public int describeContents();
21400    method @NonNull public android.net.Uri getAddress();
21401    method public int getCallId();
21402    method public int getCallState();
21403    method public int getCallType();
21404    method @Nullable public android.net.Uri getLocalAddress();
21405    method public boolean isCallHeld();
21406    method public boolean isCallPullable();
21407    method public void writeToParcel(android.os.Parcel, int);
21408    field public static final int CALL_STATE_CONFIRMED = 1; // 0x1
21409    field public static final int CALL_STATE_TERMINATED = 2; // 0x2
21410    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsExternalCallState> CREATOR;
21411  }
21412
21413  public class ImsManager {
21414    method @NonNull public android.telephony.ims.SipDelegateManager getSipDelegateManager(int);
21415  }
21416
21417  public class ImsMmTelManager implements android.telephony.ims.RegistrationManager {
21418    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);
21419    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;
21420    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>);
21421    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoWiFiRoamingModeSetting();
21422    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAvailable(int, int);
21423    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCapable(int, int);
21424    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;
21425    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;
21426    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setAdvancedCallingSettingEnabled(boolean);
21427    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCrossSimCallingEnabled(boolean) throws android.telephony.ims.ImsException;
21428    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRttCapabilitySetting(boolean);
21429    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiModeSetting(int);
21430    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiNonPersistent(boolean, int);
21431    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiRoamingModeSetting(int);
21432    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiRoamingSettingEnabled(boolean);
21433    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiSettingEnabled(boolean);
21434    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVtSettingEnabled(boolean);
21435    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterImsRegistrationCallback(@NonNull android.telephony.ims.ImsMmTelManager.RegistrationCallback);
21436  }
21437
21438  @Deprecated public static class ImsMmTelManager.RegistrationCallback extends android.telephony.ims.RegistrationManager.RegistrationCallback {
21439    ctor @Deprecated public ImsMmTelManager.RegistrationCallback();
21440    method @Deprecated public void onRegistered(int);
21441    method @Deprecated public void onRegistering(int);
21442  }
21443
21444  public class ImsRcsManager {
21445    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;
21446    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAvailable(int, int) throws android.telephony.ims.ImsException;
21447    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCapable(int, int) throws android.telephony.ims.ImsException;
21448    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void removeOnAvailabilityChangedListener(@NonNull android.telephony.ims.ImsRcsManager.OnAvailabilityChangedListener);
21449  }
21450
21451  public static interface ImsRcsManager.OnAvailabilityChangedListener {
21452    method public void onAvailabilityChanged(int);
21453  }
21454
21455  public final class ImsReasonInfo implements android.os.Parcelable {
21456    field public static final String EXTRA_MSG_SERVICE_NOT_AUTHORIZED = "Forbidden. Not Authorized for Service";
21457  }
21458
21459  public final class ImsRegistrationAttributes implements android.os.Parcelable {
21460    method public int getRegistrationTechnology();
21461  }
21462
21463  public static final class ImsRegistrationAttributes.Builder {
21464    ctor public ImsRegistrationAttributes.Builder(int);
21465    method @NonNull public android.telephony.ims.ImsRegistrationAttributes build();
21466    method @NonNull public android.telephony.ims.ImsRegistrationAttributes.Builder setFeatureTags(@NonNull java.util.Set<java.lang.String>);
21467    method @NonNull public android.telephony.ims.ImsRegistrationAttributes.Builder setSipDetails(@NonNull android.telephony.ims.SipDetails);
21468  }
21469
21470  public class ImsService extends android.app.Service {
21471    ctor public ImsService();
21472    method @Nullable public android.telephony.ims.feature.MmTelFeature createEmergencyOnlyMmTelFeature(int);
21473    method @Deprecated public android.telephony.ims.feature.MmTelFeature createMmTelFeature(int);
21474    method @Nullable public android.telephony.ims.feature.MmTelFeature createMmTelFeatureForSubscription(int, int);
21475    method @Deprecated public android.telephony.ims.feature.RcsFeature createRcsFeature(int);
21476    method @Nullable public android.telephony.ims.feature.RcsFeature createRcsFeatureForSubscription(int, int);
21477    method @Deprecated public void disableIms(int);
21478    method public void disableImsForSubscription(int, int);
21479    method @Deprecated public void enableIms(int);
21480    method public void enableImsForSubscription(int, int);
21481    method @Deprecated public android.telephony.ims.stub.ImsConfigImplBase getConfig(int);
21482    method @NonNull public android.telephony.ims.stub.ImsConfigImplBase getConfigForSubscription(int, int);
21483    method @NonNull public java.util.concurrent.Executor getExecutor();
21484    method public long getImsServiceCapabilities();
21485    method @Deprecated public android.telephony.ims.stub.ImsRegistrationImplBase getRegistration(int);
21486    method @NonNull public android.telephony.ims.stub.ImsRegistrationImplBase getRegistrationForSubscription(int, int);
21487    method @Nullable public android.telephony.ims.stub.SipTransportImplBase getSipTransport(int);
21488    method public android.os.IBinder onBind(android.content.Intent);
21489    method public final void onUpdateSupportedImsFeatures(android.telephony.ims.stub.ImsFeatureConfiguration) throws android.os.RemoteException;
21490    method public android.telephony.ims.stub.ImsFeatureConfiguration querySupportedImsFeatures();
21491    method public void readyForFeatureCreation();
21492    field public static final long CAPABILITY_SIP_DELEGATE_CREATION = 2L; // 0x2L
21493    field public static final long CAPABILITY_TERMINAL_BASED_CALL_WAITING = 4L; // 0x4L
21494  }
21495
21496  public final class ImsSsData implements android.os.Parcelable {
21497    ctor public ImsSsData(int, int, int, int, int);
21498    method public int describeContents();
21499    method @Nullable public java.util.List<android.telephony.ims.ImsCallForwardInfo> getCallForwardInfo();
21500    method public int getRequestType();
21501    method public int getResult();
21502    method public int getServiceClass();
21503    method public int getServiceType();
21504    method @NonNull public java.util.List<android.telephony.ims.ImsSsInfo> getSuppServiceInfo();
21505    method public int getTeleserviceType();
21506    method public boolean isTypeBarring();
21507    method public boolean isTypeCf();
21508    method public boolean isTypeClip();
21509    method public boolean isTypeClir();
21510    method public boolean isTypeColp();
21511    method public boolean isTypeColr();
21512    method public boolean isTypeCw();
21513    method public boolean isTypeIcb();
21514    method public boolean isTypeInterrogation();
21515    method public boolean isTypeUnConditional();
21516    method public void writeToParcel(android.os.Parcel, int);
21517    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSsData> CREATOR;
21518    field public static final int RESULT_SUCCESS = 0; // 0x0
21519    field public static final int SERVICE_CLASS_DATA = 2; // 0x2
21520    field public static final int SERVICE_CLASS_DATA_CIRCUIT_ASYNC = 32; // 0x20
21521    field public static final int SERVICE_CLASS_DATA_CIRCUIT_SYNC = 16; // 0x10
21522    field public static final int SERVICE_CLASS_DATA_PACKET_ACCESS = 64; // 0x40
21523    field public static final int SERVICE_CLASS_DATA_PAD = 128; // 0x80
21524    field public static final int SERVICE_CLASS_FAX = 4; // 0x4
21525    field public static final int SERVICE_CLASS_NONE = 0; // 0x0
21526    field public static final int SERVICE_CLASS_SMS = 8; // 0x8
21527    field public static final int SERVICE_CLASS_VOICE = 1; // 0x1
21528    field public static final int SS_ACTIVATION = 0; // 0x0
21529    field public static final int SS_ALL_BARRING = 18; // 0x12
21530    field public static final int SS_ALL_DATA_TELESERVICES = 3; // 0x3
21531    field public static final int SS_ALL_TELESERVICES_EXCEPT_SMS = 5; // 0x5
21532    field public static final int SS_ALL_TELESEVICES = 1; // 0x1
21533    field public static final int SS_ALL_TELE_AND_BEARER_SERVICES = 0; // 0x0
21534    field public static final int SS_BAIC = 16; // 0x10
21535    field public static final int SS_BAIC_ROAMING = 17; // 0x11
21536    field public static final int SS_BAOC = 13; // 0xd
21537    field public static final int SS_BAOIC = 14; // 0xe
21538    field public static final int SS_BAOIC_EXC_HOME = 15; // 0xf
21539    field public static final int SS_CFU = 0; // 0x0
21540    field public static final int SS_CFUT = 6; // 0x6
21541    field public static final int SS_CF_ALL = 4; // 0x4
21542    field public static final int SS_CF_ALL_CONDITIONAL = 5; // 0x5
21543    field public static final int SS_CF_BUSY = 1; // 0x1
21544    field public static final int SS_CF_NOT_REACHABLE = 3; // 0x3
21545    field public static final int SS_CF_NO_REPLY = 2; // 0x2
21546    field public static final int SS_CLIP = 7; // 0x7
21547    field public static final int SS_CLIR = 8; // 0x8
21548    field public static final int SS_CNAP = 11; // 0xb
21549    field public static final int SS_COLP = 9; // 0x9
21550    field public static final int SS_COLR = 10; // 0xa
21551    field public static final int SS_DEACTIVATION = 1; // 0x1
21552    field public static final int SS_ERASURE = 4; // 0x4
21553    field public static final int SS_INCOMING_BARRING = 20; // 0x14
21554    field public static final int SS_INCOMING_BARRING_ANONYMOUS = 22; // 0x16
21555    field public static final int SS_INCOMING_BARRING_DN = 21; // 0x15
21556    field public static final int SS_INTERROGATION = 2; // 0x2
21557    field public static final int SS_OUTGOING_BARRING = 19; // 0x13
21558    field public static final int SS_REGISTRATION = 3; // 0x3
21559    field public static final int SS_SMS_SERVICES = 4; // 0x4
21560    field public static final int SS_TELEPHONY = 2; // 0x2
21561    field public static final int SS_WAIT = 12; // 0xc
21562  }
21563
21564  public static final class ImsSsData.Builder {
21565    ctor public ImsSsData.Builder(int, int, int, int, int);
21566    method @NonNull public android.telephony.ims.ImsSsData build();
21567    method @NonNull public android.telephony.ims.ImsSsData.Builder setCallForwardingInfo(@NonNull java.util.List<android.telephony.ims.ImsCallForwardInfo>);
21568    method @NonNull public android.telephony.ims.ImsSsData.Builder setSuppServiceInfo(@NonNull java.util.List<android.telephony.ims.ImsSsInfo>);
21569  }
21570
21571  public final class ImsSsInfo implements android.os.Parcelable {
21572    ctor @Deprecated public ImsSsInfo(int, @Nullable String);
21573    method public int describeContents();
21574    method public int getClirInterrogationStatus();
21575    method public int getClirOutgoingState();
21576    method @Deprecated public String getIcbNum();
21577    method @Nullable public String getIncomingCommunicationBarringNumber();
21578    method public int getProvisionStatus();
21579    method public int getStatus();
21580    method public void writeToParcel(android.os.Parcel, int);
21581    field public static final int CLIR_OUTGOING_DEFAULT = 0; // 0x0
21582    field public static final int CLIR_OUTGOING_INVOCATION = 1; // 0x1
21583    field public static final int CLIR_OUTGOING_SUPPRESSION = 2; // 0x2
21584    field public static final int CLIR_STATUS_NOT_PROVISIONED = 0; // 0x0
21585    field public static final int CLIR_STATUS_PROVISIONED_PERMANENT = 1; // 0x1
21586    field public static final int CLIR_STATUS_TEMPORARILY_ALLOWED = 4; // 0x4
21587    field public static final int CLIR_STATUS_TEMPORARILY_RESTRICTED = 3; // 0x3
21588    field public static final int CLIR_STATUS_UNKNOWN = 2; // 0x2
21589    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSsInfo> CREATOR;
21590    field public static final int DISABLED = 0; // 0x0
21591    field public static final int ENABLED = 1; // 0x1
21592    field public static final int NOT_REGISTERED = -1; // 0xffffffff
21593    field public static final int SERVICE_NOT_PROVISIONED = 0; // 0x0
21594    field public static final int SERVICE_PROVISIONED = 1; // 0x1
21595    field public static final int SERVICE_PROVISIONING_UNKNOWN = -1; // 0xffffffff
21596  }
21597
21598  public static final class ImsSsInfo.Builder {
21599    ctor public ImsSsInfo.Builder(int);
21600    method @NonNull public android.telephony.ims.ImsSsInfo build();
21601    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setClirInterrogationStatus(int);
21602    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setClirOutgoingState(int);
21603    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setIncomingCommunicationBarringNumber(@NonNull String);
21604    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setProvisionStatus(int);
21605  }
21606
21607  public final class ImsStreamMediaProfile implements android.os.Parcelable {
21608    ctor public ImsStreamMediaProfile(int, int, int, int, int);
21609    method public void copyFrom(android.telephony.ims.ImsStreamMediaProfile);
21610    method public int describeContents();
21611    method @Nullable public android.telephony.ims.AudioCodecAttributes getAudioCodecAttributes();
21612    method public int getAudioDirection();
21613    method public int getAudioQuality();
21614    method public int getRttMode();
21615    method public int getVideoDirection();
21616    method public int getVideoQuality();
21617    method public boolean isReceivingRttAudio();
21618    method public boolean isRttCall();
21619    method public void setAudioCodecAttributes(@NonNull android.telephony.ims.AudioCodecAttributes);
21620    method public void setReceivingRttAudio(boolean);
21621    method public void setRttMode(int);
21622    method public void writeToParcel(android.os.Parcel, int);
21623    field public static final int AUDIO_QUALITY_AMR = 1; // 0x1
21624    field public static final int AUDIO_QUALITY_AMR_WB = 2; // 0x2
21625    field public static final int AUDIO_QUALITY_EVRC = 4; // 0x4
21626    field public static final int AUDIO_QUALITY_EVRC_B = 5; // 0x5
21627    field public static final int AUDIO_QUALITY_EVRC_NW = 7; // 0x7
21628    field public static final int AUDIO_QUALITY_EVRC_WB = 6; // 0x6
21629    field public static final int AUDIO_QUALITY_EVS_FB = 20; // 0x14
21630    field public static final int AUDIO_QUALITY_EVS_NB = 17; // 0x11
21631    field public static final int AUDIO_QUALITY_EVS_SWB = 19; // 0x13
21632    field public static final int AUDIO_QUALITY_EVS_WB = 18; // 0x12
21633    field public static final int AUDIO_QUALITY_G711A = 13; // 0xd
21634    field public static final int AUDIO_QUALITY_G711AB = 15; // 0xf
21635    field public static final int AUDIO_QUALITY_G711U = 11; // 0xb
21636    field public static final int AUDIO_QUALITY_G722 = 14; // 0xe
21637    field public static final int AUDIO_QUALITY_G723 = 12; // 0xc
21638    field public static final int AUDIO_QUALITY_G729 = 16; // 0x10
21639    field public static final int AUDIO_QUALITY_GSM_EFR = 8; // 0x8
21640    field public static final int AUDIO_QUALITY_GSM_FR = 9; // 0x9
21641    field public static final int AUDIO_QUALITY_GSM_HR = 10; // 0xa
21642    field public static final int AUDIO_QUALITY_NONE = 0; // 0x0
21643    field public static final int AUDIO_QUALITY_QCELP13K = 3; // 0x3
21644    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsStreamMediaProfile> CREATOR;
21645    field public static final int DIRECTION_INACTIVE = 0; // 0x0
21646    field public static final int DIRECTION_INVALID = -1; // 0xffffffff
21647    field public static final int DIRECTION_RECEIVE = 1; // 0x1
21648    field public static final int DIRECTION_SEND = 2; // 0x2
21649    field public static final int DIRECTION_SEND_RECEIVE = 3; // 0x3
21650    field public static final int RTT_MODE_DISABLED = 0; // 0x0
21651    field public static final int RTT_MODE_FULL = 1; // 0x1
21652    field public static final int VIDEO_QUALITY_NONE = 0; // 0x0
21653    field public static final int VIDEO_QUALITY_QCIF = 1; // 0x1
21654    field public static final int VIDEO_QUALITY_QVGA_LANDSCAPE = 2; // 0x2
21655    field public static final int VIDEO_QUALITY_QVGA_PORTRAIT = 4; // 0x4
21656    field public static final int VIDEO_QUALITY_VGA_LANDSCAPE = 8; // 0x8
21657    field public static final int VIDEO_QUALITY_VGA_PORTRAIT = 16; // 0x10
21658  }
21659
21660  public final class ImsSuppServiceNotification implements android.os.Parcelable {
21661    ctor public ImsSuppServiceNotification(int, int, int, int, String, String[]);
21662    method public int describeContents();
21663    method public void writeToParcel(android.os.Parcel, int);
21664    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSuppServiceNotification> CREATOR;
21665    field public final int code;
21666    field public final String[] history;
21667    field public final int index;
21668    field public final int notificationType;
21669    field public final String number;
21670    field public final int type;
21671  }
21672
21673  public class ImsUtListener {
21674    method public void onLineIdentificationSupplementaryServiceResponse(int, @NonNull android.telephony.ims.ImsSsInfo);
21675    method public void onSupplementaryServiceIndication(android.telephony.ims.ImsSsData);
21676    method public void onUtConfigurationCallBarringQueried(int, android.telephony.ims.ImsSsInfo[]);
21677    method public void onUtConfigurationCallForwardQueried(int, android.telephony.ims.ImsCallForwardInfo[]);
21678    method public void onUtConfigurationCallWaitingQueried(int, android.telephony.ims.ImsSsInfo[]);
21679    method @Deprecated public void onUtConfigurationQueried(int, android.os.Bundle);
21680    method public void onUtConfigurationQueryFailed(int, android.telephony.ims.ImsReasonInfo);
21681    method public void onUtConfigurationUpdateFailed(int, android.telephony.ims.ImsReasonInfo);
21682    method public void onUtConfigurationUpdated(int);
21683    field @Deprecated public static final String BUNDLE_KEY_CLIR = "queryClir";
21684    field @Deprecated public static final String BUNDLE_KEY_SSINFO = "imsSsInfo";
21685  }
21686
21687  public abstract class ImsVideoCallProvider {
21688    ctor public ImsVideoCallProvider();
21689    method public void changeCallDataUsage(long);
21690    method public void changeCameraCapabilities(android.telecom.VideoProfile.CameraCapabilities);
21691    method public void changePeerDimensions(int, int);
21692    method public void changeVideoQuality(int);
21693    method public void handleCallSessionEvent(int);
21694    method public abstract void onRequestCallDataUsage();
21695    method public abstract void onRequestCameraCapabilities();
21696    method public abstract void onSendSessionModifyRequest(android.telecom.VideoProfile, android.telecom.VideoProfile);
21697    method public abstract void onSendSessionModifyResponse(android.telecom.VideoProfile);
21698    method public abstract void onSetCamera(String);
21699    method public void onSetCamera(String, int);
21700    method public abstract void onSetDeviceOrientation(int);
21701    method public abstract void onSetDisplaySurface(android.view.Surface);
21702    method public abstract void onSetPauseImage(android.net.Uri);
21703    method public abstract void onSetPreviewSurface(android.view.Surface);
21704    method public abstract void onSetZoom(float);
21705    method public void receiveSessionModifyRequest(android.telecom.VideoProfile);
21706    method public void receiveSessionModifyResponse(int, android.telecom.VideoProfile, android.telecom.VideoProfile);
21707  }
21708
21709  public final class MediaQualityStatus implements android.os.Parcelable {
21710    ctor public MediaQualityStatus(@NonNull String, int, int, @IntRange(from=0, to=100) int, @IntRange(from=0) int, @IntRange(from=0) long);
21711    method public int describeContents();
21712    method @NonNull public String getCallSessionId();
21713    method public int getMediaSessionType();
21714    method @IntRange(from=0) public long getRtpInactivityMillis();
21715    method @IntRange(from=0) public int getRtpJitterMillis();
21716    method @IntRange(from=0, to=100) public int getRtpPacketLossRate();
21717    method public int getTransportType();
21718    method public void writeToParcel(@NonNull android.os.Parcel, int);
21719    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.MediaQualityStatus> CREATOR;
21720    field public static final int MEDIA_SESSION_TYPE_AUDIO = 1; // 0x1
21721    field public static final int MEDIA_SESSION_TYPE_VIDEO = 2; // 0x2
21722  }
21723
21724  public final class MediaThreshold implements android.os.Parcelable {
21725    method public int describeContents();
21726    method @NonNull public long[] getThresholdsRtpInactivityTimeMillis();
21727    method @NonNull public int[] getThresholdsRtpJitterMillis();
21728    method @NonNull public int[] getThresholdsRtpPacketLossRate();
21729    method public void writeToParcel(@NonNull android.os.Parcel, int);
21730    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.MediaThreshold> CREATOR;
21731  }
21732
21733  public class ProvisioningManager {
21734    method @NonNull public static android.telephony.ims.ProvisioningManager createForSubscriptionId(int);
21735    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public int getProvisioningIntValue(int);
21736    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public String getProvisioningStringValue(int);
21737    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean getRcsProvisioningStatusForCapability(int);
21738    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;
21739    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean);
21740    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;
21741    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;
21742    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningIntValue(int, int);
21743    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningStringValue(int, @NonNull String);
21744    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void setRcsClientConfiguration(@NonNull android.telephony.ims.RcsClientConfiguration) throws android.telephony.ims.ImsException;
21745    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void setRcsProvisioningStatusForCapability(int, boolean);
21746    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void triggerRcsReconfiguration();
21747    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterProvisioningChangedCallback(@NonNull android.telephony.ims.ProvisioningManager.Callback);
21748    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);
21749    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";
21750    field public static final String EXTRA_STATUS = "android.telephony.ims.extra.STATUS";
21751    field public static final String EXTRA_SUBSCRIPTION_ID = "android.telephony.ims.extra.SUBSCRIPTION_ID";
21752    field public static final int KEY_VOICE_OVER_WIFI_ENTITLEMENT_ID = 67; // 0x43
21753    field public static final int KEY_VOICE_OVER_WIFI_MODE_OVERRIDE = 27; // 0x1b
21754    field public static final int KEY_VOICE_OVER_WIFI_ROAMING_ENABLED_OVERRIDE = 26; // 0x1a
21755    field public static final int PROVISIONING_VALUE_DISABLED = 0; // 0x0
21756    field public static final int PROVISIONING_VALUE_ENABLED = 1; // 0x1
21757    field public static final int STATUS_CAPABLE = 0; // 0x0
21758    field public static final int STATUS_CARRIER_NOT_CAPABLE = 2; // 0x2
21759    field public static final int STATUS_DEVICE_NOT_CAPABLE = 1; // 0x1
21760    field public static final String STRING_QUERY_RESULT_ERROR_GENERIC = "STRING_QUERY_RESULT_ERROR_GENERIC";
21761    field public static final String STRING_QUERY_RESULT_ERROR_NOT_READY = "STRING_QUERY_RESULT_ERROR_NOT_READY";
21762  }
21763
21764  public static class ProvisioningManager.Callback {
21765    ctor public ProvisioningManager.Callback();
21766    method public void onProvisioningIntChanged(int, int);
21767    method public void onProvisioningStringChanged(int, @NonNull String);
21768  }
21769
21770  public static class ProvisioningManager.RcsProvisioningCallback {
21771    ctor public ProvisioningManager.RcsProvisioningCallback();
21772    method public void onAutoConfigurationErrorReceived(int, @NonNull String);
21773    method public void onConfigurationChanged(@NonNull byte[]);
21774    method public void onConfigurationReset();
21775    method public void onPreProvisioningReceived(@NonNull byte[]);
21776    method public void onRemoved();
21777  }
21778
21779  public final class PublishAttributes implements android.os.Parcelable {
21780    method public int describeContents();
21781    method @NonNull public java.util.List<android.telephony.ims.RcsContactPresenceTuple> getPresenceTuples();
21782    method public int getPublishState();
21783    method @Nullable public android.telephony.ims.SipDetails getSipDetails();
21784    method public void writeToParcel(@NonNull android.os.Parcel, int);
21785    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.PublishAttributes> CREATOR;
21786  }
21787
21788  public final class RcsClientConfiguration implements android.os.Parcelable {
21789    ctor @Deprecated public RcsClientConfiguration(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
21790    ctor public RcsClientConfiguration(@NonNull String, @NonNull String, @NonNull String, @NonNull String, boolean);
21791    method public int describeContents();
21792    method @NonNull public String getClientVendor();
21793    method @NonNull public String getClientVersion();
21794    method @NonNull public String getRcsProfile();
21795    method @NonNull public String getRcsVersion();
21796    method public boolean isRcsEnabledByUser();
21797    method public void writeToParcel(@NonNull android.os.Parcel, int);
21798    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsClientConfiguration> CREATOR;
21799    field public static final String RCS_PROFILE_1_0 = "UP_1.0";
21800    field public static final String RCS_PROFILE_2_3 = "UP_2.3";
21801    field public static final String RCS_PROFILE_2_4 = "UP_2.4";
21802  }
21803
21804  public final class RcsContactPresenceTuple implements android.os.Parcelable {
21805    method public int describeContents();
21806    method @Nullable public android.net.Uri getContactUri();
21807    method @Nullable public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities getServiceCapabilities();
21808    method @Nullable public String getServiceDescription();
21809    method @NonNull public String getServiceId();
21810    method @NonNull public String getServiceVersion();
21811    method @NonNull public String getStatus();
21812    method @Nullable public java.time.Instant getTime();
21813    method public void writeToParcel(@NonNull android.os.Parcel, int);
21814    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactPresenceTuple> CREATOR;
21815    field public static final String SERVICE_ID_CALL_COMPOSER = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.callcomposer";
21816    field public static final String SERVICE_ID_CHATBOT = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.chatbot";
21817    field public static final String SERVICE_ID_CHATBOT_ROLE = "org.gsma.rcs.isbot";
21818    field public static final String SERVICE_ID_CHATBOT_STANDALONE = " org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.chatbot.sa";
21819    field public static final String SERVICE_ID_CHAT_V1 = "org.openmobilealliance:IM-session";
21820    field public static final String SERVICE_ID_CHAT_V2 = "org.openmobilealliance:ChatSession";
21821    field public static final String SERVICE_ID_FT = "org.openmobilealliance:File-Transfer-HTTP";
21822    field public static final String SERVICE_ID_FT_OVER_SMS = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.ftsms";
21823    field public static final String SERVICE_ID_GEO_PUSH = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.geopush";
21824    field public static final String SERVICE_ID_GEO_PUSH_VIA_SMS = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.geosms";
21825    field public static final String SERVICE_ID_MMTEL = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.mmtel";
21826    field public static final String SERVICE_ID_POST_CALL = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.callunanswered";
21827    field public static final String SERVICE_ID_SHARED_MAP = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.sharedmap";
21828    field public static final String SERVICE_ID_SHARED_SKETCH = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.sharedsketch";
21829    field public static final String SERVICE_ID_SLM = "org.openmobilealliance:StandaloneMsg";
21830    field public static final String TUPLE_BASIC_STATUS_CLOSED = "closed";
21831    field public static final String TUPLE_BASIC_STATUS_OPEN = "open";
21832  }
21833
21834  public static final class RcsContactPresenceTuple.Builder {
21835    ctor public RcsContactPresenceTuple.Builder(@NonNull String, @NonNull String, @NonNull String);
21836    method @NonNull public android.telephony.ims.RcsContactPresenceTuple build();
21837    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setContactUri(@NonNull android.net.Uri);
21838    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setServiceCapabilities(@NonNull android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities);
21839    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setServiceDescription(@NonNull String);
21840    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setTime(@NonNull java.time.Instant);
21841  }
21842
21843  public static final class RcsContactPresenceTuple.ServiceCapabilities implements android.os.Parcelable {
21844    method public int describeContents();
21845    method @NonNull public java.util.List<java.lang.String> getSupportedDuplexModes();
21846    method @NonNull public java.util.List<java.lang.String> getUnsupportedDuplexModes();
21847    method public boolean isAudioCapable();
21848    method public boolean isVideoCapable();
21849    method public void writeToParcel(@NonNull android.os.Parcel, int);
21850    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities> CREATOR;
21851    field public static final String DUPLEX_MODE_FULL = "full";
21852    field public static final String DUPLEX_MODE_HALF = "half";
21853    field public static final String DUPLEX_MODE_RECEIVE_ONLY = "receive-only";
21854    field public static final String DUPLEX_MODE_SEND_ONLY = "send-only";
21855  }
21856
21857  public static final class RcsContactPresenceTuple.ServiceCapabilities.Builder {
21858    ctor public RcsContactPresenceTuple.ServiceCapabilities.Builder(boolean, boolean);
21859    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities.Builder addSupportedDuplexMode(@NonNull String);
21860    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities.Builder addUnsupportedDuplexMode(@NonNull String);
21861    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities build();
21862  }
21863
21864  public final class RcsContactUceCapability implements android.os.Parcelable {
21865    method public int describeContents();
21866    method public int getCapabilityMechanism();
21867    method @Nullable public android.telephony.ims.RcsContactPresenceTuple getCapabilityTuple(@NonNull String);
21868    method @NonNull public java.util.List<android.telephony.ims.RcsContactPresenceTuple> getCapabilityTuples();
21869    method @NonNull public android.net.Uri getContactUri();
21870    method @Nullable public android.net.Uri getEntityUri();
21871    method @NonNull public java.util.Set<java.lang.String> getFeatureTags();
21872    method public int getRequestResult();
21873    method public int getSourceType();
21874    method public void writeToParcel(@NonNull android.os.Parcel, int);
21875    field public static final int CAPABILITY_MECHANISM_OPTIONS = 2; // 0x2
21876    field public static final int CAPABILITY_MECHANISM_PRESENCE = 1; // 0x1
21877    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactUceCapability> CREATOR;
21878    field public static final int REQUEST_RESULT_FOUND = 3; // 0x3
21879    field public static final int REQUEST_RESULT_NOT_FOUND = 2; // 0x2
21880    field public static final int REQUEST_RESULT_NOT_ONLINE = 1; // 0x1
21881    field public static final int REQUEST_RESULT_UNKNOWN = 0; // 0x0
21882    field public static final int SOURCE_TYPE_CACHED = 1; // 0x1
21883    field public static final int SOURCE_TYPE_NETWORK = 0; // 0x0
21884  }
21885
21886  public static final class RcsContactUceCapability.OptionsBuilder {
21887    ctor public RcsContactUceCapability.OptionsBuilder(@NonNull android.net.Uri);
21888    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder addFeatureTag(@NonNull String);
21889    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder addFeatureTags(@NonNull java.util.Set<java.lang.String>);
21890    method @NonNull public android.telephony.ims.RcsContactUceCapability build();
21891    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder setRequestResult(int);
21892  }
21893
21894  public static final class RcsContactUceCapability.PresenceBuilder {
21895    ctor public RcsContactUceCapability.PresenceBuilder(@NonNull android.net.Uri, int, int);
21896    method @NonNull public android.telephony.ims.RcsContactUceCapability.PresenceBuilder addCapabilityTuple(@NonNull android.telephony.ims.RcsContactPresenceTuple);
21897    method @NonNull public android.telephony.ims.RcsContactUceCapability.PresenceBuilder addCapabilityTuples(@NonNull java.util.List<android.telephony.ims.RcsContactPresenceTuple>);
21898    method @NonNull public android.telephony.ims.RcsContactUceCapability build();
21899    method @NonNull public android.telephony.ims.RcsContactUceCapability.PresenceBuilder setEntityUri(@NonNull android.net.Uri);
21900  }
21901
21902  public class RcsUceAdapter {
21903    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;
21904    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getUcePublishState() throws android.telephony.ims.ImsException;
21905    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void removeOnPublishStateChangedListener(@NonNull android.telephony.ims.RcsUceAdapter.OnPublishStateChangedListener) throws android.telephony.ims.ImsException;
21906    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;
21907    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;
21908    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUceSettingEnabled(boolean) throws android.telephony.ims.ImsException;
21909    field @Deprecated public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
21910    field public static final int CAPABILITY_UPDATE_TRIGGER_ETAG_EXPIRED = 1; // 0x1
21911    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_2G = 7; // 0x7
21912    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_3G = 6; // 0x6
21913    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_EHRPD = 4; // 0x4
21914    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_HSPAPLUS = 5; // 0x5
21915    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_INTERNET_PDN = 12; // 0xc
21916    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_IWLAN = 9; // 0x9
21917    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_DISABLED = 2; // 0x2
21918    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_ENABLED = 3; // 0x3
21919    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_DISABLED = 10; // 0xa
21920    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_ENABLED = 11; // 0xb
21921    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_WLAN = 8; // 0x8
21922    field public static final int CAPABILITY_UPDATE_TRIGGER_UNKNOWN = 0; // 0x0
21923    field public static final int ERROR_FORBIDDEN = 6; // 0x6
21924    field public static final int ERROR_GENERIC_FAILURE = 1; // 0x1
21925    field public static final int ERROR_INSUFFICIENT_MEMORY = 10; // 0xa
21926    field public static final int ERROR_LOST_NETWORK = 11; // 0xb
21927    field public static final int ERROR_NOT_AUTHORIZED = 5; // 0x5
21928    field public static final int ERROR_NOT_AVAILABLE = 3; // 0x3
21929    field public static final int ERROR_NOT_ENABLED = 2; // 0x2
21930    field public static final int ERROR_NOT_FOUND = 7; // 0x7
21931    field public static final int ERROR_NOT_REGISTERED = 4; // 0x4
21932    field public static final int ERROR_REQUEST_TIMEOUT = 9; // 0x9
21933    field public static final int ERROR_REQUEST_TOO_LARGE = 8; // 0x8
21934    field public static final int ERROR_SERVER_UNAVAILABLE = 12; // 0xc
21935    field public static final int PUBLISH_STATE_NOT_PUBLISHED = 2; // 0x2
21936    field public static final int PUBLISH_STATE_OK = 1; // 0x1
21937    field public static final int PUBLISH_STATE_OTHER_ERROR = 6; // 0x6
21938    field public static final int PUBLISH_STATE_PUBLISHING = 7; // 0x7
21939    field public static final int PUBLISH_STATE_RCS_PROVISION_ERROR = 4; // 0x4
21940    field public static final int PUBLISH_STATE_REQUEST_TIMEOUT = 5; // 0x5
21941    field public static final int PUBLISH_STATE_VOICE_PROVISION_ERROR = 3; // 0x3
21942  }
21943
21944  public static interface RcsUceAdapter.CapabilitiesCallback {
21945    method public void onCapabilitiesReceived(@NonNull java.util.List<android.telephony.ims.RcsContactUceCapability>);
21946    method public default void onComplete();
21947    method public default void onComplete(@Nullable android.telephony.ims.SipDetails);
21948    method public default void onError(int, long);
21949    method public default void onError(int, long, @Nullable android.telephony.ims.SipDetails);
21950  }
21951
21952  public static interface RcsUceAdapter.OnPublishStateChangedListener {
21953    method @Deprecated public void onPublishStateChange(int);
21954    method public default void onPublishStateChange(@NonNull android.telephony.ims.PublishAttributes);
21955  }
21956
21957  public interface RegistrationManager {
21958    field public static final int SUGGESTED_ACTION_NONE = 0; // 0x0
21959    field public static final int SUGGESTED_ACTION_TRIGGER_PLMN_BLOCK = 1; // 0x1
21960    field public static final int SUGGESTED_ACTION_TRIGGER_PLMN_BLOCK_WITH_TIMEOUT = 2; // 0x2
21961  }
21962
21963  public static class RegistrationManager.RegistrationCallback {
21964    method public void onUnregistered(@NonNull android.telephony.ims.ImsReasonInfo, @NonNull android.telephony.ims.SipDetails);
21965  }
21966
21967  public final class RtpHeaderExtension implements android.os.Parcelable {
21968    ctor public RtpHeaderExtension(@IntRange(from=1, to=14) int, @NonNull byte[]);
21969    method public int describeContents();
21970    method @NonNull public byte[] getExtensionData();
21971    method @IntRange(from=1, to=14) public int getLocalIdentifier();
21972    method public void writeToParcel(@NonNull android.os.Parcel, int);
21973    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RtpHeaderExtension> CREATOR;
21974  }
21975
21976  public final class RtpHeaderExtensionType implements android.os.Parcelable {
21977    ctor public RtpHeaderExtensionType(@IntRange(from=1, to=14) int, @NonNull android.net.Uri);
21978    method public int describeContents();
21979    method @IntRange(from=1, to=14) public int getLocalIdentifier();
21980    method @NonNull public android.net.Uri getUri();
21981    method public void writeToParcel(@NonNull android.os.Parcel, int);
21982    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RtpHeaderExtensionType> CREATOR;
21983  }
21984
21985  public final class SipDelegateConfiguration implements android.os.Parcelable {
21986    method public int describeContents();
21987    method @Nullable public String getHomeDomain();
21988    method @Nullable public String getImei();
21989    method @Nullable public android.telephony.ims.SipDelegateConfiguration.IpSecConfiguration getIpSecConfiguration();
21990    method @NonNull public java.net.InetSocketAddress getLocalAddress();
21991    method public int getMaxUdpPayloadSizeBytes();
21992    method @Nullable public java.net.InetSocketAddress getNatSocketAddress();
21993    method @Nullable public String getPrivateUserIdentifier();
21994    method @Nullable public android.net.Uri getPublicGruuUri();
21995    method @Nullable public String getPublicUserIdentifier();
21996    method @Nullable public String getSipAssociatedUriHeader();
21997    method @Nullable public String getSipAuthenticationHeader();
21998    method @Nullable public String getSipAuthenticationNonce();
21999    method @Nullable public String getSipCniHeader();
22000    method @Nullable public String getSipContactUserParameter();
22001    method @Nullable public String getSipPaniHeader();
22002    method @Nullable public String getSipPathHeader();
22003    method @Nullable public String getSipPlaniHeader();
22004    method @NonNull public java.net.InetSocketAddress getSipServerAddress();
22005    method @Nullable public String getSipServiceRouteHeader();
22006    method @Nullable public String getSipUserAgentHeader();
22007    method public int getTransportType();
22008    method @IntRange(from=0) public long getVersion();
22009    method public boolean isSipCompactFormEnabled();
22010    method public boolean isSipKeepaliveEnabled();
22011    method public void writeToParcel(@NonNull android.os.Parcel, int);
22012    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipDelegateConfiguration> CREATOR;
22013    field public static final int SIP_TRANSPORT_TCP = 1; // 0x1
22014    field public static final int SIP_TRANSPORT_UDP = 0; // 0x0
22015    field public static final int UDP_PAYLOAD_SIZE_UNDEFINED = -1; // 0xffffffff
22016  }
22017
22018  public static final class SipDelegateConfiguration.Builder {
22019    ctor public SipDelegateConfiguration.Builder(@IntRange(from=0) long, int, @NonNull java.net.InetSocketAddress, @NonNull java.net.InetSocketAddress);
22020    ctor public SipDelegateConfiguration.Builder(@NonNull android.telephony.ims.SipDelegateConfiguration);
22021    method @NonNull public android.telephony.ims.SipDelegateConfiguration build();
22022    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setHomeDomain(@Nullable String);
22023    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setImei(@Nullable String);
22024    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setIpSecConfiguration(@Nullable android.telephony.ims.SipDelegateConfiguration.IpSecConfiguration);
22025    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setMaxUdpPayloadSizeBytes(@IntRange(from=1) int);
22026    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setNatSocketAddress(@Nullable java.net.InetSocketAddress);
22027    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPrivateUserIdentifier(@Nullable String);
22028    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPublicGruuUri(@Nullable android.net.Uri);
22029    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPublicUserIdentifier(@Nullable String);
22030    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAssociatedUriHeader(@Nullable String);
22031    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAuthenticationHeader(@Nullable String);
22032    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAuthenticationNonce(@Nullable String);
22033    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipCniHeader(@Nullable String);
22034    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipCompactFormEnabled(boolean);
22035    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipContactUserParameter(@Nullable String);
22036    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipKeepaliveEnabled(boolean);
22037    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPaniHeader(@Nullable String);
22038    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPathHeader(@Nullable String);
22039    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPlaniHeader(@Nullable String);
22040    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipServiceRouteHeader(@Nullable String);
22041    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipUserAgentHeader(@Nullable String);
22042  }
22043
22044  public static final class SipDelegateConfiguration.IpSecConfiguration {
22045    ctor public SipDelegateConfiguration.IpSecConfiguration(int, int, int, int, int, int, @NonNull String);
22046    method public int getLastLocalTxPort();
22047    method public int getLastRemoteTxPort();
22048    method public int getLocalRxPort();
22049    method public int getLocalTxPort();
22050    method public int getRemoteRxPort();
22051    method public int getRemoteTxPort();
22052    method @NonNull public String getSipSecurityVerifyHeader();
22053  }
22054
22055  public interface SipDelegateConnection {
22056    method public void cleanupSession(@NonNull String);
22057    method public void notifyMessageReceiveError(@NonNull String, int);
22058    method public void notifyMessageReceived(@NonNull String);
22059    method public void sendMessage(@NonNull android.telephony.ims.SipMessage, long);
22060  }
22061
22062  public class SipDelegateManager {
22063    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;
22064    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void destroySipDelegate(@NonNull android.telephony.ims.SipDelegateConnection, int);
22065    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;
22066    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;
22067    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;
22068    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);
22069    method public void unregisterImsStateCallback(@NonNull android.telephony.ims.ImsStateCallback);
22070    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterSipDialogStateCallback(@NonNull android.telephony.ims.SipDialogStateCallback) throws android.telephony.ims.ImsException;
22071    field public static final int DENIED_REASON_INVALID = 4; // 0x4
22072    field public static final int DENIED_REASON_IN_USE_BY_ANOTHER_DELEGATE = 1; // 0x1
22073    field public static final int DENIED_REASON_NOT_ALLOWED = 2; // 0x2
22074    field public static final int DENIED_REASON_SINGLE_REGISTRATION_NOT_ALLOWED = 3; // 0x3
22075    field public static final int DENIED_REASON_UNKNOWN = 0; // 0x0
22076    field public static final int MESSAGE_FAILURE_REASON_DELEGATE_CLOSED = 2; // 0x2
22077    field public static final int MESSAGE_FAILURE_REASON_DELEGATE_DEAD = 1; // 0x1
22078    field public static final int MESSAGE_FAILURE_REASON_INTERNAL_DELEGATE_STATE_TRANSITION = 11; // 0xb
22079    field public static final int MESSAGE_FAILURE_REASON_INVALID_BODY_CONTENT = 5; // 0x5
22080    field public static final int MESSAGE_FAILURE_REASON_INVALID_FEATURE_TAG = 6; // 0x6
22081    field public static final int MESSAGE_FAILURE_REASON_INVALID_HEADER_FIELDS = 4; // 0x4
22082    field public static final int MESSAGE_FAILURE_REASON_INVALID_START_LINE = 3; // 0x3
22083    field public static final int MESSAGE_FAILURE_REASON_NETWORK_NOT_AVAILABLE = 8; // 0x8
22084    field public static final int MESSAGE_FAILURE_REASON_NOT_REGISTERED = 9; // 0x9
22085    field public static final int MESSAGE_FAILURE_REASON_STALE_IMS_CONFIGURATION = 10; // 0xa
22086    field public static final int MESSAGE_FAILURE_REASON_TAG_NOT_ENABLED_FOR_DELEGATE = 7; // 0x7
22087    field public static final int MESSAGE_FAILURE_REASON_UNKNOWN = 0; // 0x0
22088    field public static final int SIP_DELEGATE_DESTROY_REASON_REQUESTED_BY_APP = 2; // 0x2
22089    field public static final int SIP_DELEGATE_DESTROY_REASON_SERVICE_DEAD = 1; // 0x1
22090    field public static final int SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN = 4; // 0x4
22091    field public static final int SIP_DELEGATE_DESTROY_REASON_UNKNOWN = 0; // 0x0
22092    field public static final int SIP_DELEGATE_DESTROY_REASON_USER_DISABLED_RCS = 3; // 0x3
22093  }
22094
22095  public final class SipDialogState implements android.os.Parcelable {
22096    method public int describeContents();
22097    method public int getState();
22098    method public void writeToParcel(@NonNull android.os.Parcel, int);
22099    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipDialogState> CREATOR;
22100    field public static final int STATE_CLOSED = 2; // 0x2
22101    field public static final int STATE_CONFIRMED = 1; // 0x1
22102    field public static final int STATE_EARLY = 0; // 0x0
22103  }
22104
22105  public abstract class SipDialogStateCallback {
22106    ctor public SipDialogStateCallback();
22107    method public abstract void onActiveSipDialogsChanged(@NonNull java.util.List<android.telephony.ims.SipDialogState>);
22108    method public abstract void onError();
22109  }
22110
22111  public final class SipMessage implements android.os.Parcelable {
22112    ctor public SipMessage(@NonNull String, @NonNull String, @NonNull byte[]);
22113    method public int describeContents();
22114    method @Nullable public String getCallIdParameter();
22115    method @NonNull public byte[] getContent();
22116    method @NonNull public String getHeaderSection();
22117    method @NonNull public String getStartLine();
22118    method @NonNull public String getViaBranchParameter();
22119    method @NonNull public byte[] toEncodedMessage();
22120    method public void writeToParcel(@NonNull android.os.Parcel, int);
22121    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipMessage> CREATOR;
22122  }
22123
22124  public final class SrvccCall implements android.os.Parcelable {
22125    ctor public SrvccCall(@NonNull String, int, @NonNull android.telephony.ims.ImsCallProfile);
22126    method public int describeContents();
22127    method @NonNull public String getCallId();
22128    method @NonNull public android.telephony.ims.ImsCallProfile getImsCallProfile();
22129    method public int getPreciseCallState();
22130    method public void writeToParcel(@NonNull android.os.Parcel, int);
22131    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SrvccCall> CREATOR;
22132  }
22133
22134}
22135
22136package android.telephony.ims.feature {
22137
22138  public final class CapabilityChangeRequest implements android.os.Parcelable {
22139    method public void addCapabilitiesToDisableForTech(int, int);
22140    method public void addCapabilitiesToEnableForTech(int, int);
22141    method public int describeContents();
22142    method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToDisable();
22143    method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToEnable();
22144    method public void writeToParcel(android.os.Parcel, int);
22145    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.feature.CapabilityChangeRequest> CREATOR;
22146  }
22147
22148  public static class CapabilityChangeRequest.CapabilityPair {
22149    ctor public CapabilityChangeRequest.CapabilityPair(int, int);
22150    method public int getCapability();
22151    method public int getRadioTech();
22152  }
22153
22154  public abstract class ImsFeature {
22155    ctor public ImsFeature();
22156    method public abstract void changeEnabledCapabilities(android.telephony.ims.feature.CapabilityChangeRequest, android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
22157    method public int getFeatureState();
22158    method public final int getSlotIndex();
22159    method public abstract void onFeatureReady();
22160    method public abstract void onFeatureRemoved();
22161    method public final void setFeatureState(int);
22162    field public static final int CAPABILITY_ERROR_GENERIC = -1; // 0xffffffff
22163    field public static final int CAPABILITY_SUCCESS = 0; // 0x0
22164    field public static final int FEATURE_EMERGENCY_MMTEL = 0; // 0x0
22165    field public static final int FEATURE_MMTEL = 1; // 0x1
22166    field public static final int FEATURE_RCS = 2; // 0x2
22167    field public static final int STATE_INITIALIZING = 1; // 0x1
22168    field public static final int STATE_READY = 2; // 0x2
22169    field public static final int STATE_UNAVAILABLE = 0; // 0x0
22170  }
22171
22172  @Deprecated public static class ImsFeature.Capabilities {
22173    field @Deprecated protected int mCapabilities;
22174  }
22175
22176  protected static class ImsFeature.CapabilityCallbackProxy {
22177    method public void onChangeCapabilityConfigurationError(int, int, int);
22178  }
22179
22180  public class MmTelFeature extends android.telephony.ims.feature.ImsFeature {
22181    ctor public MmTelFeature();
22182    ctor public MmTelFeature(@NonNull java.util.concurrent.Executor);
22183    method public void changeEnabledCapabilities(@NonNull android.telephony.ims.feature.CapabilityChangeRequest, @NonNull android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
22184    method public void changeOfferedRtpHeaderExtensionTypes(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtensionType>);
22185    method public void clearMediaThreshold(int);
22186    method @Nullable public android.telephony.ims.ImsCallProfile createCallProfile(int, int);
22187    method @Nullable public android.telephony.ims.stub.ImsCallSessionImplBase createCallSession(@NonNull android.telephony.ims.ImsCallProfile);
22188    method @NonNull public android.telephony.ims.stub.ImsEcbmImplBase getEcbm();
22189    method @NonNull public android.telephony.ims.stub.ImsMultiEndpointImplBase getMultiEndpoint();
22190    method @NonNull public android.telephony.ims.stub.ImsSmsImplBase getSmsImplementation();
22191    method @NonNull public android.telephony.ims.stub.ImsUtImplBase getUt();
22192    method public final void notifyCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.MmTelFeature.MmTelCapabilities);
22193    method @Deprecated public final void notifyIncomingCall(@NonNull android.telephony.ims.stub.ImsCallSessionImplBase, @NonNull android.os.Bundle);
22194    method @Nullable public final android.telephony.ims.ImsCallSessionListener notifyIncomingCall(@NonNull android.telephony.ims.stub.ImsCallSessionImplBase, @NonNull String, @NonNull android.os.Bundle);
22195    method public final void notifyMediaQualityStatusChanged(@NonNull android.telephony.ims.MediaQualityStatus);
22196    method public final void notifyRejectedCall(@NonNull android.telephony.ims.ImsCallProfile, @NonNull android.telephony.ims.ImsReasonInfo);
22197    method public void notifySrvccCanceled();
22198    method public void notifySrvccCompleted();
22199    method public void notifySrvccFailed();
22200    method public void notifySrvccStarted(@NonNull java.util.function.Consumer<java.util.List<android.telephony.ims.SrvccCall>>);
22201    method public final void notifyVoiceMessageCountUpdate(int);
22202    method public void onFeatureReady();
22203    method public void onFeatureRemoved();
22204    method public boolean queryCapabilityConfiguration(int, int);
22205    method @NonNull public final android.telephony.ims.feature.MmTelFeature.MmTelCapabilities queryCapabilityStatus();
22206    method @Nullable public android.telephony.ims.MediaQualityStatus queryMediaQualityStatus(int);
22207    method public final void setCallAudioHandler(int);
22208    method public void setMediaThreshold(int, @NonNull android.telephony.ims.MediaThreshold);
22209    method public void setTerminalBasedCallWaitingStatus(boolean);
22210    method public void setUiTtyMode(int, @Nullable android.os.Message);
22211    method public int shouldProcessCall(@NonNull String[]);
22212    field public static final int AUDIO_HANDLER_ANDROID = 0; // 0x0
22213    field public static final int AUDIO_HANDLER_BASEBAND = 1; // 0x1
22214    field public static final String EXTRA_IS_UNKNOWN_CALL = "android.telephony.ims.feature.extra.IS_UNKNOWN_CALL";
22215    field public static final String EXTRA_IS_USSD = "android.telephony.ims.feature.extra.IS_USSD";
22216    field public static final int PROCESS_CALL_CSFB = 1; // 0x1
22217    field public static final int PROCESS_CALL_IMS = 0; // 0x0
22218  }
22219
22220  public static class MmTelFeature.MmTelCapabilities extends android.telephony.ims.feature.ImsFeature.Capabilities {
22221    ctor public MmTelFeature.MmTelCapabilities();
22222    ctor @Deprecated public MmTelFeature.MmTelCapabilities(android.telephony.ims.feature.ImsFeature.Capabilities);
22223    ctor public MmTelFeature.MmTelCapabilities(int);
22224    method public final void addCapabilities(int);
22225    method public final void removeCapabilities(int);
22226  }
22227
22228  public class RcsFeature extends android.telephony.ims.feature.ImsFeature {
22229    ctor public RcsFeature();
22230    ctor public RcsFeature(@NonNull java.util.concurrent.Executor);
22231    method public void changeEnabledCapabilities(@NonNull android.telephony.ims.feature.CapabilityChangeRequest, @NonNull android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
22232    method @NonNull public android.telephony.ims.stub.RcsCapabilityExchangeImplBase createCapabilityExchangeImpl(@NonNull android.telephony.ims.stub.CapabilityExchangeEventListener);
22233    method public void destroyCapabilityExchangeImpl(@NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase);
22234    method public final void notifyCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.RcsFeature.RcsImsCapabilities);
22235    method public void onFeatureReady();
22236    method public void onFeatureRemoved();
22237    method public boolean queryCapabilityConfiguration(int, int);
22238    method @NonNull public final android.telephony.ims.feature.RcsFeature.RcsImsCapabilities queryCapabilityStatus();
22239  }
22240
22241  public static class RcsFeature.RcsImsCapabilities extends android.telephony.ims.feature.ImsFeature.Capabilities {
22242    ctor public RcsFeature.RcsImsCapabilities(int);
22243    method public void addCapabilities(int);
22244    method public boolean isCapable(int);
22245    method public void removeCapabilities(int);
22246    field public static final int CAPABILITY_TYPE_NONE = 0; // 0x0
22247    field public static final int CAPABILITY_TYPE_OPTIONS_UCE = 1; // 0x1
22248    field public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
22249  }
22250
22251}
22252
22253package android.telephony.ims.stub {
22254
22255  public interface CapabilityExchangeEventListener {
22256    method @Deprecated public default void onPublishUpdated(int, @NonNull String, int, @NonNull String) throws android.telephony.ims.ImsException;
22257    method public default void onPublishUpdated(@NonNull android.telephony.ims.SipDetails) throws android.telephony.ims.ImsException;
22258    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;
22259    method public void onRequestPublishCapabilities(int) throws android.telephony.ims.ImsException;
22260    method public void onUnpublish() throws android.telephony.ims.ImsException;
22261  }
22262
22263  public static interface CapabilityExchangeEventListener.OptionsRequestCallback {
22264    method public void onRespondToCapabilityRequest(@NonNull android.telephony.ims.RcsContactUceCapability, boolean);
22265    method public void onRespondToCapabilityRequestWithError(@IntRange(from=100, to=699) int, @NonNull String);
22266  }
22267
22268  public interface DelegateConnectionMessageCallback {
22269    method public void onMessageReceived(@NonNull android.telephony.ims.SipMessage);
22270    method public void onMessageSendFailure(@NonNull String, int);
22271    method public void onMessageSent(@NonNull String);
22272  }
22273
22274  public interface DelegateConnectionStateCallback {
22275    method public void onConfigurationChanged(@NonNull android.telephony.ims.SipDelegateConfiguration);
22276    method public void onCreated(@NonNull android.telephony.ims.SipDelegateConnection);
22277    method public void onDestroyed(int);
22278    method public void onFeatureTagStatusChanged(@NonNull android.telephony.ims.DelegateRegistrationState, @NonNull java.util.Set<android.telephony.ims.FeatureTagState>);
22279  }
22280
22281  public class ImsCallSessionImplBase implements java.lang.AutoCloseable {
22282    ctor public ImsCallSessionImplBase();
22283    method public void accept(int, android.telephony.ims.ImsStreamMediaProfile);
22284    method public void close();
22285    method public void deflect(String);
22286    method public void extendToConference(String[]);
22287    method public String getCallId();
22288    method public android.telephony.ims.ImsCallProfile getCallProfile();
22289    method public android.telephony.ims.ImsVideoCallProvider getImsVideoCallProvider();
22290    method public android.telephony.ims.ImsCallProfile getLocalCallProfile();
22291    method public String getProperty(String);
22292    method public android.telephony.ims.ImsCallProfile getRemoteCallProfile();
22293    method public int getState();
22294    method public void hold(android.telephony.ims.ImsStreamMediaProfile);
22295    method public void inviteParticipants(String[]);
22296    method public boolean isInCall();
22297    method public boolean isMultiparty();
22298    method public void merge();
22299    method public void reject(int);
22300    method public void removeParticipants(String[]);
22301    method public void resume(android.telephony.ims.ImsStreamMediaProfile);
22302    method public void sendDtmf(char, android.os.Message);
22303    method public void sendRtpHeaderExtensions(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtension>);
22304    method public void sendRttMessage(String);
22305    method public void sendRttModifyRequest(android.telephony.ims.ImsCallProfile);
22306    method public void sendRttModifyResponse(boolean);
22307    method public void sendUssd(String);
22308    method @Deprecated public void setListener(android.telephony.ims.ImsCallSessionListener);
22309    method public void setMute(boolean);
22310    method public void start(String, android.telephony.ims.ImsCallProfile);
22311    method public void startConference(String[], android.telephony.ims.ImsCallProfile);
22312    method public void startDtmf(char);
22313    method public void stopDtmf();
22314    method public void terminate(int);
22315    method public void update(int, android.telephony.ims.ImsStreamMediaProfile);
22316    field public static final int USSD_MODE_NOTIFY = 0; // 0x0
22317    field public static final int USSD_MODE_REQUEST = 1; // 0x1
22318  }
22319
22320  public static class ImsCallSessionImplBase.State {
22321    method public static String toString(int);
22322    field public static final int ESTABLISHED = 4; // 0x4
22323    field public static final int ESTABLISHING = 3; // 0x3
22324    field public static final int IDLE = 0; // 0x0
22325    field public static final int INITIATED = 1; // 0x1
22326    field public static final int INVALID = -1; // 0xffffffff
22327    field public static final int NEGOTIATING = 2; // 0x2
22328    field public static final int REESTABLISHING = 6; // 0x6
22329    field public static final int RENEGOTIATING = 5; // 0x5
22330    field public static final int TERMINATED = 8; // 0x8
22331    field public static final int TERMINATING = 7; // 0x7
22332  }
22333
22334  public class ImsConfigImplBase {
22335    ctor public ImsConfigImplBase(@NonNull java.util.concurrent.Executor);
22336    ctor public ImsConfigImplBase();
22337    method public int getConfigInt(int);
22338    method public String getConfigString(int);
22339    method public final void notifyAutoConfigurationErrorReceived(int, @NonNull String);
22340    method public final void notifyPreProvisioningReceived(@NonNull byte[]);
22341    method public final void notifyProvisionedValueChanged(int, int);
22342    method public final void notifyProvisionedValueChanged(int, String);
22343    method public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean);
22344    method public void notifyRcsAutoConfigurationRemoved();
22345    method public int setConfig(int, int);
22346    method public int setConfig(int, String);
22347    method public void setRcsClientConfiguration(@NonNull android.telephony.ims.RcsClientConfiguration);
22348    method public void triggerAutoConfiguration();
22349    field public static final int CONFIG_RESULT_FAILED = 1; // 0x1
22350    field public static final int CONFIG_RESULT_SUCCESS = 0; // 0x0
22351    field public static final int CONFIG_RESULT_UNKNOWN = -1; // 0xffffffff
22352  }
22353
22354  public class ImsEcbmImplBase {
22355    ctor public ImsEcbmImplBase();
22356    method public final void enteredEcbm();
22357    method public void exitEmergencyCallbackMode();
22358    method public final void exitedEcbm();
22359  }
22360
22361  public final class ImsFeatureConfiguration implements android.os.Parcelable {
22362    method public int describeContents();
22363    method public java.util.Set<android.telephony.ims.stub.ImsFeatureConfiguration.FeatureSlotPair> getServiceFeatures();
22364    method public void writeToParcel(android.os.Parcel, int);
22365    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.stub.ImsFeatureConfiguration> CREATOR;
22366  }
22367
22368  public static class ImsFeatureConfiguration.Builder {
22369    ctor public ImsFeatureConfiguration.Builder();
22370    method public android.telephony.ims.stub.ImsFeatureConfiguration.Builder addFeature(int, int);
22371    method public android.telephony.ims.stub.ImsFeatureConfiguration build();
22372  }
22373
22374  public static final class ImsFeatureConfiguration.FeatureSlotPair {
22375    ctor public ImsFeatureConfiguration.FeatureSlotPair(int, int);
22376    field public final int featureType;
22377    field public final int slotId;
22378  }
22379
22380  public class ImsMultiEndpointImplBase {
22381    ctor public ImsMultiEndpointImplBase();
22382    method public final void onImsExternalCallStateUpdate(java.util.List<android.telephony.ims.ImsExternalCallState>);
22383    method public void requestImsExternalCallStateInfo();
22384  }
22385
22386  public class ImsRegistrationImplBase {
22387    ctor public ImsRegistrationImplBase();
22388    ctor public ImsRegistrationImplBase(@NonNull java.util.concurrent.Executor);
22389    method public final void onDeregistered(android.telephony.ims.ImsReasonInfo);
22390    method public final void onDeregistered(@Nullable android.telephony.ims.ImsReasonInfo, int, int);
22391    method public final void onDeregistered(@Nullable android.telephony.ims.ImsReasonInfo, @NonNull android.telephony.ims.SipDetails);
22392    method public final void onDeregistered(@Nullable android.telephony.ims.ImsReasonInfo, int, int, @NonNull android.telephony.ims.SipDetails);
22393    method public final void onRegistered(int);
22394    method public final void onRegistered(@NonNull android.telephony.ims.ImsRegistrationAttributes);
22395    method public final void onRegistering(int);
22396    method public final void onRegistering(@NonNull android.telephony.ims.ImsRegistrationAttributes);
22397    method public final void onSubscriberAssociatedUriChanged(android.net.Uri[]);
22398    method public final void onTechnologyChangeFailed(int, android.telephony.ims.ImsReasonInfo);
22399    method public void triggerFullNetworkRegistration(@IntRange(from=100, to=699) int, @Nullable String);
22400    method public void triggerSipDelegateDeregistration();
22401    method public void updateSipDelegateRegistration();
22402  }
22403
22404  public class ImsSmsImplBase {
22405    ctor public ImsSmsImplBase();
22406    ctor public ImsSmsImplBase(@NonNull java.util.concurrent.Executor);
22407    method public void acknowledgeSms(int, @IntRange(from=0, to=65535) int, int);
22408    method public void acknowledgeSms(int, @IntRange(from=0, to=65535) int, int, @NonNull byte[]);
22409    method public void acknowledgeSmsReport(int, @IntRange(from=0, to=65535) int, int);
22410    method public String getSmsFormat();
22411    method public void onReady();
22412    method @Deprecated public final void onSendSmsResult(int, @IntRange(from=0, to=65535) int, int, int) throws java.lang.RuntimeException;
22413    method public final void onSendSmsResultError(int, @IntRange(from=0, to=65535) int, int, int, int) throws java.lang.RuntimeException;
22414    method public final void onSendSmsResultSuccess(int, @IntRange(from=0, to=65535) int) throws java.lang.RuntimeException;
22415    method public final void onSmsReceived(int, String, byte[]) throws java.lang.RuntimeException;
22416    method @Deprecated public final void onSmsStatusReportReceived(int, @IntRange(from=0, to=65535) int, String, byte[]) throws java.lang.RuntimeException;
22417    method public final void onSmsStatusReportReceived(int, String, byte[]) throws java.lang.RuntimeException;
22418    method public void sendSms(int, @IntRange(from=0, to=65535) int, String, String, boolean, byte[]);
22419    field public static final int DELIVER_STATUS_ERROR_GENERIC = 2; // 0x2
22420    field public static final int DELIVER_STATUS_ERROR_NO_MEMORY = 3; // 0x3
22421    field public static final int DELIVER_STATUS_ERROR_REQUEST_NOT_SUPPORTED = 4; // 0x4
22422    field public static final int DELIVER_STATUS_OK = 1; // 0x1
22423    field public static final int RESULT_NO_NETWORK_ERROR = -1; // 0xffffffff
22424    field public static final int SEND_STATUS_ERROR = 2; // 0x2
22425    field public static final int SEND_STATUS_ERROR_FALLBACK = 4; // 0x4
22426    field public static final int SEND_STATUS_ERROR_RETRY = 3; // 0x3
22427    field public static final int SEND_STATUS_OK = 1; // 0x1
22428    field public static final int STATUS_REPORT_STATUS_ERROR = 2; // 0x2
22429    field public static final int STATUS_REPORT_STATUS_OK = 1; // 0x1
22430  }
22431
22432  public class ImsUtImplBase {
22433    ctor public ImsUtImplBase();
22434    method public void close();
22435    method public int queryCallBarring(int);
22436    method public int queryCallBarringForServiceClass(int, int);
22437    method public int queryCallForward(int, String);
22438    method public int queryCallWaiting();
22439    method public int queryClip();
22440    method public int queryClir();
22441    method public int queryColp();
22442    method public int queryColr();
22443    method public void setListener(android.telephony.ims.ImsUtListener);
22444    method public int transact(android.os.Bundle);
22445    method public int updateCallBarring(int, int, String[]);
22446    method public int updateCallBarringForServiceClass(int, int, String[], int);
22447    method public int updateCallForward(int, int, String, int, int);
22448    method public int updateCallWaiting(boolean, int);
22449    method public int updateClip(boolean);
22450    method public int updateClir(int);
22451    method public int updateColp(boolean);
22452    method public int updateColr(int);
22453  }
22454
22455  public class RcsCapabilityExchangeImplBase {
22456    ctor public RcsCapabilityExchangeImplBase();
22457    method public void publishCapabilities(@NonNull String, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.PublishResponseCallback);
22458    method public void sendOptionsCapabilityRequest(@NonNull android.net.Uri, @NonNull java.util.Set<java.lang.String>, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.OptionsResponseCallback);
22459    method public void subscribeForCapabilities(@NonNull java.util.Collection<android.net.Uri>, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.SubscribeResponseCallback);
22460    field public static final int COMMAND_CODE_FETCH_ERROR = 3; // 0x3
22461    field public static final int COMMAND_CODE_GENERIC_FAILURE = 1; // 0x1
22462    field public static final int COMMAND_CODE_INSUFFICIENT_MEMORY = 5; // 0x5
22463    field public static final int COMMAND_CODE_INVALID_PARAM = 2; // 0x2
22464    field public static final int COMMAND_CODE_LOST_NETWORK_CONNECTION = 6; // 0x6
22465    field public static final int COMMAND_CODE_NOT_FOUND = 8; // 0x8
22466    field public static final int COMMAND_CODE_NOT_SUPPORTED = 7; // 0x7
22467    field public static final int COMMAND_CODE_NO_CHANGE = 10; // 0xa
22468    field public static final int COMMAND_CODE_REQUEST_TIMEOUT = 4; // 0x4
22469    field public static final int COMMAND_CODE_SERVICE_UNAVAILABLE = 9; // 0x9
22470    field public static final int COMMAND_CODE_SERVICE_UNKNOWN = 0; // 0x0
22471  }
22472
22473  public static interface RcsCapabilityExchangeImplBase.OptionsResponseCallback {
22474    method public void onCommandError(int) throws android.telephony.ims.ImsException;
22475    method public void onNetworkResponse(int, @NonNull String, @NonNull java.util.List<java.lang.String>) throws android.telephony.ims.ImsException;
22476  }
22477
22478  public static interface RcsCapabilityExchangeImplBase.PublishResponseCallback {
22479    method public void onCommandError(int) throws android.telephony.ims.ImsException;
22480    method @Deprecated public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
22481    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;
22482    method public default void onNetworkResponse(@NonNull android.telephony.ims.SipDetails) throws android.telephony.ims.ImsException;
22483  }
22484
22485  public static interface RcsCapabilityExchangeImplBase.SubscribeResponseCallback {
22486    method public void onCommandError(int) throws android.telephony.ims.ImsException;
22487    method @Deprecated public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
22488    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;
22489    method public default void onNetworkResponse(@NonNull android.telephony.ims.SipDetails) throws android.telephony.ims.ImsException;
22490    method public void onNotifyCapabilitiesUpdate(@NonNull java.util.List<java.lang.String>) throws android.telephony.ims.ImsException;
22491    method public void onResourceTerminated(@NonNull java.util.List<android.util.Pair<android.net.Uri,java.lang.String>>) throws android.telephony.ims.ImsException;
22492    method public void onTerminated(@NonNull String, long) throws android.telephony.ims.ImsException;
22493  }
22494
22495  public interface SipDelegate {
22496    method public void cleanupSession(@NonNull String);
22497    method public void notifyMessageReceiveError(@NonNull String, int);
22498    method public void notifyMessageReceived(@NonNull String);
22499    method public void sendMessage(@NonNull android.telephony.ims.SipMessage, long);
22500  }
22501
22502  public class SipTransportImplBase {
22503    ctor public SipTransportImplBase();
22504    ctor public SipTransportImplBase(@NonNull java.util.concurrent.Executor);
22505    method public void createSipDelegate(int, @NonNull android.telephony.ims.DelegateRequest, @NonNull android.telephony.ims.DelegateStateCallback, @NonNull android.telephony.ims.DelegateMessageCallback);
22506    method public void destroySipDelegate(@NonNull android.telephony.ims.stub.SipDelegate, int);
22507  }
22508
22509}
22510
22511package android.telephony.mbms {
22512
22513  public static class DownloadRequest.Builder {
22514    method public android.telephony.mbms.DownloadRequest.Builder setServiceId(String);
22515  }
22516
22517  public final class FileInfo implements android.os.Parcelable {
22518    ctor public FileInfo(android.net.Uri, String);
22519  }
22520
22521  public final class FileServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
22522    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>);
22523  }
22524
22525  public class MbmsDownloadReceiver extends android.content.BroadcastReceiver {
22526    field public static final int RESULT_APP_NOTIFICATION_ERROR = 6; // 0x6
22527    field public static final int RESULT_BAD_TEMP_FILE_ROOT = 3; // 0x3
22528    field public static final int RESULT_DOWNLOAD_FINALIZATION_ERROR = 4; // 0x4
22529    field public static final int RESULT_INVALID_ACTION = 1; // 0x1
22530    field public static final int RESULT_MALFORMED_INTENT = 2; // 0x2
22531    field public static final int RESULT_OK = 0; // 0x0
22532    field public static final int RESULT_TEMP_FILE_GENERATION_ERROR = 5; // 0x5
22533  }
22534
22535  public final class StreamingServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
22536    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);
22537  }
22538
22539  public final class UriPathPair implements android.os.Parcelable {
22540    method public int describeContents();
22541    method public android.net.Uri getContentUri();
22542    method public android.net.Uri getFilePathUri();
22543    method public void writeToParcel(android.os.Parcel, int);
22544    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.mbms.UriPathPair> CREATOR;
22545  }
22546
22547}
22548
22549package android.telephony.mbms.vendor {
22550
22551  public class MbmsDownloadServiceBase extends android.os.Binder implements android.os.IInterface {
22552    ctor public MbmsDownloadServiceBase();
22553    method public int addProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener) throws android.os.RemoteException;
22554    method public int addServiceAnnouncement(int, @NonNull byte[]);
22555    method public int addStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener) throws android.os.RemoteException;
22556    method public android.os.IBinder asBinder();
22557    method public int cancelDownload(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
22558    method public void dispose(int) throws android.os.RemoteException;
22559    method public int download(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
22560    method public int initialize(int, android.telephony.mbms.MbmsDownloadSessionCallback) throws android.os.RemoteException;
22561    method @NonNull public java.util.List<android.telephony.mbms.DownloadRequest> listPendingDownloads(int) throws android.os.RemoteException;
22562    method public void onAppCallbackDied(int, int);
22563    method public boolean onTransact(int, android.os.Parcel, android.os.Parcel, int) throws android.os.RemoteException;
22564    method public int removeProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener) throws android.os.RemoteException;
22565    method public int removeStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener) throws android.os.RemoteException;
22566    method public int requestDownloadState(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo) throws android.os.RemoteException;
22567    method public int requestUpdateFileServices(int, java.util.List<java.lang.String>) throws android.os.RemoteException;
22568    method public int resetDownloadKnowledge(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
22569    method public int setTempFileRootDirectory(int, String) throws android.os.RemoteException;
22570  }
22571
22572  public class MbmsGroupCallServiceBase extends android.app.Service {
22573    ctor public MbmsGroupCallServiceBase();
22574    method public void dispose(int) throws android.os.RemoteException;
22575    method public int initialize(@NonNull android.telephony.mbms.MbmsGroupCallSessionCallback, int) throws android.os.RemoteException;
22576    method public void onAppCallbackDied(int, int);
22577    method public android.os.IBinder onBind(android.content.Intent);
22578    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);
22579    method public void stopGroupCall(int, long);
22580    method public void updateGroupCall(int, long, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>);
22581  }
22582
22583  public class MbmsStreamingServiceBase extends android.os.Binder implements android.os.IInterface {
22584    ctor public MbmsStreamingServiceBase();
22585    method public android.os.IBinder asBinder();
22586    method public void dispose(int) throws android.os.RemoteException;
22587    method @Nullable public android.net.Uri getPlaybackUri(int, String) throws android.os.RemoteException;
22588    method public int initialize(android.telephony.mbms.MbmsStreamingSessionCallback, int) throws android.os.RemoteException;
22589    method public void onAppCallbackDied(int, int);
22590    method public boolean onTransact(int, android.os.Parcel, android.os.Parcel, int) throws android.os.RemoteException;
22591    method public int requestUpdateStreamingServices(int, java.util.List<java.lang.String>) throws android.os.RemoteException;
22592    method public int startStreaming(int, String, android.telephony.mbms.StreamingServiceCallback) throws android.os.RemoteException;
22593    method public void stopStreaming(int, String) throws android.os.RemoteException;
22594  }
22595
22596  public class VendorUtils {
22597    ctor public VendorUtils();
22598    method public static android.content.ComponentName getAppReceiverFromPackageName(android.content.Context, String);
22599    field public static final String ACTION_CLEANUP = "android.telephony.mbms.action.CLEANUP";
22600    field public static final String ACTION_DOWNLOAD_RESULT_INTERNAL = "android.telephony.mbms.action.DOWNLOAD_RESULT_INTERNAL";
22601    field public static final String ACTION_FILE_DESCRIPTOR_REQUEST = "android.telephony.mbms.action.FILE_DESCRIPTOR_REQUEST";
22602    field public static final String EXTRA_FD_COUNT = "android.telephony.mbms.extra.FD_COUNT";
22603    field public static final String EXTRA_FINAL_URI = "android.telephony.mbms.extra.FINAL_URI";
22604    field public static final String EXTRA_FREE_URI_LIST = "android.telephony.mbms.extra.FREE_URI_LIST";
22605    field public static final String EXTRA_PAUSED_LIST = "android.telephony.mbms.extra.PAUSED_LIST";
22606    field public static final String EXTRA_PAUSED_URI_LIST = "android.telephony.mbms.extra.PAUSED_URI_LIST";
22607    field public static final String EXTRA_SERVICE_ID = "android.telephony.mbms.extra.SERVICE_ID";
22608    field public static final String EXTRA_TEMP_FILES_IN_USE = "android.telephony.mbms.extra.TEMP_FILES_IN_USE";
22609    field public static final String EXTRA_TEMP_FILE_ROOT = "android.telephony.mbms.extra.TEMP_FILE_ROOT";
22610    field public static final String EXTRA_TEMP_LIST = "android.telephony.mbms.extra.TEMP_LIST";
22611  }
22612
22613}
22614
22615package android.text {
22616
22617  public final class FontConfig implements android.os.Parcelable {
22618    method public int describeContents();
22619    method @NonNull public java.util.List<android.text.FontConfig.Alias> getAliases();
22620    method @IntRange(from=0) public int getConfigVersion();
22621    method @NonNull public java.util.List<android.text.FontConfig.FontFamily> getFontFamilies();
22622    method public long getLastModifiedTimeMillis();
22623    method @NonNull public java.util.List<android.text.FontConfig.NamedFamilyList> getNamedFamilyLists();
22624    method public void writeToParcel(@NonNull android.os.Parcel, int);
22625    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig> CREATOR;
22626  }
22627
22628  public static final class FontConfig.Alias implements android.os.Parcelable {
22629    method public int describeContents();
22630    method @NonNull public String getName();
22631    method @NonNull public String getOriginal();
22632    method @IntRange(from=0, to=1000) public int getWeight();
22633    method public void writeToParcel(@NonNull android.os.Parcel, int);
22634    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.Alias> CREATOR;
22635  }
22636
22637  public static final class FontConfig.Font implements android.os.Parcelable {
22638    method public int describeContents();
22639    method @NonNull public java.io.File getFile();
22640    method @Nullable public String getFontFamilyName();
22641    method @NonNull public String getFontVariationSettings();
22642    method @NonNull public String getPostScriptName();
22643    method @NonNull public android.graphics.fonts.FontStyle getStyle();
22644    method public int getTtcIndex();
22645    method public void writeToParcel(@NonNull android.os.Parcel, int);
22646    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.Font> CREATOR;
22647  }
22648
22649  public static final class FontConfig.FontFamily implements android.os.Parcelable {
22650    method public int describeContents();
22651    method @NonNull public java.util.List<android.text.FontConfig.Font> getFontList();
22652    method @NonNull public android.os.LocaleList getLocaleList();
22653    method @Deprecated @Nullable public String getName();
22654    method public int getVariant();
22655    method public void writeToParcel(@NonNull android.os.Parcel, int);
22656    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.FontFamily> CREATOR;
22657    field public static final int VARIANT_COMPACT = 1; // 0x1
22658    field public static final int VARIANT_DEFAULT = 0; // 0x0
22659    field public static final int VARIANT_ELEGANT = 2; // 0x2
22660  }
22661
22662  public static final class FontConfig.NamedFamilyList implements android.os.Parcelable {
22663    method public int describeContents();
22664    method @NonNull public java.util.List<android.text.FontConfig.FontFamily> getFamilies();
22665    method @NonNull public String getName();
22666    method public void writeToParcel(@NonNull android.os.Parcel, int);
22667    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.NamedFamilyList> CREATOR;
22668  }
22669
22670}
22671
22672package android.util {
22673
22674  public class EventLog {
22675    method public static void readEventsOnWrapping(int[], long, java.util.Collection<android.util.EventLog.Event>) throws java.io.IOException;
22676  }
22677
22678  public static final class EventLog.Event {
22679    method public int getUid();
22680  }
22681
22682  public final class StatsEvent {
22683    method @NonNull public static android.util.StatsEvent.Builder newBuilder();
22684  }
22685
22686  public static final class StatsEvent.Builder {
22687    method @NonNull public android.util.StatsEvent.Builder addBooleanAnnotation(byte, boolean);
22688    method @NonNull public android.util.StatsEvent.Builder addIntAnnotation(byte, int);
22689    method @NonNull public android.util.StatsEvent build();
22690    method @NonNull public android.util.StatsEvent.Builder setAtomId(int);
22691    method @NonNull public android.util.StatsEvent.Builder usePooledBuffer();
22692    method @NonNull public android.util.StatsEvent.Builder writeAttributionChain(@NonNull int[], @NonNull String[]);
22693    method @NonNull public android.util.StatsEvent.Builder writeBoolean(boolean);
22694    method @NonNull public android.util.StatsEvent.Builder writeBooleanArray(@NonNull boolean[]);
22695    method @NonNull public android.util.StatsEvent.Builder writeByteArray(@NonNull byte[]);
22696    method @NonNull public android.util.StatsEvent.Builder writeFloat(float);
22697    method @NonNull public android.util.StatsEvent.Builder writeFloatArray(@NonNull float[]);
22698    method @NonNull public android.util.StatsEvent.Builder writeInt(int);
22699    method @NonNull public android.util.StatsEvent.Builder writeIntArray(@NonNull int[]);
22700    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>);
22701    method @NonNull public android.util.StatsEvent.Builder writeLong(long);
22702    method @NonNull public android.util.StatsEvent.Builder writeLongArray(@NonNull long[]);
22703    method @NonNull public android.util.StatsEvent.Builder writeString(@NonNull String);
22704    method @NonNull public android.util.StatsEvent.Builder writeStringArray(@NonNull String[]);
22705  }
22706
22707  public final class StatsLog {
22708    method public static void write(@NonNull android.util.StatsEvent);
22709    method @Deprecated public static void writeRaw(@NonNull byte[], int);
22710    field public static final byte ANNOTATION_ID_DEFAULT_STATE = 6; // 0x6
22711    field public static final byte ANNOTATION_ID_EXCLUSIVE_STATE = 4; // 0x4
22712    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_ACCESSIBILITY = 14; // 0xe
22713    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_AMBIENT_SENSING = 17; // 0x11
22714    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_APP_ACTIVITY = 12; // 0xc
22715    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_APP_USAGE = 11; // 0xb
22716    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_DEMOGRAPHIC_CLASSIFICATION = 18; // 0x12
22717    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_HEALTH_CONNECT = 13; // 0xd
22718    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_PERIPHERAL_DEVICE_INFO = 10; // 0xa
22719    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_SYSTEM_SEARCH = 15; // 0xf
22720    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_USER_ENGAGEMENT = 16; // 0x10
22721    field public static final byte ANNOTATION_ID_IS_UID = 1; // 0x1
22722    field public static final byte ANNOTATION_ID_PRIMARY_FIELD = 3; // 0x3
22723    field public static final byte ANNOTATION_ID_PRIMARY_FIELD_FIRST_UID = 5; // 0x5
22724    field public static final byte ANNOTATION_ID_RESTRICTION_CATEGORY = 9; // 0x9
22725    field public static final byte ANNOTATION_ID_STATE_NESTED = 8; // 0x8
22726    field public static final byte ANNOTATION_ID_TRIGGER_STATE_RESET = 7; // 0x7
22727    field public static final byte ANNOTATION_ID_TRUNCATE_TIMESTAMP = 2; // 0x2
22728    field public static final int RESTRICTION_CATEGORY_AUTHENTICATION = 3; // 0x3
22729    field public static final int RESTRICTION_CATEGORY_DIAGNOSTIC = 1; // 0x1
22730    field public static final int RESTRICTION_CATEGORY_FRAUD_AND_ABUSE = 4; // 0x4
22731    field public static final int RESTRICTION_CATEGORY_SYSTEM_INTELLIGENCE = 2; // 0x2
22732  }
22733
22734}
22735
22736package android.uwb {
22737
22738  public final class AngleMeasurement implements android.os.Parcelable {
22739    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);
22740    method public int describeContents();
22741    method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel();
22742    method @FloatRange(from=0.0, to=3.141592653589793) public double getErrorRadians();
22743    method @FloatRange(from=-3.141592653589793, to=3.141592653589793) public double getRadians();
22744    method public void writeToParcel(@NonNull android.os.Parcel, int);
22745    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleMeasurement> CREATOR;
22746  }
22747
22748  public final class AngleOfArrivalMeasurement implements android.os.Parcelable {
22749    method public int describeContents();
22750    method @Nullable public android.uwb.AngleMeasurement getAltitude();
22751    method @NonNull public android.uwb.AngleMeasurement getAzimuth();
22752    method public void writeToParcel(@NonNull android.os.Parcel, int);
22753    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleOfArrivalMeasurement> CREATOR;
22754  }
22755
22756  public static final class AngleOfArrivalMeasurement.Builder {
22757    ctor public AngleOfArrivalMeasurement.Builder(@NonNull android.uwb.AngleMeasurement);
22758    method @NonNull public android.uwb.AngleOfArrivalMeasurement build();
22759    method @NonNull public android.uwb.AngleOfArrivalMeasurement.Builder setAltitude(@NonNull android.uwb.AngleMeasurement);
22760  }
22761
22762  public final class DistanceMeasurement implements android.os.Parcelable {
22763    method public int describeContents();
22764    method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel();
22765    method @FloatRange(from=0.0) public double getErrorMeters();
22766    method public double getMeters();
22767    method public void writeToParcel(@NonNull android.os.Parcel, int);
22768    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.DistanceMeasurement> CREATOR;
22769  }
22770
22771  public static final class DistanceMeasurement.Builder {
22772    ctor public DistanceMeasurement.Builder();
22773    method @NonNull public android.uwb.DistanceMeasurement build();
22774    method @NonNull public android.uwb.DistanceMeasurement.Builder setConfidenceLevel(@FloatRange(from=0.0, to=1.0) double);
22775    method @NonNull public android.uwb.DistanceMeasurement.Builder setErrorMeters(@FloatRange(from=0.0) double);
22776    method @NonNull public android.uwb.DistanceMeasurement.Builder setMeters(double);
22777  }
22778
22779  public final class RangingMeasurement implements android.os.Parcelable {
22780    method public int describeContents();
22781    method @Nullable public android.uwb.AngleOfArrivalMeasurement getAngleOfArrivalMeasurement();
22782    method @Nullable public android.uwb.AngleOfArrivalMeasurement getDestinationAngleOfArrivalMeasurement();
22783    method @Nullable public android.uwb.DistanceMeasurement getDistanceMeasurement();
22784    method public long getElapsedRealtimeNanos();
22785    method public int getLineOfSight();
22786    method public int getMeasurementFocus();
22787    method @NonNull public android.os.PersistableBundle getRangingMeasurementMetadata();
22788    method @NonNull public android.uwb.UwbAddress getRemoteDeviceAddress();
22789    method @IntRange(from=android.uwb.RangingMeasurement.RSSI_UNKNOWN, to=android.uwb.RangingMeasurement.RSSI_MAX) public int getRssiDbm();
22790    method public int getStatus();
22791    method public void writeToParcel(@NonNull android.os.Parcel, int);
22792    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingMeasurement> CREATOR;
22793    field public static final int LOS = 0; // 0x0
22794    field public static final int LOS_UNDETERMINED = 255; // 0xff
22795    field public static final int MEASUREMENT_FOCUS_ANGLE_OF_ARRIVAL_AZIMUTH = 2; // 0x2
22796    field public static final int MEASUREMENT_FOCUS_ANGLE_OF_ARRIVAL_ELEVATION = 3; // 0x3
22797    field public static final int MEASUREMENT_FOCUS_NONE = 0; // 0x0
22798    field public static final int MEASUREMENT_FOCUS_RANGE = 1; // 0x1
22799    field public static final int NLOS = 1; // 0x1
22800    field public static final int RANGING_STATUS_FAILURE_OUT_OF_RANGE = 1; // 0x1
22801    field public static final int RANGING_STATUS_FAILURE_UNKNOWN_ERROR = -1; // 0xffffffff
22802    field public static final int RANGING_STATUS_SUCCESS = 0; // 0x0
22803    field public static final int RSSI_MAX = -1; // 0xffffffff
22804    field public static final int RSSI_MIN = -127; // 0xffffff81
22805    field public static final int RSSI_UNKNOWN = -128; // 0xffffff80
22806  }
22807
22808  public static final class RangingMeasurement.Builder {
22809    ctor public RangingMeasurement.Builder();
22810    method @NonNull public android.uwb.RangingMeasurement build();
22811    method @NonNull public android.uwb.RangingMeasurement.Builder setAngleOfArrivalMeasurement(@NonNull android.uwb.AngleOfArrivalMeasurement);
22812    method @NonNull public android.uwb.RangingMeasurement.Builder setDestinationAngleOfArrivalMeasurement(@NonNull android.uwb.AngleOfArrivalMeasurement);
22813    method @NonNull public android.uwb.RangingMeasurement.Builder setDistanceMeasurement(@NonNull android.uwb.DistanceMeasurement);
22814    method @NonNull public android.uwb.RangingMeasurement.Builder setElapsedRealtimeNanos(long);
22815    method @NonNull public android.uwb.RangingMeasurement.Builder setLineOfSight(int);
22816    method @NonNull public android.uwb.RangingMeasurement.Builder setMeasurementFocus(int);
22817    method @NonNull public android.uwb.RangingMeasurement.Builder setRangingMeasurementMetadata(@NonNull android.os.PersistableBundle);
22818    method @NonNull public android.uwb.RangingMeasurement.Builder setRemoteDeviceAddress(@NonNull android.uwb.UwbAddress);
22819    method @NonNull public android.uwb.RangingMeasurement.Builder setRssiDbm(@IntRange(from=android.uwb.RangingMeasurement.RSSI_UNKNOWN, to=android.uwb.RangingMeasurement.RSSI_MAX) int);
22820    method @NonNull public android.uwb.RangingMeasurement.Builder setStatus(int);
22821  }
22822
22823  public final class RangingReport implements android.os.Parcelable {
22824    method public int describeContents();
22825    method @NonNull public java.util.List<android.uwb.RangingMeasurement> getMeasurements();
22826    method @NonNull public android.os.PersistableBundle getRangingReportMetadata();
22827    method public void writeToParcel(@NonNull android.os.Parcel, int);
22828    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingReport> CREATOR;
22829  }
22830
22831  public static final class RangingReport.Builder {
22832    ctor public RangingReport.Builder();
22833    method @NonNull public android.uwb.RangingReport.Builder addMeasurement(@NonNull android.uwb.RangingMeasurement);
22834    method @NonNull public android.uwb.RangingReport.Builder addMeasurements(@NonNull java.util.List<android.uwb.RangingMeasurement>);
22835    method @NonNull public android.uwb.RangingReport.Builder addRangingReportMetadata(@NonNull android.os.PersistableBundle);
22836    method @NonNull public android.uwb.RangingReport build();
22837  }
22838
22839  public final class RangingSession implements java.lang.AutoCloseable {
22840    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void addControlee(@NonNull android.os.PersistableBundle);
22841    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void close();
22842    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void pause(@NonNull android.os.PersistableBundle);
22843    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int queryMaxDataSizeBytes();
22844    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void reconfigure(@NonNull android.os.PersistableBundle);
22845    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void removeControlee(@NonNull android.os.PersistableBundle);
22846    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void resume(@NonNull android.os.PersistableBundle);
22847    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void sendData(@NonNull android.uwb.UwbAddress, @NonNull android.os.PersistableBundle, @NonNull byte[]);
22848    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void start(@NonNull android.os.PersistableBundle);
22849    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void stop();
22850    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void updatePose(@NonNull android.os.PersistableBundle);
22851    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void updateRangingRoundsDtTag(@NonNull android.os.PersistableBundle);
22852  }
22853
22854  public static interface RangingSession.Callback {
22855    method public void onClosed(int, @NonNull android.os.PersistableBundle);
22856    method public default void onControleeAddFailed(int, @NonNull android.os.PersistableBundle);
22857    method public default void onControleeAdded(@NonNull android.os.PersistableBundle);
22858    method public default void onControleeRemoveFailed(int, @NonNull android.os.PersistableBundle);
22859    method public default void onControleeRemoved(@NonNull android.os.PersistableBundle);
22860    method public default void onDataReceiveFailed(@NonNull android.uwb.UwbAddress, int, @NonNull android.os.PersistableBundle);
22861    method public default void onDataReceived(@NonNull android.uwb.UwbAddress, @NonNull android.os.PersistableBundle, @NonNull byte[]);
22862    method public default void onDataSendFailed(@NonNull android.uwb.UwbAddress, int, @NonNull android.os.PersistableBundle);
22863    method public default void onDataSent(@NonNull android.uwb.UwbAddress, @NonNull android.os.PersistableBundle);
22864    method public void onOpenFailed(int, @NonNull android.os.PersistableBundle);
22865    method public void onOpened(@NonNull android.uwb.RangingSession);
22866    method public default void onPauseFailed(int, @NonNull android.os.PersistableBundle);
22867    method public default void onPaused(@NonNull android.os.PersistableBundle);
22868    method public default void onRangingRoundsUpdateDtTagStatus(@NonNull android.os.PersistableBundle);
22869    method public void onReconfigureFailed(int, @NonNull android.os.PersistableBundle);
22870    method public void onReconfigured(@NonNull android.os.PersistableBundle);
22871    method public void onReportReceived(@NonNull android.uwb.RangingReport);
22872    method public default void onResumeFailed(int, @NonNull android.os.PersistableBundle);
22873    method public default void onResumed(@NonNull android.os.PersistableBundle);
22874    method public default void onServiceConnected(@NonNull android.os.PersistableBundle);
22875    method public default void onServiceDiscovered(@NonNull android.os.PersistableBundle);
22876    method public void onStartFailed(int, @NonNull android.os.PersistableBundle);
22877    method public void onStarted(@NonNull android.os.PersistableBundle);
22878    method public void onStopFailed(int, @NonNull android.os.PersistableBundle);
22879    method public void onStopped(int, @NonNull android.os.PersistableBundle);
22880    field public static final int CONTROLEE_FAILURE_REASON_MAX_CONTROLEE_REACHED = 0; // 0x0
22881    field public static final int DATA_FAILURE_REASON_DATA_SIZE_TOO_LARGE = 10; // 0xa
22882    field public static final int REASON_BAD_PARAMETERS = 3; // 0x3
22883    field public static final int REASON_GENERIC_ERROR = 4; // 0x4
22884    field public static final int REASON_INSUFFICIENT_SLOTS_PER_RR = 14; // 0xe
22885    field public static final int REASON_LOCAL_REQUEST = 1; // 0x1
22886    field public static final int REASON_MAX_RR_RETRY_REACHED = 9; // 0x9
22887    field public static final int REASON_MAX_SESSIONS_REACHED = 5; // 0x5
22888    field public static final int REASON_PROTOCOL_SPECIFIC_ERROR = 7; // 0x7
22889    field public static final int REASON_REMOTE_REQUEST = 2; // 0x2
22890    field public static final int REASON_SERVICE_CONNECTION_FAILURE = 11; // 0xb
22891    field public static final int REASON_SERVICE_DISCOVERY_FAILURE = 10; // 0xa
22892    field public static final int REASON_SE_INTERACTION_FAILURE = 13; // 0xd
22893    field public static final int REASON_SE_NOT_SUPPORTED = 12; // 0xc
22894    field public static final int REASON_SYSTEM_POLICY = 6; // 0x6
22895    field public static final int REASON_SYSTEM_REGULATION = 15; // 0xf
22896    field public static final int REASON_UNKNOWN = 0; // 0x0
22897  }
22898
22899  public final class UwbActivityEnergyInfo implements android.os.Parcelable {
22900    method public int describeContents();
22901    method @IntRange(from=0) public long getControllerIdleDurationMillis();
22902    method @IntRange(from=0) public long getControllerRxDurationMillis();
22903    method @IntRange(from=0) public long getControllerTxDurationMillis();
22904    method @IntRange(from=0) public long getControllerWakeCount();
22905    method public int getStackState();
22906    method public long getTimeSinceBootMillis();
22907    method public void writeToParcel(@NonNull android.os.Parcel, int);
22908    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.UwbActivityEnergyInfo> CREATOR;
22909  }
22910
22911  public static final class UwbActivityEnergyInfo.Builder {
22912    ctor public UwbActivityEnergyInfo.Builder();
22913    method @NonNull public android.uwb.UwbActivityEnergyInfo build();
22914    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setControllerIdleDurationMillis(@IntRange(from=0) long);
22915    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setControllerRxDurationMillis(@IntRange(from=0) long);
22916    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setControllerTxDurationMillis(@IntRange(from=0) long);
22917    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setControllerWakeCount(@IntRange(from=0) long);
22918    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setStackState(int);
22919    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setTimeSinceBootMillis(long);
22920  }
22921
22922  public final class UwbAddress implements android.os.Parcelable {
22923    method public int describeContents();
22924    method @NonNull public static android.uwb.UwbAddress fromBytes(@NonNull byte[]);
22925    method public int size();
22926    method @NonNull public byte[] toBytes();
22927    method public void writeToParcel(@NonNull android.os.Parcel, int);
22928    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.UwbAddress> CREATOR;
22929    field public static final int EXTENDED_ADDRESS_BYTE_LENGTH = 8; // 0x8
22930    field public static final int SHORT_ADDRESS_BYTE_LENGTH = 2; // 0x2
22931  }
22932
22933  public final class UwbManager {
22934    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle addServiceProfile(@NonNull android.os.PersistableBundle);
22935    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public long elapsedRealtimeResolutionNanos();
22936    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public long elapsedRealtimeResolutionNanos(@NonNull String);
22937    method public int getAdapterState();
22938    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getAdfCertificateInfo(@NonNull android.os.PersistableBundle);
22939    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getAdfProvisioningAuthorities(@NonNull android.os.PersistableBundle);
22940    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getAllServiceProfiles();
22941    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public java.util.List<android.os.PersistableBundle> getChipInfos();
22942    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public String getDefaultChipId();
22943    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getSpecificationInfo();
22944    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getSpecificationInfo(@NonNull String);
22945    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void getUwbActivityEnergyInfoAsync(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.uwb.UwbActivityEnergyInfo>);
22946    method public boolean isUwbEnabled();
22947    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);
22948    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);
22949    method public void provisionProfileAdfByScript(@NonNull android.os.PersistableBundle, @NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.AdfProvisionStateCallback);
22950    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerAdapterStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.AdapterStateCallback);
22951    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerUwbOemExtensionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.UwbOemExtensionCallback);
22952    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerUwbVendorUciCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.UwbVendorUciCallback);
22953    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int removeProfileAdf(@NonNull android.os.PersistableBundle);
22954    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int removeServiceProfile(@NonNull android.os.PersistableBundle);
22955    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int sendVendorUciMessage(@IntRange(from=0, to=15) int, int, @NonNull byte[]);
22956    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int sendVendorUciMessage(int, @IntRange(from=0, to=15) int, int, @NonNull byte[]);
22957    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void setUwbEnabled(boolean);
22958    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void unregisterAdapterStateCallback(@NonNull android.uwb.UwbManager.AdapterStateCallback);
22959    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void unregisterUwbOemExtensionCallback(@NonNull android.uwb.UwbManager.UwbOemExtensionCallback);
22960    method public void unregisterUwbVendorUciCallback(@NonNull android.uwb.UwbManager.UwbVendorUciCallback);
22961    field public static final int MESSAGE_TYPE_COMMAND = 1; // 0x1
22962    field public static final int MESSAGE_TYPE_TEST_1 = 4; // 0x4
22963    field public static final int MESSAGE_TYPE_TEST_2 = 5; // 0x5
22964    field public static final int REMOVE_PROFILE_ADF_ERROR_INTERNAL = 2; // 0x2
22965    field public static final int REMOVE_PROFILE_ADF_ERROR_UNKNOWN_SERVICE = 1; // 0x1
22966    field public static final int REMOVE_PROFILE_ADF_SUCCESS = 0; // 0x0
22967    field public static final int REMOVE_SERVICE_PROFILE_ERROR_INTERNAL = 2; // 0x2
22968    field public static final int REMOVE_SERVICE_PROFILE_ERROR_UNKNOWN_SERVICE = 1; // 0x1
22969    field public static final int REMOVE_SERVICE_PROFILE_SUCCESS = 0; // 0x0
22970    field public static final int SEND_VENDOR_UCI_ERROR_HW = 1; // 0x1
22971    field public static final int SEND_VENDOR_UCI_ERROR_INVALID_ARGS = 3; // 0x3
22972    field public static final int SEND_VENDOR_UCI_ERROR_INVALID_GID = 4; // 0x4
22973    field public static final int SEND_VENDOR_UCI_ERROR_OFF = 2; // 0x2
22974    field public static final int SEND_VENDOR_UCI_SUCCESS = 0; // 0x0
22975  }
22976
22977  public static interface UwbManager.AdapterStateCallback {
22978    method public void onStateChanged(int, int);
22979    field public static final int STATE_CHANGED_REASON_ALL_SESSIONS_CLOSED = 1; // 0x1
22980    field public static final int STATE_CHANGED_REASON_ERROR_UNKNOWN = 4; // 0x4
22981    field public static final int STATE_CHANGED_REASON_SESSION_STARTED = 0; // 0x0
22982    field public static final int STATE_CHANGED_REASON_SYSTEM_BOOT = 3; // 0x3
22983    field public static final int STATE_CHANGED_REASON_SYSTEM_POLICY = 2; // 0x2
22984    field public static final int STATE_CHANGED_REASON_SYSTEM_REGULATION = 5; // 0x5
22985    field public static final int STATE_DISABLED = 0; // 0x0
22986    field public static final int STATE_ENABLED_ACTIVE = 2; // 0x2
22987    field public static final int STATE_ENABLED_INACTIVE = 1; // 0x1
22988  }
22989
22990  public abstract static class UwbManager.AdfProvisionStateCallback {
22991    ctor public UwbManager.AdfProvisionStateCallback();
22992    method public abstract void onProfileAdfsProvisionFailed(int, @NonNull android.os.PersistableBundle);
22993    method public abstract void onProfileAdfsProvisioned(@NonNull android.os.PersistableBundle);
22994    field public static final int REASON_INVALID_OID = 1; // 0x1
22995    field public static final int REASON_SE_FAILURE = 2; // 0x2
22996    field public static final int REASON_UNKNOWN = 3; // 0x3
22997  }
22998
22999  public static interface UwbManager.UwbOemExtensionCallback {
23000    method public boolean onCheckPointedTarget(@NonNull android.os.PersistableBundle);
23001    method public void onDeviceStatusNotificationReceived(@NonNull android.os.PersistableBundle);
23002    method @NonNull public android.uwb.RangingReport onRangingReportReceived(@NonNull android.uwb.RangingReport);
23003    method @NonNull public int onSessionConfigurationComplete(@NonNull android.os.PersistableBundle);
23004    method public void onSessionStatusNotificationReceived(@NonNull android.os.PersistableBundle);
23005  }
23006
23007  public static interface UwbManager.UwbVendorUciCallback {
23008    method public void onVendorUciNotification(@IntRange(from=9, to=15) int, int, @NonNull byte[]);
23009    method public void onVendorUciResponse(@IntRange(from=0, to=15) int, int, @NonNull byte[]);
23010  }
23011
23012}
23013
23014package android.view {
23015
23016  @UiThread public class View implements android.view.accessibility.AccessibilityEventSource android.graphics.drawable.Drawable.Callback android.view.KeyEvent.Callback {
23017    method @NonNull public final java.util.List<android.graphics.Rect> getUnrestrictedPreferKeepClearRects();
23018    method @RequiresPermission(android.Manifest.permission.SET_UNRESTRICTED_KEEP_CLEAR_AREAS) public final void setUnrestrictedPreferKeepClearRects(@NonNull java.util.List<android.graphics.Rect>);
23019  }
23020
23021  public abstract class Window {
23022    method public void addSystemFlags(@android.view.WindowManager.LayoutParams.SystemFlags int);
23023  }
23024
23025  public interface WindowManager extends android.view.ViewManager {
23026    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public android.graphics.Region getCurrentImeTouchRegion();
23027    method @NonNull public default java.util.List<android.content.ComponentName> notifyScreenshotListeners(int);
23028    method public default void registerTaskFpsCallback(@IntRange(from=0) int, @NonNull java.util.concurrent.Executor, @NonNull android.window.TaskFpsCallback);
23029    method public default void unregisterTaskFpsCallback(@NonNull android.window.TaskFpsCallback);
23030  }
23031
23032  public static class WindowManager.LayoutParams extends android.view.ViewGroup.LayoutParams implements android.os.Parcelable {
23033    method public final long getUserActivityTimeout();
23034    method public boolean isSystemApplicationOverlay();
23035    method @RequiresPermission(android.Manifest.permission.SYSTEM_APPLICATION_OVERLAY) public void setSystemApplicationOverlay(boolean);
23036    method public final void setUserActivityTimeout(long);
23037    field @RequiresPermission(android.Manifest.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS) public static final int SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS = 524288; // 0x80000
23038    field @RequiresPermission(android.Manifest.permission.INTERNAL_SYSTEM_WINDOW) public static final int SYSTEM_FLAG_SHOW_FOR_ALL_USERS = 16; // 0x10
23039  }
23040
23041  @IntDef(flag=true, prefix={"SYSTEM_FLAG_"}, value={android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS, android.view.WindowManager.LayoutParams.SYSTEM_FLAG_SHOW_FOR_ALL_USERS}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface WindowManager.LayoutParams.SystemFlags {
23042  }
23043
23044}
23045
23046package android.view.accessibility {
23047
23048  public abstract class AccessibilityDisplayProxy {
23049    ctor public AccessibilityDisplayProxy(int, @NonNull java.util.concurrent.Executor, @NonNull java.util.List<android.accessibilityservice.AccessibilityServiceInfo>);
23050    method @Nullable public android.view.accessibility.AccessibilityNodeInfo findFocus(int);
23051    method public int getDisplayId();
23052    method @NonNull public final java.util.List<android.accessibilityservice.AccessibilityServiceInfo> getInstalledAndEnabledServices();
23053    method @NonNull public java.util.List<android.view.accessibility.AccessibilityWindowInfo> getWindows();
23054    method public void interrupt();
23055    method public void onAccessibilityEvent(@NonNull android.view.accessibility.AccessibilityEvent);
23056    method public void onProxyConnected();
23057    method public void setAccessibilityFocusAppearance(int, @ColorInt int);
23058    method public void setInstalledAndEnabledServices(@NonNull java.util.List<android.accessibilityservice.AccessibilityServiceInfo>);
23059  }
23060
23061  public final class AccessibilityManager {
23062    method public int getAccessibilityWindowId(@Nullable android.os.IBinder);
23063    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void performAccessibilityShortcut();
23064    method @RequiresPermission(allOf={android.Manifest.permission.MANAGE_ACCESSIBILITY, android.Manifest.permission.CREATE_VIRTUAL_DEVICE}) public boolean registerDisplayProxy(@NonNull android.view.accessibility.AccessibilityDisplayProxy);
23065    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void registerSystemAction(@NonNull android.app.RemoteAction, int);
23066    method @RequiresPermission(allOf={android.Manifest.permission.MANAGE_ACCESSIBILITY, android.Manifest.permission.CREATE_VIRTUAL_DEVICE}) public boolean unregisterDisplayProxy(@NonNull android.view.accessibility.AccessibilityDisplayProxy);
23067    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void unregisterSystemAction(int);
23068  }
23069
23070  public class CaptioningManager {
23071    method @RequiresPermission(android.Manifest.permission.SET_SYSTEM_AUDIO_CAPTION) public final void setSystemAudioCaptioningEnabled(boolean);
23072    method @RequiresPermission(android.Manifest.permission.SET_SYSTEM_AUDIO_CAPTION) public final void setSystemAudioCaptioningUiEnabled(boolean);
23073  }
23074
23075}
23076
23077package android.view.autofill {
23078
23079  public final class AutofillManager {
23080    method public void setAugmentedAutofillWhitelist(@Nullable java.util.Set<java.lang.String>, @Nullable java.util.Set<android.content.ComponentName>);
23081  }
23082
23083}
23084
23085package android.view.contentcapture {
23086
23087  public final class ContentCaptureContext implements android.os.Parcelable {
23088    method @Nullable public android.content.ComponentName getActivityComponent();
23089    method @Nullable public android.app.assist.ActivityId getActivityId();
23090    method public int getDisplayId();
23091    method public int getFlags();
23092    method @Nullable public android.view.contentcapture.ContentCaptureSessionId getParentSessionId();
23093    method public int getTaskId();
23094    method @Nullable public android.os.IBinder getWindowToken();
23095    field public static final int FLAG_DISABLED_BY_APP = 1; // 0x1
23096    field public static final int FLAG_DISABLED_BY_FLAG_SECURE = 2; // 0x2
23097    field public static final int FLAG_RECONNECTED = 4; // 0x4
23098  }
23099
23100  public final class ContentCaptureEvent implements android.os.Parcelable {
23101    method public int describeContents();
23102    method @Nullable public android.graphics.Rect getBounds();
23103    method @Nullable public android.view.contentcapture.ContentCaptureContext getContentCaptureContext();
23104    method public long getEventTime();
23105    method @Nullable public android.view.autofill.AutofillId getId();
23106    method @Nullable public java.util.List<android.view.autofill.AutofillId> getIds();
23107    method @Nullable public android.graphics.Insets getInsets();
23108    method @Nullable public CharSequence getText();
23109    method public int getType();
23110    method @Nullable public android.view.contentcapture.ViewNode getViewNode();
23111    method public void writeToParcel(android.os.Parcel, int);
23112    field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureEvent> CREATOR;
23113    field public static final int TYPE_CONTEXT_UPDATED = 6; // 0x6
23114    field public static final int TYPE_SESSION_PAUSED = 8; // 0x8
23115    field public static final int TYPE_SESSION_RESUMED = 7; // 0x7
23116    field public static final int TYPE_VIEW_APPEARED = 1; // 0x1
23117    field public static final int TYPE_VIEW_DISAPPEARED = 2; // 0x2
23118    field public static final int TYPE_VIEW_INSETS_CHANGED = 9; // 0x9
23119    field public static final int TYPE_VIEW_TEXT_CHANGED = 3; // 0x3
23120    field public static final int TYPE_VIEW_TREE_APPEARED = 5; // 0x5
23121    field public static final int TYPE_VIEW_TREE_APPEARING = 4; // 0x4
23122    field public static final int TYPE_WINDOW_BOUNDS_CHANGED = 10; // 0xa
23123  }
23124
23125  public final class ContentCaptureManager {
23126    method public boolean isContentCaptureFeatureEnabled();
23127    field public static final int NO_SESSION_ID = 0; // 0x0
23128  }
23129
23130  public final class ViewNode extends android.app.assist.AssistStructure.ViewNode {
23131    method @Nullable public android.view.autofill.AutofillId getParentAutofillId();
23132  }
23133
23134}
23135
23136package android.view.displayhash {
23137
23138  public final class DisplayHash implements android.os.Parcelable {
23139    ctor public DisplayHash(long, @NonNull android.graphics.Rect, @NonNull String, @NonNull byte[], @NonNull byte[]);
23140    method public int describeContents();
23141    method @NonNull public android.graphics.Rect getBoundsInWindow();
23142    method @NonNull public String getHashAlgorithm();
23143    method @NonNull public byte[] getHmac();
23144    method @NonNull public byte[] getImageHash();
23145    method public long getTimeMillis();
23146    method public void writeToParcel(@NonNull android.os.Parcel, int);
23147  }
23148
23149}
23150
23151package android.view.inputmethod {
23152
23153  public final class InputMethodManager {
23154    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public android.view.inputmethod.InputMethodInfo getCurrentInputMethodInfoAsUser(@NonNull android.os.UserHandle);
23155  }
23156
23157}
23158
23159package android.view.translation {
23160
23161  public final class TranslationCapability implements android.os.Parcelable {
23162    ctor public TranslationCapability(int, @NonNull android.view.translation.TranslationSpec, @NonNull android.view.translation.TranslationSpec, boolean, int);
23163  }
23164
23165  public final class TranslationContext implements android.os.Parcelable {
23166    method @Nullable public android.app.assist.ActivityId getActivityId();
23167  }
23168
23169  public final class UiTranslationManager {
23170    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void finishTranslation(@NonNull android.app.assist.ActivityId);
23171    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void pauseTranslation(@NonNull android.app.assist.ActivityId);
23172    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void resumeTranslation(@NonNull android.app.assist.ActivityId);
23173    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);
23174  }
23175
23176  public final class UiTranslationSpec implements android.os.Parcelable {
23177    method public int describeContents();
23178    method public boolean shouldPadContentForCompat();
23179    method public void writeToParcel(@NonNull android.os.Parcel, int);
23180    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.UiTranslationSpec> CREATOR;
23181  }
23182
23183  public static final class UiTranslationSpec.Builder {
23184    ctor public UiTranslationSpec.Builder();
23185    method @NonNull public android.view.translation.UiTranslationSpec build();
23186    method @NonNull public android.view.translation.UiTranslationSpec.Builder setShouldPadContentForCompat(boolean);
23187  }
23188
23189}
23190
23191package android.webkit {
23192
23193  public abstract class CookieManager {
23194    method protected abstract boolean allowFileSchemeCookiesImpl();
23195    method public abstract String getCookie(String, boolean);
23196    method public String getCookie(android.net.WebAddress);
23197    method public abstract boolean hasCookies(boolean);
23198    method protected abstract void setAcceptFileSchemeCookiesImpl(boolean);
23199  }
23200
23201  public class FindActionModeCallback implements android.view.ActionMode.Callback android.text.TextWatcher android.view.View.OnClickListener android.webkit.WebView.FindListener {
23202    ctor public FindActionModeCallback(android.content.Context);
23203    method public void afterTextChanged(android.text.Editable);
23204    method public void beforeTextChanged(CharSequence, int, int, int);
23205    method public void findAll();
23206    method public void finish();
23207    method public int getActionModeGlobalBottom();
23208    method public boolean onActionItemClicked(android.view.ActionMode, android.view.MenuItem);
23209    method public void onClick(android.view.View);
23210    method public boolean onCreateActionMode(android.view.ActionMode, android.view.Menu);
23211    method public void onDestroyActionMode(android.view.ActionMode);
23212    method public void onFindResultReceived(int, int, boolean);
23213    method public boolean onPrepareActionMode(android.view.ActionMode, android.view.Menu);
23214    method public void onTextChanged(CharSequence, int, int, int);
23215    method public void setText(String);
23216    method public void setWebView(@NonNull android.webkit.WebView);
23217    method public void showSoftInput();
23218    method public void updateMatchCount(int, int, boolean);
23219  }
23220
23221  public static class FindActionModeCallback.NoAction implements android.view.ActionMode.Callback {
23222    ctor public FindActionModeCallback.NoAction();
23223    method public boolean onActionItemClicked(android.view.ActionMode, android.view.MenuItem);
23224    method public boolean onCreateActionMode(android.view.ActionMode, android.view.Menu);
23225    method public void onDestroyActionMode(android.view.ActionMode);
23226    method public boolean onPrepareActionMode(android.view.ActionMode, android.view.Menu);
23227  }
23228
23229  public class GeolocationPermissions {
23230    ctor public GeolocationPermissions();
23231  }
23232
23233  public class HttpAuthHandler extends android.os.Handler {
23234    ctor public HttpAuthHandler();
23235  }
23236
23237  public class JsDialogHelper {
23238    ctor public JsDialogHelper(android.webkit.JsPromptResult, int, String, String, String);
23239    ctor public JsDialogHelper(android.webkit.JsPromptResult, android.os.Message);
23240    method public boolean invokeCallback(android.webkit.WebChromeClient, android.webkit.WebView);
23241    method public void showDialog(android.content.Context);
23242    field public static final int ALERT = 1; // 0x1
23243    field public static final int CONFIRM = 2; // 0x2
23244    field public static final int PROMPT = 3; // 0x3
23245    field public static final int UNLOAD = 4; // 0x4
23246  }
23247
23248  public class JsPromptResult extends android.webkit.JsResult {
23249    ctor public JsPromptResult(android.webkit.JsResult.ResultReceiver);
23250    method public String getStringResult();
23251  }
23252
23253  public class JsResult {
23254    ctor public JsResult(android.webkit.JsResult.ResultReceiver);
23255    method public final boolean getResult();
23256  }
23257
23258  public static interface JsResult.ResultReceiver {
23259    method public void onJsResultComplete(android.webkit.JsResult);
23260  }
23261
23262  public interface PacProcessor {
23263    method @NonNull public static android.webkit.PacProcessor createInstance();
23264    method @Nullable public String findProxyForUrl(@NonNull String);
23265    method @NonNull public static android.webkit.PacProcessor getInstance();
23266    method @Nullable public default android.net.Network getNetwork();
23267    method public default void release();
23268    method public default void setNetwork(@Nullable android.net.Network);
23269    method public boolean setProxyScript(@NonNull String);
23270  }
23271
23272  public class SslErrorHandler extends android.os.Handler {
23273    ctor public SslErrorHandler();
23274  }
23275
23276  @Deprecated public abstract class TokenBindingService {
23277    ctor @Deprecated public TokenBindingService();
23278  }
23279
23280  public class WebChromeClient {
23281    method @Deprecated public void openFileChooser(android.webkit.ValueCallback<android.net.Uri>, String, String);
23282  }
23283
23284  public abstract class WebHistoryItem implements java.lang.Cloneable {
23285    method @Deprecated public abstract int getId();
23286  }
23287
23288  @Deprecated public abstract class WebIconDatabase {
23289    method @Deprecated public abstract void bulkRequestIconForPageUrl(android.content.ContentResolver, String, android.webkit.WebIconDatabase.IconListener);
23290  }
23291
23292  public abstract class WebMessagePort {
23293    ctor public WebMessagePort();
23294  }
23295
23296  public abstract class WebResourceError {
23297    ctor public WebResourceError();
23298  }
23299
23300  public class WebResourceResponse {
23301    ctor public WebResourceResponse(boolean, String, String, int, String, java.util.Map<java.lang.String,java.lang.String>, java.io.InputStream);
23302  }
23303
23304  public abstract class WebSettings {
23305    method public abstract boolean getAcceptThirdPartyCookies();
23306    method @Deprecated public abstract boolean getNavDump();
23307    method @Deprecated public abstract boolean getPluginsEnabled();
23308    method @Deprecated public abstract boolean getUseWebViewBackgroundForOverscrollBackground();
23309    method @Deprecated public abstract int getUserAgent();
23310    method public abstract boolean getVideoOverlayForEmbeddedEncryptedVideoEnabled();
23311    method public abstract void setAcceptThirdPartyCookies(boolean);
23312    method @Deprecated public abstract void setNavDump(boolean);
23313    method @Deprecated public abstract void setPluginsEnabled(boolean);
23314    method @Deprecated public abstract void setUseWebViewBackgroundForOverscrollBackground(boolean);
23315    method @Deprecated public abstract void setUserAgent(int);
23316    method public abstract void setVideoOverlayForEmbeddedEncryptedVideoEnabled(boolean);
23317    field public static final long ENABLE_SIMPLIFIED_DARK_MODE = 214741472L; // 0xcccb1e0L
23318  }
23319
23320  public class WebStorage {
23321    ctor public WebStorage();
23322  }
23323
23324  public static class WebStorage.Origin {
23325    ctor protected WebStorage.Origin(String, long, long);
23326  }
23327
23328  public class WebView extends android.widget.AbsoluteLayout implements android.view.ViewGroup.OnHierarchyChangeListener android.view.ViewTreeObserver.OnGlobalFocusChangeListener {
23329    method public android.webkit.WebViewProvider getWebViewProvider();
23330  }
23331
23332  public static class WebView.HitTestResult {
23333    ctor public WebView.HitTestResult();
23334    method public void setExtra(String);
23335    method public void setType(int);
23336  }
23337
23338  public class WebView.PrivateAccess {
23339    ctor public WebView.PrivateAccess();
23340    method public void awakenScrollBars(int);
23341    method public void awakenScrollBars(int, boolean);
23342    method public float getHorizontalScrollFactor();
23343    method public int getHorizontalScrollbarHeight();
23344    method public float getVerticalScrollFactor();
23345    method public void onScrollChanged(int, int, int, int);
23346    method public void overScrollBy(int, int, int, int, int, int, int, int, boolean);
23347    method public void setMeasuredDimension(int, int);
23348    method public void setScrollXRaw(int);
23349    method public void setScrollYRaw(int);
23350    method public void super_computeScroll();
23351    method public boolean super_dispatchKeyEvent(android.view.KeyEvent);
23352    method public int super_getScrollBarStyle();
23353    method @Nullable public android.view.WindowInsets super_onApplyWindowInsets(@Nullable android.view.WindowInsets);
23354    method public void super_onDrawVerticalScrollBar(android.graphics.Canvas, android.graphics.drawable.Drawable, int, int, int, int);
23355    method public boolean super_onGenericMotionEvent(android.view.MotionEvent);
23356    method public boolean super_onHoverEvent(android.view.MotionEvent);
23357    method public boolean super_performAccessibilityAction(int, android.os.Bundle);
23358    method public boolean super_performLongClick();
23359    method public boolean super_requestFocus(int, android.graphics.Rect);
23360    method public void super_scrollTo(int, int);
23361    method public boolean super_setFrame(int, int, int, int);
23362    method public void super_setLayoutParams(android.view.ViewGroup.LayoutParams);
23363    method public void super_startActivityForResult(android.content.Intent, int);
23364  }
23365
23366  public final class WebViewDelegate {
23367    method public void addWebViewAssetPath(android.content.Context);
23368    method @Deprecated public void callDrawGlFunction(android.graphics.Canvas, long);
23369    method @Deprecated public void callDrawGlFunction(@NonNull android.graphics.Canvas, long, @Nullable Runnable);
23370    method @Deprecated public boolean canInvokeDrawGlFunctor(android.view.View);
23371    method @Deprecated public void detachDrawGlFunctor(android.view.View, long);
23372    method public void drawWebViewFunctor(@NonNull android.graphics.Canvas, int);
23373    method public android.app.Application getApplication();
23374    method public String getDataDirectorySuffix();
23375    method public String getErrorString(android.content.Context, int);
23376    method public int getPackageId(android.content.res.Resources, String);
23377    method @NonNull public android.webkit.WebViewFactory.StartupTimestamps getStartupTimestamps();
23378    method @Deprecated public void invokeDrawGlFunctor(android.view.View, long, boolean);
23379    method public boolean isMultiProcessEnabled();
23380    method public boolean isTraceTagEnabled();
23381    method public void setOnTraceEnabledChangeListener(android.webkit.WebViewDelegate.OnTraceEnabledChangeListener);
23382  }
23383
23384  public static interface WebViewDelegate.OnTraceEnabledChangeListener {
23385    method public void onTraceEnabledChange(boolean);
23386  }
23387
23388  public final class WebViewFactory {
23389    ctor public WebViewFactory();
23390    method public static android.content.pm.PackageInfo getLoadedPackageInfo();
23391    method public static int loadWebViewNativeLibraryFromPackage(String, ClassLoader);
23392    method public static void prepareWebViewInZygote();
23393    field public static final int LIBLOAD_ADDRESS_SPACE_NOT_RESERVED = 2; // 0x2
23394    field public static final int LIBLOAD_FAILED_JNI_CALL = 7; // 0x7
23395    field public static final int LIBLOAD_FAILED_LISTING_WEBVIEW_PACKAGES = 4; // 0x4
23396    field public static final int LIBLOAD_FAILED_TO_FIND_NAMESPACE = 10; // 0xa
23397    field public static final int LIBLOAD_FAILED_TO_LOAD_LIBRARY = 6; // 0x6
23398    field public static final int LIBLOAD_FAILED_TO_OPEN_RELRO_FILE = 5; // 0x5
23399    field public static final int LIBLOAD_FAILED_WAITING_FOR_RELRO = 3; // 0x3
23400    field public static final int LIBLOAD_FAILED_WAITING_FOR_WEBVIEW_REASON_UNKNOWN = 8; // 0x8
23401    field public static final int LIBLOAD_SUCCESS = 0; // 0x0
23402    field public static final int LIBLOAD_WRONG_PACKAGE_NAME = 1; // 0x1
23403  }
23404
23405  public static class WebViewFactory.StartupTimestamps {
23406    method public long getAddAssetsEnd();
23407    method public long getAddAssetsStart();
23408    method public long getCreateContextEnd();
23409    method public long getCreateContextStart();
23410    method public long getGetClassLoaderEnd();
23411    method public long getGetClassLoaderStart();
23412    method public long getNativeLoadEnd();
23413    method public long getNativeLoadStart();
23414    method public long getProviderClassForNameEnd();
23415    method public long getProviderClassForNameStart();
23416    method public long getWebViewLoadStart();
23417  }
23418
23419  public interface WebViewFactoryProvider {
23420    method @NonNull public default android.webkit.PacProcessor createPacProcessor();
23421    method public android.webkit.WebViewProvider createWebView(android.webkit.WebView, android.webkit.WebView.PrivateAccess);
23422    method public android.webkit.CookieManager getCookieManager();
23423    method public android.webkit.GeolocationPermissions getGeolocationPermissions();
23424    method @NonNull public default android.webkit.PacProcessor getPacProcessor();
23425    method public android.webkit.ServiceWorkerController getServiceWorkerController();
23426    method public android.webkit.WebViewFactoryProvider.Statics getStatics();
23427    method @Deprecated public android.webkit.TokenBindingService getTokenBindingService();
23428    method public android.webkit.TracingController getTracingController();
23429    method public android.webkit.WebIconDatabase getWebIconDatabase();
23430    method public android.webkit.WebStorage getWebStorage();
23431    method public ClassLoader getWebViewClassLoader();
23432    method public android.webkit.WebViewDatabase getWebViewDatabase(android.content.Context);
23433  }
23434
23435  public static interface WebViewFactoryProvider.Statics {
23436    method public void clearClientCertPreferences(Runnable);
23437    method public void enableSlowWholeDocumentDraw();
23438    method public String findAddress(String);
23439    method public void freeMemoryForTests();
23440    method public String getDefaultUserAgent(android.content.Context);
23441    method @NonNull public android.net.Uri getSafeBrowsingPrivacyPolicyUrl();
23442    method public void initSafeBrowsing(android.content.Context, android.webkit.ValueCallback<java.lang.Boolean>);
23443    method public android.net.Uri[] parseFileChooserResult(int, android.content.Intent);
23444    method public void setSafeBrowsingWhitelist(java.util.List<java.lang.String>, android.webkit.ValueCallback<java.lang.Boolean>);
23445    method public void setWebContentsDebuggingEnabled(boolean);
23446  }
23447
23448  public interface WebViewProvider {
23449    method public void addJavascriptInterface(Object, String);
23450    method public boolean canGoBack();
23451    method public boolean canGoBackOrForward(int);
23452    method public boolean canGoForward();
23453    method public boolean canZoomIn();
23454    method public boolean canZoomOut();
23455    method public android.graphics.Picture capturePicture();
23456    method public void clearCache(boolean);
23457    method public void clearFormData();
23458    method public void clearHistory();
23459    method public void clearMatches();
23460    method public void clearSslPreferences();
23461    method public void clearView();
23462    method public android.webkit.WebBackForwardList copyBackForwardList();
23463    method public android.print.PrintDocumentAdapter createPrintDocumentAdapter(String);
23464    method public android.webkit.WebMessagePort[] createWebMessageChannel();
23465    method public void destroy();
23466    method public void documentHasImages(android.os.Message);
23467    method public void dumpViewHierarchyWithProperties(java.io.BufferedWriter, int);
23468    method public void evaluateJavaScript(String, android.webkit.ValueCallback<java.lang.String>);
23469    method public int findAll(String);
23470    method public void findAllAsync(String);
23471    method public android.view.View findHierarchyView(String, int);
23472    method public void findNext(boolean);
23473    method public void flingScroll(int, int);
23474    method public void freeMemory();
23475    method public android.net.http.SslCertificate getCertificate();
23476    method public int getContentHeight();
23477    method public int getContentWidth();
23478    method public android.graphics.Bitmap getFavicon();
23479    method public android.webkit.WebView.HitTestResult getHitTestResult();
23480    method public String[] getHttpAuthUsernamePassword(String, String);
23481    method public String getOriginalUrl();
23482    method public int getProgress();
23483    method public boolean getRendererPriorityWaivedWhenNotVisible();
23484    method public int getRendererRequestedPriority();
23485    method public float getScale();
23486    method public android.webkit.WebViewProvider.ScrollDelegate getScrollDelegate();
23487    method public android.webkit.WebSettings getSettings();
23488    method @NonNull public default android.view.textclassifier.TextClassifier getTextClassifier();
23489    method public String getTitle();
23490    method public String getTouchIconUrl();
23491    method public String getUrl();
23492    method public android.webkit.WebViewProvider.ViewDelegate getViewDelegate();
23493    method public int getVisibleTitleHeight();
23494    method public android.webkit.WebChromeClient getWebChromeClient();
23495    method public android.webkit.WebViewClient getWebViewClient();
23496    method @Nullable public android.webkit.WebViewRenderProcess getWebViewRenderProcess();
23497    method @Nullable public android.webkit.WebViewRenderProcessClient getWebViewRenderProcessClient();
23498    method public android.view.View getZoomControls();
23499    method public void goBack();
23500    method public void goBackOrForward(int);
23501    method public void goForward();
23502    method public void init(java.util.Map<java.lang.String,java.lang.Object>, boolean);
23503    method public void insertVisualStateCallback(long, android.webkit.WebView.VisualStateCallback);
23504    method public void invokeZoomPicker();
23505    method public boolean isPaused();
23506    method public boolean isPrivateBrowsingEnabled();
23507    method public void loadData(String, String, String);
23508    method public void loadDataWithBaseURL(String, String, String, String, String);
23509    method public void loadUrl(String, java.util.Map<java.lang.String,java.lang.String>);
23510    method public void loadUrl(String);
23511    method public void notifyFindDialogDismissed();
23512    method public void onPause();
23513    method public void onResume();
23514    method public boolean overlayHorizontalScrollbar();
23515    method public boolean overlayVerticalScrollbar();
23516    method public boolean pageDown(boolean);
23517    method public boolean pageUp(boolean);
23518    method public void pauseTimers();
23519    method public void postMessageToMainFrame(android.webkit.WebMessage, android.net.Uri);
23520    method public void postUrl(String, byte[]);
23521    method public void reload();
23522    method public void removeJavascriptInterface(String);
23523    method public void requestFocusNodeHref(android.os.Message);
23524    method public void requestImageRef(android.os.Message);
23525    method public boolean restorePicture(android.os.Bundle, java.io.File);
23526    method public android.webkit.WebBackForwardList restoreState(android.os.Bundle);
23527    method public void resumeTimers();
23528    method public void savePassword(String, String, String);
23529    method public boolean savePicture(android.os.Bundle, java.io.File);
23530    method public android.webkit.WebBackForwardList saveState(android.os.Bundle);
23531    method public void saveWebArchive(String);
23532    method public void saveWebArchive(String, boolean, android.webkit.ValueCallback<java.lang.String>);
23533    method public void setCertificate(android.net.http.SslCertificate);
23534    method public void setDownloadListener(android.webkit.DownloadListener);
23535    method public void setFindListener(android.webkit.WebView.FindListener);
23536    method public void setHorizontalScrollbarOverlay(boolean);
23537    method public void setHttpAuthUsernamePassword(String, String, String, String);
23538    method public void setInitialScale(int);
23539    method public void setMapTrackballToArrowKeys(boolean);
23540    method public void setNetworkAvailable(boolean);
23541    method public void setPictureListener(android.webkit.WebView.PictureListener);
23542    method public void setRendererPriorityPolicy(int, boolean);
23543    method public default void setTextClassifier(@Nullable android.view.textclassifier.TextClassifier);
23544    method public void setVerticalScrollbarOverlay(boolean);
23545    method public void setWebChromeClient(android.webkit.WebChromeClient);
23546    method public void setWebViewClient(android.webkit.WebViewClient);
23547    method public void setWebViewRenderProcessClient(@Nullable java.util.concurrent.Executor, @Nullable android.webkit.WebViewRenderProcessClient);
23548    method public boolean showFindDialog(String, boolean);
23549    method public void stopLoading();
23550    method public boolean zoomBy(float);
23551    method public boolean zoomIn();
23552    method public boolean zoomOut();
23553  }
23554
23555  public static interface WebViewProvider.ScrollDelegate {
23556    method public int computeHorizontalScrollOffset();
23557    method public int computeHorizontalScrollRange();
23558    method public void computeScroll();
23559    method public int computeVerticalScrollExtent();
23560    method public int computeVerticalScrollOffset();
23561    method public int computeVerticalScrollRange();
23562  }
23563
23564  public static interface WebViewProvider.ViewDelegate {
23565    method public default void autofill(android.util.SparseArray<android.view.autofill.AutofillValue>);
23566    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>);
23567    method public boolean dispatchKeyEvent(android.view.KeyEvent);
23568    method public android.view.View findFocus(android.view.View);
23569    method public android.view.accessibility.AccessibilityNodeProvider getAccessibilityNodeProvider();
23570    method public android.os.Handler getHandler(android.os.Handler);
23571    method public default boolean isVisibleToUserForAutofill(int);
23572    method public void onActivityResult(int, int, android.content.Intent);
23573    method @Nullable public default android.view.WindowInsets onApplyWindowInsets(@Nullable android.view.WindowInsets);
23574    method public void onAttachedToWindow();
23575    method public default boolean onCheckIsTextEditor();
23576    method public void onConfigurationChanged(android.content.res.Configuration);
23577    method public android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo);
23578    method public default void onCreateVirtualViewTranslationRequests(@NonNull long[], @NonNull int[], @NonNull java.util.function.Consumer<android.view.translation.ViewTranslationRequest>);
23579    method public void onDetachedFromWindow();
23580    method public boolean onDragEvent(android.view.DragEvent);
23581    method public void onDraw(android.graphics.Canvas);
23582    method public void onDrawVerticalScrollBar(android.graphics.Canvas, android.graphics.drawable.Drawable, int, int, int, int);
23583    method public void onFinishTemporaryDetach();
23584    method public void onFocusChanged(boolean, int, android.graphics.Rect);
23585    method public boolean onGenericMotionEvent(android.view.MotionEvent);
23586    method public boolean onHoverEvent(android.view.MotionEvent);
23587    method public void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
23588    method public void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo);
23589    method public boolean onKeyDown(int, android.view.KeyEvent);
23590    method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
23591    method public boolean onKeyUp(int, android.view.KeyEvent);
23592    method public void onMeasure(int, int);
23593    method public default void onMovedToDisplay(int, android.content.res.Configuration);
23594    method public void onOverScrolled(int, int, boolean, boolean);
23595    method public default void onProvideAutofillVirtualStructure(android.view.ViewStructure, int);
23596    method public default void onProvideContentCaptureStructure(@NonNull android.view.ViewStructure, int);
23597    method public void onProvideVirtualStructure(android.view.ViewStructure);
23598    method public void onScrollChanged(int, int, int, int);
23599    method public void onSizeChanged(int, int, int, int);
23600    method public void onStartTemporaryDetach();
23601    method public boolean onTouchEvent(android.view.MotionEvent);
23602    method public boolean onTrackballEvent(android.view.MotionEvent);
23603    method public default void onVirtualViewTranslationResponses(@NonNull android.util.LongSparseArray<android.view.translation.ViewTranslationResponse>);
23604    method public void onVisibilityChanged(android.view.View, int);
23605    method public void onWindowFocusChanged(boolean);
23606    method public void onWindowVisibilityChanged(int);
23607    method public boolean performAccessibilityAction(int, android.os.Bundle);
23608    method public boolean performLongClick();
23609    method public void preDispatchDraw(android.graphics.Canvas);
23610    method public boolean requestChildRectangleOnScreen(android.view.View, android.graphics.Rect, boolean);
23611    method public boolean requestFocus(int, android.graphics.Rect);
23612    method public void setBackgroundColor(int);
23613    method public boolean setFrame(int, int, int, int);
23614    method public void setLayerType(int, android.graphics.Paint);
23615    method public void setLayoutParams(android.view.ViewGroup.LayoutParams);
23616    method public void setOverScrollMode(int);
23617    method public void setScrollBarStyle(int);
23618    method public boolean shouldDelayChildPressedState();
23619  }
23620
23621  public final class WebViewProviderInfo implements android.os.Parcelable {
23622    ctor public WebViewProviderInfo(String, String, boolean, boolean, String[]);
23623    method public int describeContents();
23624    method public void writeToParcel(android.os.Parcel, int);
23625    field @NonNull public static final android.os.Parcelable.Creator<android.webkit.WebViewProviderInfo> CREATOR;
23626    field public final boolean availableByDefault;
23627    field public final String description;
23628    field public final boolean isFallback;
23629    field public final String packageName;
23630    field public final android.content.pm.Signature[] signatures;
23631  }
23632
23633  public final class WebViewUpdateService {
23634    method public static android.webkit.WebViewProviderInfo[] getAllWebViewPackages();
23635    method public static String getCurrentWebViewPackageName();
23636    method public static android.webkit.WebViewProviderInfo[] getValidWebViewPackages();
23637  }
23638
23639}
23640
23641package android.window {
23642
23643  public abstract class TaskFpsCallback {
23644    ctor public TaskFpsCallback();
23645    method public abstract void onFpsReported(float);
23646  }
23647
23648}
23649
23650