xref: /aosp_15_r20/prebuilts/sdk/33/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_CELL_BROADCAST_SERVICE = "android.permission.BIND_CELL_BROADCAST_SERVICE";
50    field @Deprecated public static final String BIND_CONNECTION_SERVICE = "android.permission.BIND_CONNECTION_SERVICE";
51    field public static final String BIND_CONTENT_CAPTURE_SERVICE = "android.permission.BIND_CONTENT_CAPTURE_SERVICE";
52    field public static final String BIND_CONTENT_SUGGESTIONS_SERVICE = "android.permission.BIND_CONTENT_SUGGESTIONS_SERVICE";
53    field public static final String BIND_DIRECTORY_SEARCH = "android.permission.BIND_DIRECTORY_SEARCH";
54    field public static final String BIND_DISPLAY_HASHING_SERVICE = "android.permission.BIND_DISPLAY_HASHING_SERVICE";
55    field public static final String BIND_DOMAIN_VERIFICATION_AGENT = "android.permission.BIND_DOMAIN_VERIFICATION_AGENT";
56    field public static final String BIND_EUICC_SERVICE = "android.permission.BIND_EUICC_SERVICE";
57    field public static final String BIND_EXTERNAL_STORAGE_SERVICE = "android.permission.BIND_EXTERNAL_STORAGE_SERVICE";
58    field public static final String BIND_GBA_SERVICE = "android.permission.BIND_GBA_SERVICE";
59    field public static final String BIND_HOTWORD_DETECTION_SERVICE = "android.permission.BIND_HOTWORD_DETECTION_SERVICE";
60    field public static final String BIND_IMS_SERVICE = "android.permission.BIND_IMS_SERVICE";
61    field public static final String BIND_KEYGUARD_APPWIDGET = "android.permission.BIND_KEYGUARD_APPWIDGET";
62    field public static final String BIND_MUSIC_RECOGNITION_SERVICE = "android.permission.BIND_MUSIC_RECOGNITION_SERVICE";
63    field public static final String BIND_NETWORK_RECOMMENDATION_SERVICE = "android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE";
64    field public static final String BIND_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.BIND_NOTIFICATION_ASSISTANT_SERVICE";
65    field public static final String BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE = "android.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE";
66    field public static final String BIND_PRINT_RECOMMENDATION_SERVICE = "android.permission.BIND_PRINT_RECOMMENDATION_SERVICE";
67    field public static final String BIND_RESOLVER_RANKER_SERVICE = "android.permission.BIND_RESOLVER_RANKER_SERVICE";
68    field public static final String BIND_RESUME_ON_REBOOT_SERVICE = "android.permission.BIND_RESUME_ON_REBOOT_SERVICE";
69    field public static final String BIND_ROTATION_RESOLVER_SERVICE = "android.permission.BIND_ROTATION_RESOLVER_SERVICE";
70    field public static final String BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE = "android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE";
71    field public static final String BIND_SETTINGS_SUGGESTIONS_SERVICE = "android.permission.BIND_SETTINGS_SUGGESTIONS_SERVICE";
72    field public static final String BIND_SOUND_TRIGGER_DETECTION_SERVICE = "android.permission.BIND_SOUND_TRIGGER_DETECTION_SERVICE";
73    field public static final String BIND_TELEPHONY_DATA_SERVICE = "android.permission.BIND_TELEPHONY_DATA_SERVICE";
74    field public static final String BIND_TELEPHONY_NETWORK_SERVICE = "android.permission.BIND_TELEPHONY_NETWORK_SERVICE";
75    field public static final String BIND_TEXTCLASSIFIER_SERVICE = "android.permission.BIND_TEXTCLASSIFIER_SERVICE";
76    field public static final String BIND_TIME_ZONE_PROVIDER_SERVICE = "android.permission.BIND_TIME_ZONE_PROVIDER_SERVICE";
77    field public static final String BIND_TRACE_REPORT_SERVICE = "android.permission.BIND_TRACE_REPORT_SERVICE";
78    field public static final String BIND_TRANSLATION_SERVICE = "android.permission.BIND_TRANSLATION_SERVICE";
79    field public static final String BIND_TRUST_AGENT = "android.permission.BIND_TRUST_AGENT";
80    field public static final String BIND_TV_REMOTE_SERVICE = "android.permission.BIND_TV_REMOTE_SERVICE";
81    field public static final String BIND_WALLPAPER_EFFECTS_GENERATION_SERVICE = "android.permission.BIND_WALLPAPER_EFFECTS_GENERATION_SERVICE";
82    field public static final String BLUETOOTH_MAP = "android.permission.BLUETOOTH_MAP";
83    field public static final String BRICK = "android.permission.BRICK";
84    field public static final String BRIGHTNESS_SLIDER_USAGE = "android.permission.BRIGHTNESS_SLIDER_USAGE";
85    field public static final String BROADCAST_CLOSE_SYSTEM_DIALOGS = "android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS";
86    field @Deprecated public static final String BROADCAST_NETWORK_PRIVILEGED = "android.permission.BROADCAST_NETWORK_PRIVILEGED";
87    field public static final String BYPASS_ROLE_QUALIFICATION = "android.permission.BYPASS_ROLE_QUALIFICATION";
88    field public static final String CALL_AUDIO_INTERCEPTION = "android.permission.CALL_AUDIO_INTERCEPTION";
89    field public static final String CAMERA_DISABLE_TRANSMIT_LED = "android.permission.CAMERA_DISABLE_TRANSMIT_LED";
90    field public static final String CAMERA_OPEN_CLOSE_LISTENER = "android.permission.CAMERA_OPEN_CLOSE_LISTENER";
91    field public static final String CAPTURE_AUDIO_HOTWORD = "android.permission.CAPTURE_AUDIO_HOTWORD";
92    field public static final String CAPTURE_MEDIA_OUTPUT = "android.permission.CAPTURE_MEDIA_OUTPUT";
93    field public static final String CAPTURE_TUNER_AUDIO_INPUT = "android.permission.CAPTURE_TUNER_AUDIO_INPUT";
94    field public static final String CAPTURE_TV_INPUT = "android.permission.CAPTURE_TV_INPUT";
95    field public static final String CAPTURE_VOICE_COMMUNICATION_OUTPUT = "android.permission.CAPTURE_VOICE_COMMUNICATION_OUTPUT";
96    field public static final String CHANGE_APP_IDLE_STATE = "android.permission.CHANGE_APP_IDLE_STATE";
97    field public static final String CHANGE_APP_LAUNCH_TIME_ESTIMATE = "android.permission.CHANGE_APP_LAUNCH_TIME_ESTIMATE";
98    field public static final String CHANGE_DEVICE_IDLE_TEMP_WHITELIST = "android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST";
99    field public static final String CLEAR_APP_USER_DATA = "android.permission.CLEAR_APP_USER_DATA";
100    field public static final String COMPANION_APPROVE_WIFI_CONNECTIONS = "android.permission.COMPANION_APPROVE_WIFI_CONNECTIONS";
101    field public static final String CONFIGURE_DISPLAY_BRIGHTNESS = "android.permission.CONFIGURE_DISPLAY_BRIGHTNESS";
102    field public static final String CONFIGURE_INTERACT_ACROSS_PROFILES = "android.permission.CONFIGURE_INTERACT_ACROSS_PROFILES";
103    field public static final String CONFIGURE_WIFI_DISPLAY = "android.permission.CONFIGURE_WIFI_DISPLAY";
104    field @Deprecated public static final String CONNECTIVITY_INTERNAL = "android.permission.CONNECTIVITY_INTERNAL";
105    field public static final String CONNECTIVITY_USE_RESTRICTED_NETWORKS = "android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS";
106    field public static final String CONTROL_DEVICE_LIGHTS = "android.permission.CONTROL_DEVICE_LIGHTS";
107    field public static final String CONTROL_DISPLAY_COLOR_TRANSFORMS = "android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS";
108    field public static final String CONTROL_DISPLAY_SATURATION = "android.permission.CONTROL_DISPLAY_SATURATION";
109    field public static final String CONTROL_INCALL_EXPERIENCE = "android.permission.CONTROL_INCALL_EXPERIENCE";
110    field public static final String CONTROL_KEYGUARD_SECURE_NOTIFICATIONS = "android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS";
111    field public static final String CONTROL_OEM_PAID_NETWORK_PREFERENCE = "android.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE";
112    field public static final String CONTROL_VPN = "android.permission.CONTROL_VPN";
113    field public static final String CREATE_USERS = "android.permission.CREATE_USERS";
114    field public static final String CREATE_VIRTUAL_DEVICE = "android.permission.CREATE_VIRTUAL_DEVICE";
115    field public static final String CRYPT_KEEPER = "android.permission.CRYPT_KEEPER";
116    field public static final String DEVICE_POWER = "android.permission.DEVICE_POWER";
117    field public static final String DISABLE_SYSTEM_SOUND_EFFECTS = "android.permission.DISABLE_SYSTEM_SOUND_EFFECTS";
118    field public static final String DISPATCH_PROVISIONING_MESSAGE = "android.permission.DISPATCH_PROVISIONING_MESSAGE";
119    field public static final String DOMAIN_VERIFICATION_AGENT = "android.permission.DOMAIN_VERIFICATION_AGENT";
120    field public static final String ENTER_CAR_MODE_PRIORITIZED = "android.permission.ENTER_CAR_MODE_PRIORITIZED";
121    field public static final String EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS = "android.permission.EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS";
122    field public static final String FORCE_BACK = "android.permission.FORCE_BACK";
123    field public static final String FORCE_STOP_PACKAGES = "android.permission.FORCE_STOP_PACKAGES";
124    field public static final String GET_APP_OPS_STATS = "android.permission.GET_APP_OPS_STATS";
125    field public static final String GET_HISTORICAL_APP_OPS_STATS = "android.permission.GET_HISTORICAL_APP_OPS_STATS";
126    field public static final String GET_PROCESS_STATE_AND_OOM_SCORE = "android.permission.GET_PROCESS_STATE_AND_OOM_SCORE";
127    field public static final String GET_RUNTIME_PERMISSIONS = "android.permission.GET_RUNTIME_PERMISSIONS";
128    field public static final String GET_TOP_ACTIVITY_INFO = "android.permission.GET_TOP_ACTIVITY_INFO";
129    field @Deprecated public static final String GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS = "android.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS";
130    field public static final String GRANT_RUNTIME_PERMISSIONS = "android.permission.GRANT_RUNTIME_PERMISSIONS";
131    field public static final String GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS = "android.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS";
132    field public static final String HANDLE_CAR_MODE_CHANGES = "android.permission.HANDLE_CAR_MODE_CHANGES";
133    field public static final String HARDWARE_TEST = "android.permission.HARDWARE_TEST";
134    field public static final String HDMI_CEC = "android.permission.HDMI_CEC";
135    field @Deprecated public static final String HIDE_NON_SYSTEM_OVERLAY_WINDOWS = "android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS";
136    field public static final String INJECT_EVENTS = "android.permission.INJECT_EVENTS";
137    field public static final String INSTALL_DPC_PACKAGES = "android.permission.INSTALL_DPC_PACKAGES";
138    field public static final String INSTALL_DYNAMIC_SYSTEM = "android.permission.INSTALL_DYNAMIC_SYSTEM";
139    field public static final String INSTALL_EXISTING_PACKAGES = "com.android.permission.INSTALL_EXISTING_PACKAGES";
140    field public static final String INSTALL_GRANT_RUNTIME_PERMISSIONS = "android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS";
141    field public static final String INSTALL_LOCATION_TIME_ZONE_PROVIDER_SERVICE = "android.permission.INSTALL_LOCATION_TIME_ZONE_PROVIDER_SERVICE";
142    field public static final String INSTALL_PACKAGE_UPDATES = "android.permission.INSTALL_PACKAGE_UPDATES";
143    field public static final String INSTALL_SELF_UPDATES = "android.permission.INSTALL_SELF_UPDATES";
144    field public static final String INTENT_FILTER_VERIFICATION_AGENT = "android.permission.INTENT_FILTER_VERIFICATION_AGENT";
145    field public static final String INTERACT_ACROSS_USERS = "android.permission.INTERACT_ACROSS_USERS";
146    field public static final String INTERACT_ACROSS_USERS_FULL = "android.permission.INTERACT_ACROSS_USERS_FULL";
147    field public static final String INTERNAL_SYSTEM_WINDOW = "android.permission.INTERNAL_SYSTEM_WINDOW";
148    field public static final String INVOKE_CARRIER_SETUP = "android.permission.INVOKE_CARRIER_SETUP";
149    field public static final String KILL_UID = "android.permission.KILL_UID";
150    field public static final String LAUNCH_DEVICE_MANAGER_SETUP = "android.permission.LAUNCH_DEVICE_MANAGER_SETUP";
151    field public static final String LOCAL_MAC_ADDRESS = "android.permission.LOCAL_MAC_ADDRESS";
152    field public static final String LOCATION_BYPASS = "android.permission.LOCATION_BYPASS";
153    field public static final String LOCK_DEVICE = "android.permission.LOCK_DEVICE";
154    field public static final String LOOP_RADIO = "android.permission.LOOP_RADIO";
155    field public static final String MANAGE_ACCESSIBILITY = "android.permission.MANAGE_ACCESSIBILITY";
156    field @Deprecated public static final String MANAGE_ACTIVITY_STACKS = "android.permission.MANAGE_ACTIVITY_STACKS";
157    field public static final String MANAGE_ACTIVITY_TASKS = "android.permission.MANAGE_ACTIVITY_TASKS";
158    field public static final String MANAGE_APP_HIBERNATION = "android.permission.MANAGE_APP_HIBERNATION";
159    field public static final String MANAGE_APP_OPS_RESTRICTIONS = "android.permission.MANAGE_APP_OPS_RESTRICTIONS";
160    field public static final String MANAGE_APP_PREDICTIONS = "android.permission.MANAGE_APP_PREDICTIONS";
161    field public static final String MANAGE_APP_TOKENS = "android.permission.MANAGE_APP_TOKENS";
162    field public static final String MANAGE_AUTO_FILL = "android.permission.MANAGE_AUTO_FILL";
163    field public static final String MANAGE_BLUETOOTH_WHEN_WIRELESS_CONSENT_REQUIRED = "android.permission.MANAGE_BLUETOOTH_WHEN_WIRELESS_CONSENT_REQUIRED";
164    field public static final String MANAGE_CARRIER_OEM_UNLOCK_STATE = "android.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE";
165    field public static final String MANAGE_CA_CERTIFICATES = "android.permission.MANAGE_CA_CERTIFICATES";
166    field public static final String MANAGE_CLOUDSEARCH = "android.permission.MANAGE_CLOUDSEARCH";
167    field public static final String MANAGE_CONTENT_CAPTURE = "android.permission.MANAGE_CONTENT_CAPTURE";
168    field public static final String MANAGE_CONTENT_SUGGESTIONS = "android.permission.MANAGE_CONTENT_SUGGESTIONS";
169    field public static final String MANAGE_DEBUGGING = "android.permission.MANAGE_DEBUGGING";
170    field public static final String MANAGE_DEVICE_ADMINS = "android.permission.MANAGE_DEVICE_ADMINS";
171    field public static final String MANAGE_ETHERNET_NETWORKS = "android.permission.MANAGE_ETHERNET_NETWORKS";
172    field public static final String MANAGE_FACTORY_RESET_PROTECTION = "android.permission.MANAGE_FACTORY_RESET_PROTECTION";
173    field public static final String MANAGE_GAME_ACTIVITY = "android.permission.MANAGE_GAME_ACTIVITY";
174    field public static final String MANAGE_GAME_MODE = "android.permission.MANAGE_GAME_MODE";
175    field public static final String MANAGE_HOTWORD_DETECTION = "android.permission.MANAGE_HOTWORD_DETECTION";
176    field public static final String MANAGE_IPSEC_TUNNELS = "android.permission.MANAGE_IPSEC_TUNNELS";
177    field public static final String MANAGE_LOW_POWER_STANDBY = "android.permission.MANAGE_LOW_POWER_STANDBY";
178    field public static final String MANAGE_MUSIC_RECOGNITION = "android.permission.MANAGE_MUSIC_RECOGNITION";
179    field public static final String MANAGE_NOTIFICATION_LISTENERS = "android.permission.MANAGE_NOTIFICATION_LISTENERS";
180    field public static final String MANAGE_ONE_TIME_PERMISSION_SESSIONS = "android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS";
181    field public static final String MANAGE_PROFILE_AND_DEVICE_OWNERS = "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS";
182    field public static final String MANAGE_ROLE_HOLDERS = "android.permission.MANAGE_ROLE_HOLDERS";
183    field public static final String MANAGE_ROLLBACKS = "android.permission.MANAGE_ROLLBACKS";
184    field public static final String MANAGE_ROTATION_RESOLVER = "android.permission.MANAGE_ROTATION_RESOLVER";
185    field public static final String MANAGE_SAFETY_CENTER = "android.permission.MANAGE_SAFETY_CENTER";
186    field public static final String MANAGE_SEARCH_UI = "android.permission.MANAGE_SEARCH_UI";
187    field public static final String MANAGE_SENSOR_PRIVACY = "android.permission.MANAGE_SENSOR_PRIVACY";
188    field public static final String MANAGE_SMARTSPACE = "android.permission.MANAGE_SMARTSPACE";
189    field public static final String MANAGE_SOUND_TRIGGER = "android.permission.MANAGE_SOUND_TRIGGER";
190    field public static final String MANAGE_SPEECH_RECOGNITION = "android.permission.MANAGE_SPEECH_RECOGNITION";
191    field public static final String MANAGE_SUBSCRIPTION_PLANS = "android.permission.MANAGE_SUBSCRIPTION_PLANS";
192    field public static final String MANAGE_TEST_NETWORKS = "android.permission.MANAGE_TEST_NETWORKS";
193    field public static final String MANAGE_TIME_AND_ZONE_DETECTION = "android.permission.MANAGE_TIME_AND_ZONE_DETECTION";
194    field public static final String MANAGE_UI_TRANSLATION = "android.permission.MANAGE_UI_TRANSLATION";
195    field public static final String MANAGE_USB = "android.permission.MANAGE_USB";
196    field public static final String MANAGE_USERS = "android.permission.MANAGE_USERS";
197    field public static final String MANAGE_USER_OEM_UNLOCK_STATE = "android.permission.MANAGE_USER_OEM_UNLOCK_STATE";
198    field public static final String MANAGE_WALLPAPER_EFFECTS_GENERATION = "android.permission.MANAGE_WALLPAPER_EFFECTS_GENERATION";
199    field public static final String MANAGE_WEAK_ESCROW_TOKEN = "android.permission.MANAGE_WEAK_ESCROW_TOKEN";
200    field public static final String MANAGE_WIFI_COUNTRY_CODE = "android.permission.MANAGE_WIFI_COUNTRY_CODE";
201    field public static final String MARK_DEVICE_ORGANIZATION_OWNED = "android.permission.MARK_DEVICE_ORGANIZATION_OWNED";
202    field public static final String MODIFY_APPWIDGET_BIND_PERMISSIONS = "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS";
203    field public static final String MODIFY_AUDIO_ROUTING = "android.permission.MODIFY_AUDIO_ROUTING";
204    field public static final String MODIFY_CELL_BROADCASTS = "android.permission.MODIFY_CELL_BROADCASTS";
205    field public static final String MODIFY_DAY_NIGHT_MODE = "android.permission.MODIFY_DAY_NIGHT_MODE";
206    field @Deprecated public static final String MODIFY_NETWORK_ACCOUNTING = "android.permission.MODIFY_NETWORK_ACCOUNTING";
207    field public static final String MODIFY_PARENTAL_CONTROLS = "android.permission.MODIFY_PARENTAL_CONTROLS";
208    field public static final String MODIFY_QUIET_MODE = "android.permission.MODIFY_QUIET_MODE";
209    field public static final String MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE = "android.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE";
210    field public static final String MOVE_PACKAGE = "android.permission.MOVE_PACKAGE";
211    field public static final String NETWORK_AIRPLANE_MODE = "android.permission.NETWORK_AIRPLANE_MODE";
212    field public static final String NETWORK_CARRIER_PROVISIONING = "android.permission.NETWORK_CARRIER_PROVISIONING";
213    field public static final String NETWORK_FACTORY = "android.permission.NETWORK_FACTORY";
214    field public static final String NETWORK_MANAGED_PROVISIONING = "android.permission.NETWORK_MANAGED_PROVISIONING";
215    field public static final String NETWORK_SCAN = "android.permission.NETWORK_SCAN";
216    field public static final String NETWORK_SETTINGS = "android.permission.NETWORK_SETTINGS";
217    field public static final String NETWORK_SETUP_WIZARD = "android.permission.NETWORK_SETUP_WIZARD";
218    field public static final String NETWORK_SIGNAL_STRENGTH_WAKEUP = "android.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP";
219    field public static final String NETWORK_STACK = "android.permission.NETWORK_STACK";
220    field public static final String NETWORK_STATS_PROVIDER = "android.permission.NETWORK_STATS_PROVIDER";
221    field public static final String NFC_SET_CONTROLLER_ALWAYS_ON = "android.permission.NFC_SET_CONTROLLER_ALWAYS_ON";
222    field public static final String NOTIFICATION_DURING_SETUP = "android.permission.NOTIFICATION_DURING_SETUP";
223    field public static final String NOTIFY_TV_INPUTS = "android.permission.NOTIFY_TV_INPUTS";
224    field public static final String OBSERVE_APP_USAGE = "android.permission.OBSERVE_APP_USAGE";
225    field public static final String OBSERVE_NETWORK_POLICY = "android.permission.OBSERVE_NETWORK_POLICY";
226    field public static final String OBSERVE_ROLE_HOLDERS = "android.permission.OBSERVE_ROLE_HOLDERS";
227    field public static final String OBSERVE_SENSOR_PRIVACY = "android.permission.OBSERVE_SENSOR_PRIVACY";
228    field public static final String OPEN_ACCESSIBILITY_DETAILS_SETTINGS = "android.permission.OPEN_ACCESSIBILITY_DETAILS_SETTINGS";
229    field public static final String OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD = "android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD";
230    field public static final String PACKAGE_VERIFICATION_AGENT = "android.permission.PACKAGE_VERIFICATION_AGENT";
231    field public static final String PACKET_KEEPALIVE_OFFLOAD = "android.permission.PACKET_KEEPALIVE_OFFLOAD";
232    field public static final String PEERS_MAC_ADDRESS = "android.permission.PEERS_MAC_ADDRESS";
233    field public static final String PERFORM_CDMA_PROVISIONING = "android.permission.PERFORM_CDMA_PROVISIONING";
234    field public static final String PERFORM_IMS_SINGLE_REGISTRATION = "android.permission.PERFORM_IMS_SINGLE_REGISTRATION";
235    field public static final String PERFORM_SIM_ACTIVATION = "android.permission.PERFORM_SIM_ACTIVATION";
236    field public static final String POWER_SAVER = "android.permission.POWER_SAVER";
237    field public static final String PROVIDE_RESOLVER_RANKER_SERVICE = "android.permission.PROVIDE_RESOLVER_RANKER_SERVICE";
238    field public static final String PROVIDE_TRUST_AGENT = "android.permission.PROVIDE_TRUST_AGENT";
239    field public static final String PROVISION_DEMO_DEVICE = "android.permission.PROVISION_DEMO_DEVICE";
240    field public static final String QUERY_ADMIN_POLICY = "android.permission.QUERY_ADMIN_POLICY";
241    field public static final String QUERY_TIME_ZONE_RULES = "android.permission.QUERY_TIME_ZONE_RULES";
242    field public static final String QUERY_USERS = "android.permission.QUERY_USERS";
243    field public static final String RADIO_SCAN_WITHOUT_LOCATION = "android.permission.RADIO_SCAN_WITHOUT_LOCATION";
244    field public static final String READ_ACTIVE_EMERGENCY_SESSION = "android.permission.READ_ACTIVE_EMERGENCY_SESSION";
245    field public static final String READ_APP_SPECIFIC_LOCALES = "android.permission.READ_APP_SPECIFIC_LOCALES";
246    field public static final String READ_CARRIER_APP_INFO = "android.permission.READ_CARRIER_APP_INFO";
247    field public static final String READ_CELL_BROADCASTS = "android.permission.READ_CELL_BROADCASTS";
248    field public static final String READ_CLIPBOARD_IN_BACKGROUND = "android.permission.READ_CLIPBOARD_IN_BACKGROUND";
249    field public static final String READ_CONTENT_RATING_SYSTEMS = "android.permission.READ_CONTENT_RATING_SYSTEMS";
250    field public static final String READ_DEVICE_CONFIG = "android.permission.READ_DEVICE_CONFIG";
251    field public static final String READ_DREAM_STATE = "android.permission.READ_DREAM_STATE";
252    field public static final String READ_GLOBAL_APP_SEARCH_DATA = "android.permission.READ_GLOBAL_APP_SEARCH_DATA";
253    field public static final String READ_INSTALL_SESSIONS = "android.permission.READ_INSTALL_SESSIONS";
254    field public static final String READ_NETWORK_USAGE_HISTORY = "android.permission.READ_NETWORK_USAGE_HISTORY";
255    field public static final String READ_OEM_UNLOCK_STATE = "android.permission.READ_OEM_UNLOCK_STATE";
256    field public static final String READ_PEOPLE_DATA = "android.permission.READ_PEOPLE_DATA";
257    field public static final String READ_PRINT_SERVICES = "android.permission.READ_PRINT_SERVICES";
258    field public static final String READ_PRINT_SERVICE_RECOMMENDATIONS = "android.permission.READ_PRINT_SERVICE_RECOMMENDATIONS";
259    field public static final String READ_PRIVILEGED_PHONE_STATE = "android.permission.READ_PRIVILEGED_PHONE_STATE";
260    field public static final String READ_PROJECTION_STATE = "android.permission.READ_PROJECTION_STATE";
261    field public static final String READ_RUNTIME_PROFILES = "android.permission.READ_RUNTIME_PROFILES";
262    field public static final String READ_SAFETY_CENTER_STATUS = "android.permission.READ_SAFETY_CENTER_STATUS";
263    field public static final String READ_SEARCH_INDEXABLES = "android.permission.READ_SEARCH_INDEXABLES";
264    field public static final String READ_SYSTEM_UPDATE_INFO = "android.permission.READ_SYSTEM_UPDATE_INFO";
265    field public static final String READ_WALLPAPER_INTERNAL = "android.permission.READ_WALLPAPER_INTERNAL";
266    field public static final String READ_WIFI_CREDENTIAL = "android.permission.READ_WIFI_CREDENTIAL";
267    field public static final String REAL_GET_TASKS = "android.permission.REAL_GET_TASKS";
268    field public static final String RECEIVE_BLUETOOTH_MAP = "android.permission.RECEIVE_BLUETOOTH_MAP";
269    field public static final String RECEIVE_DATA_ACTIVITY_CHANGE = "android.permission.RECEIVE_DATA_ACTIVITY_CHANGE";
270    field public static final String RECEIVE_DEVICE_CUSTOMIZATION_READY = "android.permission.RECEIVE_DEVICE_CUSTOMIZATION_READY";
271    field public static final String RECEIVE_EMERGENCY_BROADCAST = "android.permission.RECEIVE_EMERGENCY_BROADCAST";
272    field public static final String RECEIVE_WIFI_CREDENTIAL_CHANGE = "android.permission.RECEIVE_WIFI_CREDENTIAL_CHANGE";
273    field public static final String RECORD_BACKGROUND_AUDIO = "android.permission.RECORD_BACKGROUND_AUDIO";
274    field public static final String RECOVERY = "android.permission.RECOVERY";
275    field public static final String RECOVER_KEYSTORE = "android.permission.RECOVER_KEYSTORE";
276    field public static final String REGISTER_CALL_PROVIDER = "android.permission.REGISTER_CALL_PROVIDER";
277    field public static final String REGISTER_CONNECTION_MANAGER = "android.permission.REGISTER_CONNECTION_MANAGER";
278    field public static final String REGISTER_SIM_SUBSCRIPTION = "android.permission.REGISTER_SIM_SUBSCRIPTION";
279    field public static final String REGISTER_STATS_PULL_ATOM = "android.permission.REGISTER_STATS_PULL_ATOM";
280    field public static final String REMOTE_DISPLAY_PROVIDER = "android.permission.REMOTE_DISPLAY_PROVIDER";
281    field public static final String REMOVE_DRM_CERTIFICATES = "android.permission.REMOVE_DRM_CERTIFICATES";
282    field public static final String REMOVE_TASKS = "android.permission.REMOVE_TASKS";
283    field public static final String RENOUNCE_PERMISSIONS = "android.permission.RENOUNCE_PERMISSIONS";
284    field @Deprecated public static final String REQUEST_NETWORK_SCORES = "android.permission.REQUEST_NETWORK_SCORES";
285    field public static final String REQUEST_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE";
286    field public static final String RESET_PASSWORD = "android.permission.RESET_PASSWORD";
287    field public static final String RESTART_WIFI_SUBSYSTEM = "android.permission.RESTART_WIFI_SUBSYSTEM";
288    field public static final String RESTORE_RUNTIME_PERMISSIONS = "android.permission.RESTORE_RUNTIME_PERMISSIONS";
289    field public static final String RESTRICTED_VR_ACCESS = "android.permission.RESTRICTED_VR_ACCESS";
290    field public static final String RETRIEVE_WINDOW_CONTENT = "android.permission.RETRIEVE_WINDOW_CONTENT";
291    field public static final String REVIEW_ACCESSIBILITY_SERVICES = "android.permission.REVIEW_ACCESSIBILITY_SERVICES";
292    field public static final String REVOKE_RUNTIME_PERMISSIONS = "android.permission.REVOKE_RUNTIME_PERMISSIONS";
293    field public static final String ROTATE_SURFACE_FLINGER = "android.permission.ROTATE_SURFACE_FLINGER";
294    field public static final String SCHEDULE_PRIORITIZED_ALARM = "android.permission.SCHEDULE_PRIORITIZED_ALARM";
295    field @Deprecated public static final String SCORE_NETWORKS = "android.permission.SCORE_NETWORKS";
296    field public static final String SECURE_ELEMENT_PRIVILEGED_OPERATION = "android.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION";
297    field public static final String SEND_CATEGORY_CAR_NOTIFICATIONS = "android.permission.SEND_CATEGORY_CAR_NOTIFICATIONS";
298    field public static final String SEND_DEVICE_CUSTOMIZATION_READY = "android.permission.SEND_DEVICE_CUSTOMIZATION_READY";
299    field public static final String SEND_SAFETY_CENTER_UPDATE = "android.permission.SEND_SAFETY_CENTER_UPDATE";
300    field public static final String SEND_SHOW_SUSPENDED_APP_DETAILS = "android.permission.SEND_SHOW_SUSPENDED_APP_DETAILS";
301    field public static final String SEND_SMS_NO_CONFIRMATION = "android.permission.SEND_SMS_NO_CONFIRMATION";
302    field public static final String SERIAL_PORT = "android.permission.SERIAL_PORT";
303    field public static final String SET_ACTIVITY_WATCHER = "android.permission.SET_ACTIVITY_WATCHER";
304    field public static final String SET_CLIP_SOURCE = "android.permission.SET_CLIP_SOURCE";
305    field public static final String SET_DEFAULT_ACCOUNT_FOR_CONTACTS = "android.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS";
306    field public static final String SET_HARMFUL_APP_WARNINGS = "android.permission.SET_HARMFUL_APP_WARNINGS";
307    field public static final String SET_MEDIA_KEY_LISTENER = "android.permission.SET_MEDIA_KEY_LISTENER";
308    field public static final String SET_ORIENTATION = "android.permission.SET_ORIENTATION";
309    field public static final String SET_POINTER_SPEED = "android.permission.SET_POINTER_SPEED";
310    field public static final String SET_SCREEN_COMPATIBILITY = "android.permission.SET_SCREEN_COMPATIBILITY";
311    field public static final String SET_SYSTEM_AUDIO_CAPTION = "android.permission.SET_SYSTEM_AUDIO_CAPTION";
312    field public static final String SET_UNRESTRICTED_KEEP_CLEAR_AREAS = "android.permission.SET_UNRESTRICTED_KEEP_CLEAR_AREAS";
313    field public static final String SET_VOLUME_KEY_LONG_PRESS_LISTENER = "android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER";
314    field public static final String SET_WALLPAPER_COMPONENT = "android.permission.SET_WALLPAPER_COMPONENT";
315    field public static final String SET_WALLPAPER_DIM_AMOUNT = "android.permission.SET_WALLPAPER_DIM_AMOUNT";
316    field public static final String SHOW_KEYGUARD_MESSAGE = "android.permission.SHOW_KEYGUARD_MESSAGE";
317    field public static final String SHUTDOWN = "android.permission.SHUTDOWN";
318    field public static final String SIGNAL_REBOOT_READINESS = "android.permission.SIGNAL_REBOOT_READINESS";
319    field public static final String SOUND_TRIGGER_RUN_IN_BATTERY_SAVER = "android.permission.SOUND_TRIGGER_RUN_IN_BATTERY_SAVER";
320    field public static final String START_ACTIVITIES_FROM_BACKGROUND = "android.permission.START_ACTIVITIES_FROM_BACKGROUND";
321    field public static final String START_CROSS_PROFILE_ACTIVITIES = "android.permission.START_CROSS_PROFILE_ACTIVITIES";
322    field public static final String START_REVIEW_PERMISSION_DECISIONS = "android.permission.START_REVIEW_PERMISSION_DECISIONS";
323    field public static final String STATUS_BAR_SERVICE = "android.permission.STATUS_BAR_SERVICE";
324    field public static final String STOP_APP_SWITCHES = "android.permission.STOP_APP_SWITCHES";
325    field public static final String SUBSTITUTE_NOTIFICATION_APP_NAME = "android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME";
326    field public static final String SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON = "android.permission.SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON";
327    field public static final String SUGGEST_EXTERNAL_TIME = "android.permission.SUGGEST_EXTERNAL_TIME";
328    field public static final String SUSPEND_APPS = "android.permission.SUSPEND_APPS";
329    field public static final String SYSTEM_APPLICATION_OVERLAY = "android.permission.SYSTEM_APPLICATION_OVERLAY";
330    field public static final String SYSTEM_CAMERA = "android.permission.SYSTEM_CAMERA";
331    field public static final String TETHER_PRIVILEGED = "android.permission.TETHER_PRIVILEGED";
332    field public static final String TIS_EXTENSION_INTERFACE = "android.permission.TIS_EXTENSION_INTERFACE";
333    field public static final String TOGGLE_AUTOMOTIVE_PROJECTION = "android.permission.TOGGLE_AUTOMOTIVE_PROJECTION";
334    field public static final String TRIGGER_LOST_MODE = "android.permission.TRIGGER_LOST_MODE";
335    field public static final String TV_INPUT_HARDWARE = "android.permission.TV_INPUT_HARDWARE";
336    field public static final String TV_VIRTUAL_REMOTE_CONTROLLER = "android.permission.TV_VIRTUAL_REMOTE_CONTROLLER";
337    field public static final String UNLIMITED_SHORTCUTS_API_CALLS = "android.permission.UNLIMITED_SHORTCUTS_API_CALLS";
338    field public static final String UPDATE_APP_OPS_STATS = "android.permission.UPDATE_APP_OPS_STATS";
339    field public static final String UPDATE_DEVICE_MANAGEMENT_RESOURCES = "android.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES";
340    field public static final String UPDATE_DOMAIN_VERIFICATION_USER_SELECTION = "android.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION";
341    field public static final String UPDATE_FONTS = "android.permission.UPDATE_FONTS";
342    field public static final String UPDATE_LOCK = "android.permission.UPDATE_LOCK";
343    field public static final String UPDATE_TIME_ZONE_RULES = "android.permission.UPDATE_TIME_ZONE_RULES";
344    field public static final String UPGRADE_RUNTIME_PERMISSIONS = "android.permission.UPGRADE_RUNTIME_PERMISSIONS";
345    field public static final String USER_ACTIVITY = "android.permission.USER_ACTIVITY";
346    field public static final String USE_COLORIZED_NOTIFICATIONS = "android.permission.USE_COLORIZED_NOTIFICATIONS";
347    field public static final String USE_RESERVED_DISK = "android.permission.USE_RESERVED_DISK";
348    field public static final String UWB_PRIVILEGED = "android.permission.UWB_PRIVILEGED";
349    field public static final String WHITELIST_AUTO_REVOKE_PERMISSIONS = "android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS";
350    field public static final String WHITELIST_RESTRICTED_PERMISSIONS = "android.permission.WHITELIST_RESTRICTED_PERMISSIONS";
351    field public static final String WIFI_ACCESS_COEX_UNSAFE_CHANNELS = "android.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS";
352    field public static final String WIFI_SET_DEVICE_MOBILITY_STATE = "android.permission.WIFI_SET_DEVICE_MOBILITY_STATE";
353    field public static final String WIFI_UPDATE_COEX_UNSAFE_CHANNELS = "android.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS";
354    field public static final String WIFI_UPDATE_USABILITY_STATS_SCORE = "android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE";
355    field public static final String WRITE_DEVICE_CONFIG = "android.permission.WRITE_DEVICE_CONFIG";
356    field public static final String WRITE_DREAM_STATE = "android.permission.WRITE_DREAM_STATE";
357    field public static final String WRITE_EMBEDDED_SUBSCRIPTIONS = "android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS";
358    field @Deprecated public static final String WRITE_MEDIA_STORAGE = "android.permission.WRITE_MEDIA_STORAGE";
359    field public static final String WRITE_OBB = "android.permission.WRITE_OBB";
360    field public static final String WRITE_SECURITY_LOG = "android.permission.WRITE_SECURITY_LOG";
361    field public static final String WRITE_SMS = "android.permission.WRITE_SMS";
362  }
363
364  public static final class Manifest.permission_group {
365    field public static final String UNDEFINED = "android.permission-group.UNDEFINED";
366  }
367
368  public static final class R.array {
369    field public static final int config_keySystemUuidMapping = 17235973; // 0x1070005
370    field public static final int config_optionalIpSecAlgorithms = 17235974; // 0x1070006
371  }
372
373  public static final class R.attr {
374    field public static final int allowClearUserDataOnFailedRestore = 16844288; // 0x1010600
375    field public static final int gameSessionService = 16844373; // 0x1010655
376    field public static final int hotwordDetectionService = 16844326; // 0x1010626
377    field public static final int isVrOnly = 16844152; // 0x1010578
378    field public static final int minExtensionVersion = 16844305; // 0x1010611
379    field public static final int playHomeTransitionSound = 16844358; // 0x1010646
380    field public static final int requiredSystemPropertyName = 16844133; // 0x1010565
381    field public static final int requiredSystemPropertyValue = 16844134; // 0x1010566
382    field public static final int sdkVersion = 16844304; // 0x1010610
383    field public static final int supportsAmbientMode = 16844173; // 0x101058d
384    field public static final int userRestriction = 16844164; // 0x1010584
385  }
386
387  public static final class R.bool {
388    field public static final int config_enableQrCodeScannerOnLockScreen = 17891336; // 0x1110008
389    field public static final int config_sendPackageName = 17891328; // 0x1110000
390    field public static final int config_showDefaultAssistant = 17891329; // 0x1110001
391    field public static final int config_showDefaultEmergency = 17891330; // 0x1110002
392    field public static final int config_showDefaultHome = 17891331; // 0x1110003
393  }
394
395  public static final class R.color {
396    field public static final int system_notification_accent_color = 17170460; // 0x106001c
397  }
398
399  public static final class R.dimen {
400    field public static final int config_restrictedIconSize = 17104903; // 0x1050007
401  }
402
403  public static final class R.drawable {
404    field public static final int ic_info = 17301684; // 0x10800b4
405    field public static final int ic_safety_protection = 17301685; // 0x10800b5
406  }
407
408  public static final class R.raw {
409    field public static final int loaderror = 17825792; // 0x1100000
410    field public static final int nodomain = 17825793; // 0x1100001
411  }
412
413  public static final class R.string {
414    field public static final int config_customMediaKeyDispatcher = 17039404; // 0x104002c
415    field public static final int config_customMediaSessionPolicyProvider = 17039405; // 0x104002d
416    field public static final int config_defaultAssistant = 17039393; // 0x1040021
417    field public static final int config_defaultAutomotiveNavigation = 17039424; // 0x1040040
418    field public static final int config_defaultBrowser = 17039394; // 0x1040022
419    field public static final int config_defaultCallRedirection = 17039397; // 0x1040025
420    field public static final int config_defaultCallScreening = 17039398; // 0x1040026
421    field public static final int config_defaultDialer = 17039395; // 0x1040023
422    field public static final int config_defaultSms = 17039396; // 0x1040024
423    field public static final int config_devicePolicyManagement = 17039421; // 0x104003d
424    field public static final int config_feedbackIntentExtraKey = 17039391; // 0x104001f
425    field public static final int config_feedbackIntentNameKey = 17039392; // 0x1040020
426    field public static final int config_helpIntentExtraKey = 17039389; // 0x104001d
427    field public static final int config_helpIntentNameKey = 17039390; // 0x104001e
428    field public static final int config_helpPackageNameKey = 17039387; // 0x104001b
429    field public static final int config_helpPackageNameValue = 17039388; // 0x104001c
430    field public static final int config_systemActivityRecognizer = 17039416; // 0x1040038
431    field public static final int config_systemAmbientAudioIntelligence = 17039411; // 0x1040033
432    field public static final int config_systemAppProtectionService = 17039422; // 0x104003e
433    field public static final int config_systemAudioIntelligence = 17039412; // 0x1040034
434    field public static final int config_systemAutomotiveCalendarSyncManager = 17039423; // 0x104003f
435    field public static final int config_systemAutomotiveCluster = 17039400; // 0x1040028
436    field public static final int config_systemAutomotiveProjection = 17039401; // 0x1040029
437    field public static final int config_systemCompanionDeviceProvider = 17039417; // 0x1040039
438    field public static final int config_systemContacts = 17039403; // 0x104002b
439    field public static final int config_systemGallery = 17039399; // 0x1040027
440    field public static final int config_systemNotificationIntelligence = 17039413; // 0x1040035
441    field public static final int config_systemSettingsIntelligence = 17039426; // 0x1040042
442    field public static final int config_systemShell = 17039402; // 0x104002a
443    field public static final int config_systemSpeechRecognizer = 17039406; // 0x104002e
444    field public static final int config_systemSupervision = 17039420; // 0x104003c
445    field public static final int config_systemTelevisionNotificationHandler = 17039409; // 0x1040031
446    field public static final int config_systemTextIntelligence = 17039414; // 0x1040036
447    field public static final int config_systemUi = 17039418; // 0x104003a
448    field public static final int config_systemUiIntelligence = 17039410; // 0x1040032
449    field public static final int config_systemVisualIntelligence = 17039415; // 0x1040037
450    field public static final int config_systemWellbeing = 17039408; // 0x1040030
451    field public static final int config_systemWifiCoexManager = 17039407; // 0x104002f
452    field public static final int safety_protection_display_text = 17039425; // 0x1040041
453  }
454
455  public static final class R.style {
456    field public static final int Theme_DeviceDefault_DocumentsUI = 16974562; // 0x10302e2
457    field public static final int Theme_Leanback_FormWizard = 16974544; // 0x10302d0
458  }
459
460}
461
462package android.accounts {
463
464  public class AccountManager {
465    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);
466  }
467
468}
469
470package android.app {
471
472  @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 {
473    method public void convertFromTranslucent();
474    method public boolean convertToTranslucent(android.app.Activity.TranslucentConversionListener, android.app.ActivityOptions);
475    method @Deprecated public boolean isBackgroundVisibleBehind();
476    method @Deprecated public void onBackgroundVisibleBehindChanged(boolean);
477    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);
478    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);
479    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);
480  }
481
482  public static interface Activity.TranslucentConversionListener {
483    method public void onTranslucentConversionComplete(boolean);
484  }
485
486  public class ActivityManager {
487    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void addOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener, int);
488    method @RequiresPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) public void forceStopPackage(String);
489    method @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL"}) public static int getCurrentUser();
490    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getPackageImportance(String);
491    method @NonNull public java.util.Collection<java.util.Locale> getSupportedLocales();
492    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getUidImportance(int);
493    method @RequiresPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) public void killProcessesWhenImperceptible(@NonNull int[], @NonNull String);
494    method @RequiresPermission(android.Manifest.permission.KILL_UID) public void killUid(int, String);
495    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void removeOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener);
496    method public void setDeviceLocales(@NonNull android.os.LocaleList);
497    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public static void setPersistentVrThread(int);
498    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public boolean startProfile(@NonNull android.os.UserHandle);
499    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public boolean stopProfile(@NonNull android.os.UserHandle);
500    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean switchUser(@NonNull android.os.UserHandle);
501  }
502
503  public static interface ActivityManager.OnUidImportanceListener {
504    method public void onUidImportance(int, int);
505  }
506
507  public class ActivityOptions {
508    method public int getLaunchTaskId();
509    method @RequiresPermission("android.permission.START_TASKS_FROM_RECENTS") public void setLaunchTaskId(int);
510  }
511
512  public class AlarmManager {
513    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void set(int, long, long, long, android.app.PendingIntent, android.os.WorkSource);
514    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void set(int, long, long, long, android.app.AlarmManager.OnAlarmListener, android.os.Handler, android.os.WorkSource);
515    method @RequiresPermission(allOf={android.Manifest.permission.UPDATE_DEVICE_STATS, android.Manifest.permission.SCHEDULE_EXACT_ALARM}, conditional=true) public void setExact(int, long, @Nullable String, @NonNull java.util.concurrent.Executor, @NonNull android.os.WorkSource, @NonNull android.app.AlarmManager.OnAlarmListener);
516    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);
517  }
518
519  public class AppOpsManager {
520    method @Nullable @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public android.app.RuntimeAppOpAccessMessage collectRuntimeAppOpAccessMessage();
521    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>);
522    method public static String[] getOpStrs();
523    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...);
524    method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getPackagesForOps(@Nullable String[]);
525    method public static int opToDefaultMode(@NonNull String);
526    method @Nullable public static String opToPermission(@NonNull String);
527    method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setMode(@NonNull String, int, @Nullable String, int);
528    method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setUidMode(@NonNull String, int, int);
529    field public static final int HISTORY_FLAGS_ALL = 3; // 0x3
530    field public static final int HISTORY_FLAG_AGGREGATE = 1; // 0x1
531    field public static final int HISTORY_FLAG_DISCRETE = 2; // 0x2
532    field public static final String OPSTR_ACCEPT_HANDOVER = "android:accept_handover";
533    field public static final String OPSTR_ACCESS_ACCESSIBILITY = "android:access_accessibility";
534    field public static final String OPSTR_ACCESS_NOTIFICATIONS = "android:access_notifications";
535    field public static final String OPSTR_ACTIVATE_PLATFORM_VPN = "android:activate_platform_vpn";
536    field public static final String OPSTR_ACTIVATE_VPN = "android:activate_vpn";
537    field public static final String OPSTR_ASSIST_SCREENSHOT = "android:assist_screenshot";
538    field public static final String OPSTR_ASSIST_STRUCTURE = "android:assist_structure";
539    field public static final String OPSTR_AUDIO_ACCESSIBILITY_VOLUME = "android:audio_accessibility_volume";
540    field public static final String OPSTR_AUDIO_ALARM_VOLUME = "android:audio_alarm_volume";
541    field public static final String OPSTR_AUDIO_BLUETOOTH_VOLUME = "android:audio_bluetooth_volume";
542    field public static final String OPSTR_AUDIO_MASTER_VOLUME = "android:audio_master_volume";
543    field public static final String OPSTR_AUDIO_MEDIA_VOLUME = "android:audio_media_volume";
544    field public static final String OPSTR_AUDIO_NOTIFICATION_VOLUME = "android:audio_notification_volume";
545    field public static final String OPSTR_AUDIO_RING_VOLUME = "android:audio_ring_volume";
546    field public static final String OPSTR_AUDIO_VOICE_VOLUME = "android:audio_voice_volume";
547    field public static final String OPSTR_AUTO_REVOKE_MANAGED_BY_INSTALLER = "android:auto_revoke_managed_by_installer";
548    field public static final String OPSTR_AUTO_REVOKE_PERMISSIONS_IF_UNUSED = "android:auto_revoke_permissions_if_unused";
549    field public static final String OPSTR_BIND_ACCESSIBILITY_SERVICE = "android:bind_accessibility_service";
550    field public static final String OPSTR_CHANGE_WIFI_STATE = "android:change_wifi_state";
551    field public static final String OPSTR_ESTABLISH_VPN_MANAGER = "android:establish_vpn_manager";
552    field public static final String OPSTR_ESTABLISH_VPN_SERVICE = "android:establish_vpn_service";
553    field public static final String OPSTR_GET_ACCOUNTS = "android:get_accounts";
554    field public static final String OPSTR_GPS = "android:gps";
555    field public static final String OPSTR_INSTANT_APP_START_FOREGROUND = "android:instant_app_start_foreground";
556    field public static final String OPSTR_INTERACT_ACROSS_PROFILES = "android:interact_across_profiles";
557    field public static final String OPSTR_LEGACY_STORAGE = "android:legacy_storage";
558    field public static final String OPSTR_LOADER_USAGE_STATS = "android:loader_usage_stats";
559    field public static final String OPSTR_MANAGE_EXTERNAL_STORAGE = "android:manage_external_storage";
560    field public static final String OPSTR_MANAGE_IPSEC_TUNNELS = "android:manage_ipsec_tunnels";
561    field public static final String OPSTR_MANAGE_ONGOING_CALLS = "android:manage_ongoing_calls";
562    field public static final String OPSTR_MUTE_MICROPHONE = "android:mute_microphone";
563    field public static final String OPSTR_NEIGHBORING_CELLS = "android:neighboring_cells";
564    field public static final String OPSTR_PHONE_CALL_CAMERA = "android:phone_call_camera";
565    field public static final String OPSTR_PHONE_CALL_MICROPHONE = "android:phone_call_microphone";
566    field public static final String OPSTR_PLAY_AUDIO = "android:play_audio";
567    field public static final String OPSTR_POST_NOTIFICATION = "android:post_notification";
568    field public static final String OPSTR_PROJECT_MEDIA = "android:project_media";
569    field public static final String OPSTR_READ_CLIPBOARD = "android:read_clipboard";
570    field public static final String OPSTR_READ_ICC_SMS = "android:read_icc_sms";
571    field public static final String OPSTR_READ_MEDIA_AUDIO = "android:read_media_audio";
572    field public static final String OPSTR_READ_MEDIA_IMAGES = "android:read_media_images";
573    field public static final String OPSTR_READ_MEDIA_VIDEO = "android:read_media_video";
574    field public static final String OPSTR_RECEIVE_EMERGENCY_BROADCAST = "android:receive_emergency_broadcast";
575    field public static final String OPSTR_REQUEST_DELETE_PACKAGES = "android:request_delete_packages";
576    field public static final String OPSTR_REQUEST_INSTALL_PACKAGES = "android:request_install_packages";
577    field public static final String OPSTR_RUN_ANY_IN_BACKGROUND = "android:run_any_in_background";
578    field public static final String OPSTR_RUN_IN_BACKGROUND = "android:run_in_background";
579    field public static final String OPSTR_START_FOREGROUND = "android:start_foreground";
580    field public static final String OPSTR_TAKE_AUDIO_FOCUS = "android:take_audio_focus";
581    field public static final String OPSTR_TAKE_MEDIA_BUTTONS = "android:take_media_buttons";
582    field public static final String OPSTR_TOAST_WINDOW = "android:toast_window";
583    field public static final String OPSTR_TURN_SCREEN_ON = "android:turn_screen_on";
584    field public static final String OPSTR_VIBRATE = "android:vibrate";
585    field public static final String OPSTR_WAKE_LOCK = "android:wake_lock";
586    field public static final String OPSTR_WIFI_SCAN = "android:wifi_scan";
587    field public static final String OPSTR_WRITE_CLIPBOARD = "android:write_clipboard";
588    field public static final String OPSTR_WRITE_ICC_SMS = "android:write_icc_sms";
589    field public static final String OPSTR_WRITE_MEDIA_AUDIO = "android:write_media_audio";
590    field public static final String OPSTR_WRITE_MEDIA_IMAGES = "android:write_media_images";
591    field public static final String OPSTR_WRITE_MEDIA_VIDEO = "android:write_media_video";
592    field public static final String OPSTR_WRITE_SMS = "android:write_sms";
593    field public static final String OPSTR_WRITE_WALLPAPER = "android:write_wallpaper";
594    field public static final int OP_FLAGS_ALL = 31; // 0x1f
595    field public static final int OP_FLAGS_ALL_TRUSTED = 13; // 0xd
596    field public static final int OP_FLAG_SELF = 1; // 0x1
597    field public static final int OP_FLAG_TRUSTED_PROXIED = 8; // 0x8
598    field public static final int OP_FLAG_TRUSTED_PROXY = 2; // 0x2
599    field public static final int OP_FLAG_UNTRUSTED_PROXIED = 16; // 0x10
600    field public static final int OP_FLAG_UNTRUSTED_PROXY = 4; // 0x4
601    field public static final int UID_STATE_BACKGROUND = 600; // 0x258
602    field public static final int UID_STATE_CACHED = 700; // 0x2bc
603    field public static final int UID_STATE_FOREGROUND = 500; // 0x1f4
604    field public static final int UID_STATE_FOREGROUND_SERVICE = 400; // 0x190
605    field @Deprecated public static final int UID_STATE_FOREGROUND_SERVICE_LOCATION = 300; // 0x12c
606    field public static final int UID_STATE_PERSISTENT = 100; // 0x64
607    field public static final int UID_STATE_TOP = 200; // 0xc8
608  }
609
610  public static final class AppOpsManager.AttributedHistoricalOps implements android.os.Parcelable {
611    method public int describeContents();
612    method @Nullable public android.app.AppOpsManager.HistoricalOp getOp(@NonNull String);
613    method @NonNull public android.app.AppOpsManager.HistoricalOp getOpAt(@IntRange(from=0) int);
614    method @IntRange(from=0) public int getOpCount();
615    method @Nullable public String getTag();
616    method public void writeToParcel(@NonNull android.os.Parcel, int);
617    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.AttributedHistoricalOps> CREATOR;
618  }
619
620  public static final class AppOpsManager.AttributedOpEntry implements android.os.Parcelable {
621    method public int describeContents();
622    method public long getLastAccessBackgroundTime(int);
623    method public long getLastAccessForegroundTime(int);
624    method public long getLastAccessTime(int);
625    method public long getLastAccessTime(int, int, int);
626    method public long getLastBackgroundDuration(int);
627    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastBackgroundProxyInfo(int);
628    method public long getLastDuration(int);
629    method public long getLastDuration(int, int, int);
630    method public long getLastForegroundDuration(int);
631    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastForegroundProxyInfo(int);
632    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int);
633    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int, int, int);
634    method public long getLastRejectBackgroundTime(int);
635    method public long getLastRejectForegroundTime(int);
636    method public long getLastRejectTime(int);
637    method public long getLastRejectTime(int, int, int);
638    method public boolean isRunning();
639    method public void writeToParcel(@NonNull android.os.Parcel, int);
640    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.AttributedOpEntry> CREATOR;
641  }
642
643  public static final class AppOpsManager.HistoricalOp implements android.os.Parcelable {
644    method public int describeContents();
645    method public long getAccessCount(int, int, int);
646    method public long getAccessDuration(int, int, int);
647    method public long getBackgroundAccessCount(int);
648    method public long getBackgroundAccessDuration(int);
649    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getBackgroundDiscreteAccesses(int);
650    method public long getBackgroundRejectCount(int);
651    method @NonNull public android.app.AppOpsManager.AttributedOpEntry getDiscreteAccessAt(@IntRange(from=0) int);
652    method @IntRange(from=0) public int getDiscreteAccessCount();
653    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getDiscreteAccesses(int, int, int);
654    method public long getForegroundAccessCount(int);
655    method public long getForegroundAccessDuration(int);
656    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getForegroundDiscreteAccesses(int);
657    method public long getForegroundRejectCount(int);
658    method @NonNull public String getOpName();
659    method public long getRejectCount(int, int, int);
660    method public void writeToParcel(android.os.Parcel, int);
661    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOp> CREATOR;
662  }
663
664  public static final class AppOpsManager.HistoricalOps implements android.os.Parcelable {
665    method public int describeContents();
666    method public long getBeginTimeMillis();
667    method public long getEndTimeMillis();
668    method @IntRange(from=0) public int getUidCount();
669    method @Nullable public android.app.AppOpsManager.HistoricalUidOps getUidOps(int);
670    method @NonNull public android.app.AppOpsManager.HistoricalUidOps getUidOpsAt(@IntRange(from=0) int);
671    method public void writeToParcel(android.os.Parcel, int);
672    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOps> CREATOR;
673  }
674
675  public static final class AppOpsManager.HistoricalOpsRequest {
676  }
677
678  public static final class AppOpsManager.HistoricalOpsRequest.Builder {
679    ctor public AppOpsManager.HistoricalOpsRequest.Builder(long, long);
680    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest build();
681    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setAttributionTag(@Nullable String);
682    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setFlags(int);
683    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setHistoryFlags(int);
684    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setOpNames(@Nullable java.util.List<java.lang.String>);
685    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setPackageName(@Nullable String);
686    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setUid(int);
687  }
688
689  public static final class AppOpsManager.HistoricalPackageOps implements android.os.Parcelable {
690    method public int describeContents();
691    method @Nullable public android.app.AppOpsManager.AttributedHistoricalOps getAttributedOps(@Nullable String);
692    method @NonNull public android.app.AppOpsManager.AttributedHistoricalOps getAttributedOpsAt(@IntRange(from=0) int);
693    method @IntRange(from=0) public int getAttributedOpsCount();
694    method @Nullable public android.app.AppOpsManager.HistoricalOp getOp(@NonNull String);
695    method @NonNull public android.app.AppOpsManager.HistoricalOp getOpAt(@IntRange(from=0) int);
696    method @IntRange(from=0) public int getOpCount();
697    method @NonNull public String getPackageName();
698    method public void writeToParcel(@NonNull android.os.Parcel, int);
699    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalPackageOps> CREATOR;
700  }
701
702  public static final class AppOpsManager.HistoricalUidOps implements android.os.Parcelable {
703    method public int describeContents();
704    method @IntRange(from=0) public int getPackageCount();
705    method @Nullable public android.app.AppOpsManager.HistoricalPackageOps getPackageOps(@NonNull String);
706    method @NonNull public android.app.AppOpsManager.HistoricalPackageOps getPackageOpsAt(@IntRange(from=0) int);
707    method public int getUid();
708    method public void writeToParcel(android.os.Parcel, int);
709    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalUidOps> CREATOR;
710  }
711
712  public static final class AppOpsManager.OpEntry implements android.os.Parcelable {
713    method public int describeContents();
714    method @NonNull public java.util.Map<java.lang.String,android.app.AppOpsManager.AttributedOpEntry> getAttributedOpEntries();
715    method @Deprecated public long getDuration();
716    method public long getLastAccessBackgroundTime(int);
717    method public long getLastAccessForegroundTime(int);
718    method public long getLastAccessTime(int);
719    method public long getLastAccessTime(int, int, int);
720    method public long getLastBackgroundDuration(int);
721    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastBackgroundProxyInfo(int);
722    method public long getLastDuration(int);
723    method public long getLastDuration(int, int, int);
724    method public long getLastForegroundDuration(int);
725    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastForegroundProxyInfo(int);
726    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int);
727    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int, int, int);
728    method public long getLastRejectBackgroundTime(int);
729    method public long getLastRejectForegroundTime(int);
730    method public long getLastRejectTime(int);
731    method public long getLastRejectTime(int, int, int);
732    method public int getMode();
733    method @NonNull public String getOpStr();
734    method @Deprecated @Nullable public String getProxyPackageName();
735    method @Deprecated @Nullable public String getProxyPackageName(int, int);
736    method @Deprecated public int getProxyUid();
737    method @Deprecated public int getProxyUid(int, int);
738    method public boolean isRunning();
739    method public void writeToParcel(android.os.Parcel, int);
740    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEntry> CREATOR;
741  }
742
743  public static final class AppOpsManager.OpEventProxyInfo implements android.os.Parcelable {
744    method public int describeContents();
745    method @Nullable public String getAttributionTag();
746    method @Nullable public String getPackageName();
747    method @IntRange(from=0) public int getUid();
748    method public void writeToParcel(@NonNull android.os.Parcel, int);
749    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEventProxyInfo> CREATOR;
750  }
751
752  public static final class AppOpsManager.PackageOps implements android.os.Parcelable {
753    method public int describeContents();
754    method @NonNull public java.util.List<android.app.AppOpsManager.OpEntry> getOps();
755    method @NonNull public String getPackageName();
756    method public int getUid();
757    method public void writeToParcel(@NonNull android.os.Parcel, int);
758    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.PackageOps> CREATOR;
759  }
760
761  public class BroadcastOptions {
762    method public void clearRequireCompatChange();
763    method public boolean isPendingIntentBackgroundActivityLaunchAllowed();
764    method public static android.app.BroadcastOptions makeBasic();
765    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RESPONSE_STATS) public void recordResponseEventWhileInBackground(@IntRange(from=0) long);
766    method @RequiresPermission(android.Manifest.permission.START_ACTIVITIES_FROM_BACKGROUND) public void setBackgroundActivityStartsAllowed(boolean);
767    method public void setDontSendToRestrictedApps(boolean);
768    method public void setPendingIntentBackgroundActivityLaunchAllowed(boolean);
769    method public void setRequireAllOfPermissions(@Nullable String[]);
770    method public void setRequireCompatChange(long, boolean);
771    method public void setRequireNoneOfPermissions(@Nullable String[]);
772    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);
773    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);
774    method public android.os.Bundle toBundle();
775  }
776
777  public class DownloadManager {
778    method @RequiresPermission(android.Manifest.permission.WRITE_MEDIA_STORAGE) public void onMediaStoreDownloadsDeleted(@NonNull android.util.LongSparseArray<java.lang.String>);
779    field public static final String ACTION_DOWNLOAD_COMPLETED = "android.intent.action.DOWNLOAD_COMPLETED";
780  }
781
782  public final class GameManager {
783    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_GAME_MODE) public android.app.GameModeInfo getGameModeInfo(@NonNull String);
784    method @RequiresPermission(android.Manifest.permission.MANAGE_GAME_MODE) public void setGameMode(@NonNull String, int);
785  }
786
787  public final class GameModeInfo implements android.os.Parcelable {
788    ctor public GameModeInfo(int, @NonNull int[]);
789    method public int describeContents();
790    method public int getActiveGameMode();
791    method @NonNull public int[] getAvailableGameModes();
792    method public void writeToParcel(@NonNull android.os.Parcel, int);
793    field @NonNull public static final android.os.Parcelable.Creator<android.app.GameModeInfo> CREATOR;
794  }
795
796  public abstract class InstantAppResolverService extends android.app.Service {
797    ctor public InstantAppResolverService();
798    method public final void attachBaseContext(android.content.Context);
799    method public final android.os.IBinder onBind(android.content.Intent);
800    method @Deprecated public void onGetInstantAppIntentFilter(@Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
801    method @Deprecated public void onGetInstantAppIntentFilter(@NonNull android.content.Intent, @Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
802    method @Deprecated public void onGetInstantAppIntentFilter(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
803    method @MainThread public void onGetInstantAppIntentFilter(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
804    method @Deprecated public void onGetInstantAppResolveInfo(@Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
805    method @Deprecated public void onGetInstantAppResolveInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
806    method @Deprecated public void onGetInstantAppResolveInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
807    method @MainThread public void onGetInstantAppResolveInfo(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
808  }
809
810  public static final class InstantAppResolverService.InstantAppResolutionCallback {
811    method public void onInstantAppResolveInfo(java.util.List<android.content.pm.InstantAppResolveInfo>);
812  }
813
814  public class KeyguardManager {
815    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);
816    method public android.content.Intent createConfirmFactoryResetCredentialIntent(CharSequence, CharSequence, CharSequence);
817    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public int getMinLockLength(boolean, int);
818    method @RequiresPermission(android.Manifest.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS) public boolean getPrivateNotificationsAllowed();
819    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public boolean isValidLockPasswordComplexity(int, @NonNull byte[], int);
820    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public boolean isWeakEscrowTokenActive(long, @NonNull android.os.UserHandle);
821    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public boolean isWeakEscrowTokenValid(long, @NonNull byte[], @NonNull android.os.UserHandle);
822    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public boolean registerWeakEscrowTokenRemovedListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.KeyguardManager.WeakEscrowTokenRemovedListener);
823    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public boolean removeWeakEscrowToken(long, @NonNull android.os.UserHandle);
824    method @RequiresPermission(android.Manifest.permission.SHOW_KEYGUARD_MESSAGE) public void requestDismissKeyguard(@NonNull android.app.Activity, @Nullable CharSequence, @Nullable android.app.KeyguardManager.KeyguardDismissCallback);
825    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public boolean setLock(int, @NonNull byte[], int);
826    method @RequiresPermission(android.Manifest.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS) public void setPrivateNotificationsAllowed(boolean);
827    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public boolean unregisterWeakEscrowTokenRemovedListener(@NonNull android.app.KeyguardManager.WeakEscrowTokenRemovedListener);
828    field public static final int PASSWORD = 0; // 0x0
829    field public static final int PATTERN = 2; // 0x2
830    field public static final int PIN = 1; // 0x1
831  }
832
833  public static interface KeyguardManager.WeakEscrowTokenActivatedListener {
834    method public void onWeakEscrowTokenActivated(long, @NonNull android.os.UserHandle);
835  }
836
837  public static interface KeyguardManager.WeakEscrowTokenRemovedListener {
838    method public void onWeakEscrowTokenRemoved(long, @NonNull android.os.UserHandle);
839  }
840
841  public class LocaleManager {
842    method @RequiresPermission(android.Manifest.permission.CHANGE_CONFIGURATION) public void setApplicationLocales(@NonNull String, @NonNull android.os.LocaleList);
843  }
844
845  public class Notification implements android.os.Parcelable {
846    field public static final String CATEGORY_CAR_EMERGENCY = "car_emergency";
847    field public static final String CATEGORY_CAR_INFORMATION = "car_information";
848    field public static final String CATEGORY_CAR_WARNING = "car_warning";
849    field @RequiresPermission(android.Manifest.permission.NOTIFICATION_DURING_SETUP) public static final String EXTRA_ALLOW_DURING_SETUP = "android.allowDuringSetup";
850    field @RequiresPermission(android.Manifest.permission.SUBSTITUTE_NOTIFICATION_APP_NAME) public static final String EXTRA_SUBSTITUTE_APP_NAME = "android.substName";
851    field public static final int FLAG_AUTOGROUP_SUMMARY = 1024; // 0x400
852  }
853
854  public static class Notification.Action implements android.os.Parcelable {
855    field public static final int SEMANTIC_ACTION_CONVERSATION_IS_PHISHING = 12; // 0xc
856    field public static final int SEMANTIC_ACTION_MARK_CONVERSATION_AS_PRIORITY = 11; // 0xb
857  }
858
859  public static class Notification.MediaStyle extends android.app.Notification.Style {
860    method @NonNull @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public android.app.Notification.MediaStyle setRemotePlaybackInfo(@NonNull CharSequence, @DrawableRes int, @Nullable android.app.PendingIntent);
861  }
862
863  public static final class Notification.TvExtender implements android.app.Notification.Extender {
864    ctor public Notification.TvExtender();
865    ctor public Notification.TvExtender(android.app.Notification);
866    method public android.app.Notification.Builder extend(android.app.Notification.Builder);
867    method public String getChannelId();
868    method public android.app.PendingIntent getContentIntent();
869    method public android.app.PendingIntent getDeleteIntent();
870    method public boolean getSuppressShowOverApps();
871    method public boolean isAvailableOnTv();
872    method public android.app.Notification.TvExtender setChannel(String);
873    method public android.app.Notification.TvExtender setChannelId(String);
874    method public android.app.Notification.TvExtender setContentIntent(android.app.PendingIntent);
875    method public android.app.Notification.TvExtender setDeleteIntent(android.app.PendingIntent);
876    method public android.app.Notification.TvExtender setSuppressShowOverApps(boolean);
877  }
878
879  public final class NotificationChannel implements android.os.Parcelable {
880    method public int getUserLockedFields();
881    method public boolean isDeleted();
882    method public void populateFromXml(org.xmlpull.v1.XmlPullParser);
883    method public org.json.JSONObject toJson() throws org.json.JSONException;
884    method public void writeXml(org.xmlpull.v1.XmlSerializer) throws java.io.IOException;
885    field public static final int USER_LOCKED_SOUND = 32; // 0x20
886  }
887
888  public final class NotificationChannelGroup implements android.os.Parcelable {
889    method public org.json.JSONObject toJson() throws org.json.JSONException;
890  }
891
892  public class NotificationManager {
893    method @NonNull public java.util.List<java.lang.String> getAllowedAssistantAdjustments();
894    method @Nullable public android.content.ComponentName getAllowedNotificationAssistant();
895    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATION_LISTENERS) public java.util.List<android.content.ComponentName> getEnabledNotificationListeners();
896    method public boolean isNotificationAssistantAccessGranted(@NonNull android.content.ComponentName);
897    method public void setNotificationAssistantAccessGranted(@Nullable android.content.ComponentName, boolean);
898    method @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATION_LISTENERS) public void setNotificationListenerAccessGranted(@NonNull android.content.ComponentName, boolean, boolean);
899    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_CLOSE_NOTIFICATION_HANDLER_PANEL = "android.app.action.CLOSE_NOTIFICATION_HANDLER_PANEL";
900    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_OPEN_NOTIFICATION_HANDLER_PANEL = "android.app.action.OPEN_NOTIFICATION_HANDLER_PANEL";
901    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_TOGGLE_NOTIFICATION_HANDLER_PANEL = "android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL";
902  }
903
904  public final class RuntimeAppOpAccessMessage implements android.os.Parcelable {
905    ctor public RuntimeAppOpAccessMessage(@IntRange(from=0L) int, @IntRange(from=0L) int, @NonNull String, @Nullable String, @NonNull String, int);
906    method public int describeContents();
907    method @Nullable public String getAttributionTag();
908    method @NonNull public String getMessage();
909    method @NonNull public String getOp();
910    method @NonNull public String getPackageName();
911    method public int getSamplingStrategy();
912    method @IntRange(from=0L) public int getUid();
913    method public void writeToParcel(@NonNull android.os.Parcel, int);
914    field @NonNull public static final android.os.Parcelable.Creator<android.app.RuntimeAppOpAccessMessage> CREATOR;
915  }
916
917  public class SearchManager implements android.content.DialogInterface.OnCancelListener android.content.DialogInterface.OnDismissListener {
918    method public void launchAssist(@Nullable android.os.Bundle);
919  }
920
921  public final class StatsManager {
922    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void addConfig(long, byte[]) throws android.app.StatsManager.StatsUnavailableException;
923    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean addConfiguration(long, byte[]);
924    method @RequiresPermission(android.Manifest.permission.REGISTER_STATS_PULL_ATOM) public void clearPullAtomCallback(int);
925    method @Deprecated @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getData(long);
926    method @Deprecated @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getMetadata();
927    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long[] getRegisteredExperimentIds() throws android.app.StatsManager.StatsUnavailableException;
928    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getReports(long) throws android.app.StatsManager.StatsUnavailableException;
929    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getStatsMetadata() throws android.app.StatsManager.StatsUnavailableException;
930    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void removeConfig(long) throws android.app.StatsManager.StatsUnavailableException;
931    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean removeConfiguration(long);
932    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;
933    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;
934    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean setBroadcastSubscriber(long, long, android.app.PendingIntent);
935    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean setDataFetchOperation(long, android.app.PendingIntent);
936    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;
937    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);
938    field public static final String ACTION_STATSD_STARTED = "android.app.action.STATSD_STARTED";
939    field public static final String EXTRA_STATS_ACTIVE_CONFIG_KEYS = "android.app.extra.STATS_ACTIVE_CONFIG_KEYS";
940    field public static final String EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES = "android.app.extra.STATS_BROADCAST_SUBSCRIBER_COOKIES";
941    field public static final String EXTRA_STATS_CONFIG_KEY = "android.app.extra.STATS_CONFIG_KEY";
942    field public static final String EXTRA_STATS_CONFIG_UID = "android.app.extra.STATS_CONFIG_UID";
943    field public static final String EXTRA_STATS_DIMENSIONS_VALUE = "android.app.extra.STATS_DIMENSIONS_VALUE";
944    field public static final String EXTRA_STATS_SUBSCRIPTION_ID = "android.app.extra.STATS_SUBSCRIPTION_ID";
945    field public static final String EXTRA_STATS_SUBSCRIPTION_RULE_ID = "android.app.extra.STATS_SUBSCRIPTION_RULE_ID";
946    field public static final int PULL_SKIP = 1; // 0x1
947    field public static final int PULL_SUCCESS = 0; // 0x0
948  }
949
950  public static class StatsManager.PullAtomMetadata {
951    method @Nullable public int[] getAdditiveFields();
952    method public long getCoolDownMillis();
953    method public long getTimeoutMillis();
954  }
955
956  public static class StatsManager.PullAtomMetadata.Builder {
957    ctor public StatsManager.PullAtomMetadata.Builder();
958    method @NonNull public android.app.StatsManager.PullAtomMetadata build();
959    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setAdditiveFields(@NonNull int[]);
960    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setCoolDownMillis(long);
961    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setTimeoutMillis(long);
962  }
963
964  public static interface StatsManager.StatsPullAtomCallback {
965    method public int onPullAtom(int, @NonNull java.util.List<android.util.StatsEvent>);
966  }
967
968  public static class StatsManager.StatsUnavailableException extends android.util.AndroidException {
969    ctor public StatsManager.StatsUnavailableException(String);
970    ctor public StatsManager.StatsUnavailableException(String, Throwable);
971  }
972
973  public class StatusBarManager {
974    method @NonNull @RequiresPermission(android.Manifest.permission.STATUS_BAR) public android.app.StatusBarManager.DisableInfo getDisableInfo();
975    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public int getNavBarMode();
976    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void registerNearbyMediaDevicesProvider(@NonNull android.media.NearbyMediaDevicesProvider);
977    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setDisabledForSetup(boolean);
978    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setNavBarMode(int);
979    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void unregisterNearbyMediaDevicesProvider(@NonNull android.media.NearbyMediaDevicesProvider);
980    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void updateMediaTapToTransferReceiverDisplay(int, @NonNull android.media.MediaRoute2Info, @Nullable android.graphics.drawable.Icon, @Nullable CharSequence);
981    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void updateMediaTapToTransferSenderDisplay(int, @NonNull android.media.MediaRoute2Info, @Nullable java.util.concurrent.Executor, @Nullable Runnable);
982    field public static final int MEDIA_TRANSFER_RECEIVER_STATE_CLOSE_TO_SENDER = 0; // 0x0
983    field public static final int MEDIA_TRANSFER_RECEIVER_STATE_FAR_FROM_SENDER = 1; // 0x1
984    field public static final int MEDIA_TRANSFER_SENDER_STATE_ALMOST_CLOSE_TO_END_CAST = 1; // 0x1
985    field public static final int MEDIA_TRANSFER_SENDER_STATE_ALMOST_CLOSE_TO_START_CAST = 0; // 0x0
986    field public static final int MEDIA_TRANSFER_SENDER_STATE_FAR_FROM_RECEIVER = 8; // 0x8
987    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_RECEIVER_FAILED = 6; // 0x6
988    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_RECEIVER_SUCCEEDED = 4; // 0x4
989    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_RECEIVER_TRIGGERED = 2; // 0x2
990    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_THIS_DEVICE_FAILED = 7; // 0x7
991    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_THIS_DEVICE_SUCCEEDED = 5; // 0x5
992    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_THIS_DEVICE_TRIGGERED = 3; // 0x3
993    field public static final int NAV_BAR_MODE_DEFAULT = 0; // 0x0
994    field public static final int NAV_BAR_MODE_KIDS = 1; // 0x1
995  }
996
997  public static final class StatusBarManager.DisableInfo {
998    method public boolean areAllComponentsEnabled();
999    method public boolean isNavigateToHomeDisabled();
1000    method public boolean isNotificationPeekingDisabled();
1001    method public boolean isRecentsDisabled();
1002    method public boolean isSearchDisabled();
1003    method public boolean isStatusBarExpansionDisabled();
1004  }
1005
1006  public final class SystemServiceRegistry {
1007    method public static <TServiceClass> void registerContextAwareService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.ContextAwareServiceProducerWithBinder<TServiceClass>);
1008    method public static <TServiceClass> void registerContextAwareService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.ContextAwareServiceProducerWithoutBinder<TServiceClass>);
1009    method public static <TServiceClass> void registerStaticService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.StaticServiceProducerWithBinder<TServiceClass>);
1010    method public static <TServiceClass> void registerStaticService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.StaticServiceProducerWithoutBinder<TServiceClass>);
1011  }
1012
1013  public static interface SystemServiceRegistry.ContextAwareServiceProducerWithBinder<TServiceClass> {
1014    method @NonNull public TServiceClass createService(@NonNull android.content.Context, @NonNull android.os.IBinder);
1015  }
1016
1017  public static interface SystemServiceRegistry.ContextAwareServiceProducerWithoutBinder<TServiceClass> {
1018    method @NonNull public TServiceClass createService(@NonNull android.content.Context);
1019  }
1020
1021  public static interface SystemServiceRegistry.StaticServiceProducerWithBinder<TServiceClass> {
1022    method @NonNull public TServiceClass createService(@NonNull android.os.IBinder);
1023  }
1024
1025  public static interface SystemServiceRegistry.StaticServiceProducerWithoutBinder<TServiceClass> {
1026    method @NonNull public TServiceClass createService();
1027  }
1028
1029  public class UiModeManager {
1030    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public void addOnProjectionStateChangedListener(int, @NonNull java.util.concurrent.Executor, @NonNull android.app.UiModeManager.OnProjectionStateChangedListener);
1031    method @RequiresPermission(android.Manifest.permission.ENTER_CAR_MODE_PRIORITIZED) public void enableCarMode(@IntRange(from=0) int, int);
1032    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public int getActiveProjectionTypes();
1033    method @RequiresPermission(android.Manifest.permission.MODIFY_DAY_NIGHT_MODE) public int getNightModeCustomType();
1034    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public java.util.Set<java.lang.String> getProjectingPackages(int);
1035    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean releaseProjection(int);
1036    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public void removeOnProjectionStateChangedListener(@NonNull android.app.UiModeManager.OnProjectionStateChangedListener);
1037    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean requestProjection(int);
1038    method @RequiresPermission(android.Manifest.permission.MODIFY_DAY_NIGHT_MODE) public boolean setNightModeActivatedForCustomMode(int, boolean);
1039    method @RequiresPermission(android.Manifest.permission.MODIFY_DAY_NIGHT_MODE) public void setNightModeCustomType(int);
1040    field public static final String ACTION_ENTER_CAR_MODE_PRIORITIZED = "android.app.action.ENTER_CAR_MODE_PRIORITIZED";
1041    field public static final String ACTION_EXIT_CAR_MODE_PRIORITIZED = "android.app.action.EXIT_CAR_MODE_PRIORITIZED";
1042    field public static final int DEFAULT_PRIORITY = 0; // 0x0
1043    field public static final String EXTRA_CALLING_PACKAGE = "android.app.extra.CALLING_PACKAGE";
1044    field public static final String EXTRA_PRIORITY = "android.app.extra.PRIORITY";
1045    field public static final int MODE_NIGHT_CUSTOM_TYPE_BEDTIME = 1; // 0x1
1046    field public static final int MODE_NIGHT_CUSTOM_TYPE_SCHEDULE = 0; // 0x0
1047    field public static final int MODE_NIGHT_CUSTOM_TYPE_UNKNOWN = -1; // 0xffffffff
1048    field public static final int PROJECTION_TYPE_ALL = -1; // 0xffffffff
1049    field public static final int PROJECTION_TYPE_AUTOMOTIVE = 1; // 0x1
1050    field public static final int PROJECTION_TYPE_NONE = 0; // 0x0
1051  }
1052
1053  public static interface UiModeManager.OnProjectionStateChangedListener {
1054    method public void onProjectionStateChanged(int, @NonNull java.util.Set<java.lang.String>);
1055  }
1056
1057  public final class Vr2dDisplayProperties implements android.os.Parcelable {
1058    ctor public Vr2dDisplayProperties(int, int, int);
1059    method public int describeContents();
1060    method public void dump(@NonNull java.io.PrintWriter, @NonNull String);
1061    method public int getAddedFlags();
1062    method public int getDpi();
1063    method public int getHeight();
1064    method public int getRemovedFlags();
1065    method public int getWidth();
1066    method public void writeToParcel(android.os.Parcel, int);
1067    field @NonNull public static final android.os.Parcelable.Creator<android.app.Vr2dDisplayProperties> CREATOR;
1068    field public static final int FLAG_VIRTUAL_DISPLAY_ENABLED = 1; // 0x1
1069  }
1070
1071  public static final class Vr2dDisplayProperties.Builder {
1072    ctor public Vr2dDisplayProperties.Builder();
1073    method @NonNull public android.app.Vr2dDisplayProperties.Builder addFlags(int);
1074    method @NonNull public android.app.Vr2dDisplayProperties build();
1075    method @NonNull public android.app.Vr2dDisplayProperties.Builder removeFlags(int);
1076    method @NonNull public android.app.Vr2dDisplayProperties.Builder setDimensions(int, int, int);
1077    method @NonNull public android.app.Vr2dDisplayProperties.Builder setEnabled(boolean);
1078  }
1079
1080  public class VrManager {
1081    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public int getVr2dDisplayId();
1082    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public boolean isPersistentVrModeEnabled();
1083    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public boolean isVrModeEnabled();
1084    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);
1085    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setAndBindVrCompositor(android.content.ComponentName);
1086    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setPersistentVrModeEnabled(boolean);
1087    method @RequiresPermission("android.permission.ACCESS_VR_MANAGER") public void setStandbyEnabled(boolean);
1088    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setVr2dDisplayProperties(@NonNull android.app.Vr2dDisplayProperties);
1089    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setVrInputMethod(@Nullable android.content.ComponentName);
1090    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public void unregisterVrStateCallback(@NonNull android.app.VrStateCallback);
1091  }
1092
1093  public abstract class VrStateCallback {
1094    ctor public VrStateCallback();
1095    method public void onPersistentVrStateChanged(boolean);
1096    method public void onVrStateChanged(boolean);
1097  }
1098
1099  public final class WallpaperInfo implements android.os.Parcelable {
1100    method public boolean supportsAmbientMode();
1101  }
1102
1103  public class WallpaperManager {
1104    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public void clearWallpaper(int, int);
1105    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_DIM_AMOUNT) public float getWallpaperDimAmount();
1106    method public void setDisplayOffset(android.os.IBinder, int, int);
1107    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_COMPONENT) public boolean setWallpaperComponent(android.content.ComponentName);
1108    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_DIM_AMOUNT) public void setWallpaperDimAmount(@FloatRange(from=0.0f, to=1.0f) float);
1109  }
1110
1111}
1112
1113package android.app.admin {
1114
1115  public final class DevicePolicyDrawableResource implements android.os.Parcelable {
1116    ctor public DevicePolicyDrawableResource(@NonNull android.content.Context, @NonNull String, @NonNull String, @NonNull String, @DrawableRes int);
1117    ctor public DevicePolicyDrawableResource(@NonNull android.content.Context, @NonNull String, @NonNull String, @DrawableRes int);
1118    method public int describeContents();
1119    method @NonNull public String getDrawableId();
1120    method @NonNull public String getDrawableSource();
1121    method @NonNull public String getDrawableStyle();
1122    method @DrawableRes public int getResourceIdInCallingPackage();
1123    method public void writeToParcel(@NonNull android.os.Parcel, int);
1124    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DevicePolicyDrawableResource> CREATOR;
1125  }
1126
1127  public class DevicePolicyKeyguardService extends android.app.Service {
1128    ctor public DevicePolicyKeyguardService();
1129    method @Nullable public void dismiss();
1130    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
1131    method @Nullable public android.view.SurfaceControlViewHost.SurfacePackage onCreateKeyguardSurface(@NonNull android.os.IBinder);
1132  }
1133
1134  public class DevicePolicyManager {
1135    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public int checkProvisioningPrecondition(@NonNull String, @NonNull String);
1136    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;
1137    method @Nullable public android.content.Intent createProvisioningIntentFromNfcIntent(@NonNull android.content.Intent);
1138    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public void finalizeWorkProfileProvisioning(@NonNull android.os.UserHandle, @Nullable android.accounts.Account);
1139    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public boolean getBluetoothContactSharingDisabled(@NonNull android.os.UserHandle);
1140    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getDeviceOwner();
1141    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public android.content.ComponentName getDeviceOwnerComponentOnAnyUser();
1142    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public String getDeviceOwnerNameOnAnyUser();
1143    method @Nullable public CharSequence getDeviceOwnerOrganizationName();
1144    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.UserHandle getDeviceOwnerUser();
1145    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.QUERY_ADMIN_POLICY}) public java.util.List<java.lang.String> getPermittedAccessibilityServices(int);
1146    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.QUERY_ADMIN_POLICY}) public java.util.List<java.lang.String> getPermittedInputMethodsForCurrentUser();
1147    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public java.util.List<android.os.UserHandle> getPolicyManagedProfiles(@NonNull android.os.UserHandle);
1148    method @Nullable public android.content.ComponentName getProfileOwner() throws java.lang.IllegalArgumentException;
1149    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;
1150    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public int getUserProvisioningState();
1151    method public boolean isDeviceManaged();
1152    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isDeviceProvisioned();
1153    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isDeviceProvisioningConfigApplied();
1154    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public boolean isDpcDownloaded();
1155    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public boolean isManagedKiosk();
1156    method public boolean isSecondaryLockscreenEnabled(@NonNull android.os.UserHandle);
1157    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public boolean isUnattendedManagedKiosk();
1158    method @RequiresPermission("android.permission.NOTIFY_PENDING_SYSTEM_UPDATE") public void notifyPendingSystemUpdate(long);
1159    method @RequiresPermission("android.permission.NOTIFY_PENDING_SYSTEM_UPDATE") public void notifyPendingSystemUpdate(long, boolean);
1160    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public boolean packageHasActiveAdmins(String);
1161    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;
1162    method @RequiresPermission(android.Manifest.permission.TRIGGER_LOST_MODE) public void sendLostModeLocationUpdate(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
1163    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_ADMINS) public boolean setActiveProfileOwner(@NonNull android.content.ComponentName, String) throws java.lang.IllegalArgumentException;
1164    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setDeviceProvisioningConfigApplied();
1165    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public void setDpcDownloaded(boolean);
1166    method @Deprecated @RequiresPermission(value=android.Manifest.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS, conditional=true) public void setProfileOwnerCanAccessDeviceIds(@NonNull android.content.ComponentName);
1167    method public void setSecondaryLockscreenEnabled(@NonNull android.content.ComponentName, boolean);
1168    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public void setUserProvisioningState(int, @NonNull android.os.UserHandle);
1169    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public boolean shouldAllowBypassingDevicePolicyManagementRoleQualification();
1170    field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_ALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_ALLOWED";
1171    field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_DISALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_DISALLOWED";
1172    field public static final String ACTION_BIND_SECONDARY_LOCKSCREEN_SERVICE = "android.app.action.BIND_SECONDARY_LOCKSCREEN_SERVICE";
1173    field @RequiresPermission(android.Manifest.permission.DISPATCH_PROVISIONING_MESSAGE) public static final String ACTION_ESTABLISH_NETWORK_CONNECTION = "android.app.action.ESTABLISH_NETWORK_CONNECTION";
1174    field public static final String ACTION_LOST_MODE_LOCATION_UPDATE = "android.app.action.LOST_MODE_LOCATION_UPDATE";
1175    field public static final String ACTION_PROVISION_FINALIZATION = "android.app.action.PROVISION_FINALIZATION";
1176    field public static final String ACTION_PROVISION_FINANCED_DEVICE = "android.app.action.PROVISION_FINANCED_DEVICE";
1177    field public static final String ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE = "android.app.action.PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE";
1178    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";
1179    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";
1180    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";
1181    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";
1182    field public static final String ACTION_SET_PROFILE_OWNER = "android.app.action.SET_PROFILE_OWNER";
1183    field @Deprecated public static final String ACTION_STATE_USER_SETUP_COMPLETE = "android.app.action.STATE_USER_SETUP_COMPLETE";
1184    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";
1185    field public static final String EXTRA_FORCE_UPDATE_ROLE_HOLDER = "android.app.extra.FORCE_UPDATE_ROLE_HOLDER";
1186    field public static final String EXTRA_LOST_MODE_LOCATION = "android.app.extra.LOST_MODE_LOCATION";
1187    field public static final String EXTRA_PROFILE_OWNER_NAME = "android.app.extra.PROFILE_OWNER_NAME";
1188    field @Deprecated public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI";
1189    field @Deprecated public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL";
1190    field public static final String EXTRA_PROVISIONING_ORGANIZATION_NAME = "android.app.extra.PROVISIONING_ORGANIZATION_NAME";
1191    field public static final String EXTRA_PROVISIONING_RETURN_BEFORE_POLICY_COMPLIANCE = "android.app.extra.PROVISIONING_RETURN_BEFORE_POLICY_COMPLIANCE";
1192    field public static final String EXTRA_PROVISIONING_ROLE_HOLDER_CUSTOM_USER_CONSENT_INTENT = "android.app.extra.PROVISIONING_ROLE_HOLDER_CUSTOM_USER_CONSENT_INTENT";
1193    field public static final String EXTRA_PROVISIONING_ROLE_HOLDER_EXTRAS_BUNDLE = "android.app.extra.PROVISIONING_ROLE_HOLDER_EXTRAS_BUNDLE";
1194    field public static final String EXTRA_PROVISIONING_ROLE_HOLDER_PACKAGE_DOWNLOAD_COOKIE_HEADER = "android.app.extra.PROVISIONING_ROLE_HOLDER_PACKAGE_DOWNLOAD_COOKIE_HEADER";
1195    field public static final String EXTRA_PROVISIONING_ROLE_HOLDER_PACKAGE_DOWNLOAD_LOCATION = "android.app.extra.PROVISIONING_ROLE_HOLDER_PACKAGE_DOWNLOAD_LOCATION";
1196    field public static final String EXTRA_PROVISIONING_ROLE_HOLDER_SIGNATURE_CHECKSUM = "android.app.extra.PROVISIONING_ROLE_HOLDER_SIGNATURE_CHECKSUM";
1197    field public static final String EXTRA_PROVISIONING_SKIP_OWNERSHIP_DISCLAIMER = "android.app.extra.PROVISIONING_SKIP_OWNERSHIP_DISCLAIMER";
1198    field public static final String EXTRA_PROVISIONING_SUPPORTED_MODES = "android.app.extra.PROVISIONING_SUPPORTED_MODES";
1199    field public static final String EXTRA_PROVISIONING_SUPPORT_URL = "android.app.extra.PROVISIONING_SUPPORT_URL";
1200    field public static final String EXTRA_PROVISIONING_TRIGGER = "android.app.extra.PROVISIONING_TRIGGER";
1201    field public static final String EXTRA_RESTRICTION = "android.app.extra.RESTRICTION";
1202    field public static final String EXTRA_ROLE_HOLDER_PROVISIONING_INITIATOR_PACKAGE = "android.app.extra.ROLE_HOLDER_PROVISIONING_INITIATOR_PACKAGE";
1203    field public static final String EXTRA_ROLE_HOLDER_STATE = "android.app.extra.ROLE_HOLDER_STATE";
1204    field public static final String EXTRA_ROLE_HOLDER_UPDATE_RESULT_CODE = "android.app.extra.ROLE_HOLDER_UPDATE_RESULT_CODE";
1205    field public static final int FLAG_SUPPORTED_MODES_DEVICE_OWNER = 4; // 0x4
1206    field public static final int FLAG_SUPPORTED_MODES_ORGANIZATION_OWNED = 1; // 0x1
1207    field public static final int FLAG_SUPPORTED_MODES_PERSONALLY_OWNED = 2; // 0x2
1208    field public static final int PROVISIONING_TRIGGER_CLOUD_ENROLLMENT = 1; // 0x1
1209    field public static final int PROVISIONING_TRIGGER_MANAGED_ACCOUNT = 4; // 0x4
1210    field public static final int PROVISIONING_TRIGGER_NFC = 5; // 0x5
1211    field @Deprecated public static final int PROVISIONING_TRIGGER_PERSISTENT_DEVICE_OWNER = 3; // 0x3
1212    field public static final int PROVISIONING_TRIGGER_QR_CODE = 2; // 0x2
1213    field public static final int PROVISIONING_TRIGGER_UNSPECIFIED = 0; // 0x0
1214    field public static final String REQUIRED_APP_MANAGED_DEVICE = "android.app.REQUIRED_APP_MANAGED_DEVICE";
1215    field public static final String REQUIRED_APP_MANAGED_PROFILE = "android.app.REQUIRED_APP_MANAGED_PROFILE";
1216    field public static final String REQUIRED_APP_MANAGED_USER = "android.app.REQUIRED_APP_MANAGED_USER";
1217    field public static final int RESULT_DEVICE_OWNER_SET = 123; // 0x7b
1218    field public static final int RESULT_UPDATE_DEVICE_POLICY_MANAGEMENT_ROLE_HOLDER_PROVISIONING_DISABLED = 3; // 0x3
1219    field public static final int RESULT_UPDATE_DEVICE_POLICY_MANAGEMENT_ROLE_HOLDER_RECOVERABLE_ERROR = 1; // 0x1
1220    field public static final int RESULT_UPDATE_DEVICE_POLICY_MANAGEMENT_ROLE_HOLDER_UNRECOVERABLE_ERROR = 2; // 0x2
1221    field public static final int RESULT_UPDATE_ROLE_HOLDER = 2; // 0x2
1222    field public static final int RESULT_WORK_PROFILE_CREATED = 122; // 0x7a
1223    field public static final int STATE_USER_PROFILE_COMPLETE = 4; // 0x4
1224    field public static final int STATE_USER_PROFILE_FINALIZED = 5; // 0x5
1225    field public static final int STATE_USER_SETUP_COMPLETE = 2; // 0x2
1226    field public static final int STATE_USER_SETUP_FINALIZED = 3; // 0x3
1227    field public static final int STATE_USER_SETUP_INCOMPLETE = 1; // 0x1
1228    field public static final int STATE_USER_UNMANAGED = 0; // 0x0
1229    field public static final int STATUS_ACCOUNTS_NOT_EMPTY = 6; // 0x6
1230    field public static final int STATUS_CANNOT_ADD_MANAGED_PROFILE = 11; // 0xb
1231    field public static final int STATUS_DEVICE_ADMIN_NOT_SUPPORTED = 13; // 0xd
1232    field public static final int STATUS_HAS_DEVICE_OWNER = 1; // 0x1
1233    field public static final int STATUS_HAS_PAIRED = 8; // 0x8
1234    field public static final int STATUS_MANAGED_USERS_NOT_SUPPORTED = 9; // 0x9
1235    field public static final int STATUS_NONSYSTEM_USER_EXISTS = 5; // 0x5
1236    field public static final int STATUS_NOT_SYSTEM_USER = 7; // 0x7
1237    field public static final int STATUS_OK = 0; // 0x0
1238    field public static final int STATUS_PROVISIONING_NOT_ALLOWED_FOR_NON_DEVELOPER_USERS = 15; // 0xf
1239    field public static final int STATUS_SYSTEM_USER = 10; // 0xa
1240    field public static final int STATUS_UNKNOWN_ERROR = -1; // 0xffffffff
1241    field public static final int STATUS_USER_HAS_PROFILE_OWNER = 2; // 0x2
1242    field public static final int STATUS_USER_NOT_RUNNING = 3; // 0x3
1243    field public static final int STATUS_USER_SETUP_COMPLETED = 4; // 0x4
1244  }
1245
1246  public static final class DevicePolicyResources.Strings {
1247  }
1248
1249  public static final class DevicePolicyResources.Strings.DefaultAppSettings {
1250    field public static final String HOME_MISSING_WORK_PROFILE_SUPPORT_MESSAGE = "DefaultAppSettings.HOME_MISSING_WORK_PROFILE_SUPPORT_MESSAGE";
1251    field public static final String WORK_PROFILE_DEFAULT_APPS_TITLE = "DefaultAppSettings.WORK_PROFILE_DEFAULT_APPS_TITLE";
1252  }
1253
1254  public static final class DevicePolicyResources.Strings.PermissionSettings {
1255    field public static final String BACKGROUND_ACCESS_DISABLED_BY_ADMIN_MESSAGE = "PermissionSettings.BACKGROUND_ACCESS_DISABLED_BY_ADMIN_MESSAGE";
1256    field public static final String BACKGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE = "PermissionSettings.BACKGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE";
1257    field public static final String FOREGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE = "PermissionSettings.FOREGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE";
1258    field public static final String LOCATION_AUTO_GRANTED_MESSAGE = "PermissionSettings.LOCATION_AUTO_GRANTED_MESSAGE";
1259  }
1260
1261  public class DevicePolicyResourcesManager {
1262    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void resetDrawables(@NonNull java.util.Set<java.lang.String>);
1263    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void resetStrings(@NonNull java.util.Set<java.lang.String>);
1264    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void setDrawables(@NonNull java.util.Set<android.app.admin.DevicePolicyDrawableResource>);
1265    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void setStrings(@NonNull java.util.Set<android.app.admin.DevicePolicyStringResource>);
1266  }
1267
1268  public final class DevicePolicyStringResource implements android.os.Parcelable {
1269    ctor public DevicePolicyStringResource(@NonNull android.content.Context, @NonNull String, @StringRes int);
1270    method public int describeContents();
1271    method public int getResourceIdInCallingPackage();
1272    method @NonNull public String getStringId();
1273    method public void writeToParcel(@NonNull android.os.Parcel, int);
1274    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DevicePolicyStringResource> CREATOR;
1275  }
1276
1277  public final class FullyManagedDeviceProvisioningParams implements android.os.Parcelable {
1278    method public boolean canDeviceOwnerGrantSensorsPermissions();
1279    method public int describeContents();
1280    method @NonNull public android.os.PersistableBundle getAdminExtras();
1281    method @NonNull public android.content.ComponentName getDeviceAdminComponentName();
1282    method public long getLocalTime();
1283    method @Nullable public java.util.Locale getLocale();
1284    method @NonNull public String getOwnerName();
1285    method @Nullable public String getTimeZone();
1286    method public boolean isDemoDevice();
1287    method public boolean isLeaveAllSystemAppsEnabled();
1288    method public void writeToParcel(@NonNull android.os.Parcel, @Nullable int);
1289    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.FullyManagedDeviceProvisioningParams> CREATOR;
1290  }
1291
1292  public static final class FullyManagedDeviceProvisioningParams.Builder {
1293    ctor public FullyManagedDeviceProvisioningParams.Builder(@NonNull android.content.ComponentName, @NonNull String);
1294    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams build();
1295    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setAdminExtras(@NonNull android.os.PersistableBundle);
1296    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setCanDeviceOwnerGrantSensorsPermissions(boolean);
1297    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setDemoDevice(boolean);
1298    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setLeaveAllSystemAppsEnabled(boolean);
1299    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setLocalTime(long);
1300    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setLocale(@Nullable java.util.Locale);
1301    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setTimeZone(@Nullable String);
1302  }
1303
1304  public final class ManagedProfileProvisioningParams implements android.os.Parcelable {
1305    method public int describeContents();
1306    method @Nullable public android.accounts.Account getAccountToMigrate();
1307    method @NonNull public android.os.PersistableBundle getAdminExtras();
1308    method @NonNull public String getOwnerName();
1309    method @NonNull public android.content.ComponentName getProfileAdminComponentName();
1310    method @Nullable public String getProfileName();
1311    method public boolean isKeepingAccountOnMigration();
1312    method public boolean isLeaveAllSystemAppsEnabled();
1313    method public boolean isOrganizationOwnedProvisioning();
1314    method public void writeToParcel(@NonNull android.os.Parcel, @Nullable int);
1315    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.ManagedProfileProvisioningParams> CREATOR;
1316  }
1317
1318  public static final class ManagedProfileProvisioningParams.Builder {
1319    ctor public ManagedProfileProvisioningParams.Builder(@NonNull android.content.ComponentName, @NonNull String);
1320    method @NonNull public android.app.admin.ManagedProfileProvisioningParams build();
1321    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setAccountToMigrate(@Nullable android.accounts.Account);
1322    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setAdminExtras(@NonNull android.os.PersistableBundle);
1323    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setKeepingAccountOnMigration(boolean);
1324    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setLeaveAllSystemAppsEnabled(boolean);
1325    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setOrganizationOwnedProvisioning(boolean);
1326    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setProfileName(@Nullable String);
1327  }
1328
1329  public class ProvisioningException extends android.util.AndroidException {
1330    ctor public ProvisioningException(@NonNull Exception, int);
1331    ctor public ProvisioningException(@NonNull Exception, int, @Nullable String);
1332    method public int getProvisioningError();
1333    field public static final int ERROR_ADMIN_PACKAGE_INSTALLATION_FAILED = 3; // 0x3
1334    field public static final int ERROR_PRE_CONDITION_FAILED = 1; // 0x1
1335    field public static final int ERROR_PROFILE_CREATION_FAILED = 2; // 0x2
1336    field public static final int ERROR_REMOVE_NON_REQUIRED_APPS_FAILED = 6; // 0x6
1337    field public static final int ERROR_SETTING_PROFILE_OWNER_FAILED = 4; // 0x4
1338    field public static final int ERROR_SET_DEVICE_OWNER_FAILED = 7; // 0x7
1339    field public static final int ERROR_STARTING_PROFILE_FAILED = 5; // 0x5
1340    field public static final int ERROR_UNKNOWN = 0; // 0x0
1341  }
1342
1343  public class SecurityLog {
1344    method @RequiresPermission(android.Manifest.permission.WRITE_SECURITY_LOG) public static int writeEvent(int, @NonNull java.lang.Object...);
1345  }
1346
1347  public final class SystemUpdatePolicy implements android.os.Parcelable {
1348    method public android.app.admin.SystemUpdatePolicy.InstallationOption getInstallationOptionAt(long);
1349    field public static final int TYPE_PAUSE = 4; // 0x4
1350  }
1351
1352  public static class SystemUpdatePolicy.InstallationOption {
1353    method public long getEffectiveTime();
1354    method public int getType();
1355  }
1356
1357}
1358
1359package android.app.ambientcontext {
1360
1361  public final class AmbientContextEvent implements android.os.Parcelable {
1362    method public int describeContents();
1363    method public int getConfidenceLevel();
1364    method public int getDensityLevel();
1365    method @NonNull public java.time.Instant getEndTime();
1366    method public int getEventType();
1367    method @NonNull public java.time.Instant getStartTime();
1368    method public void writeToParcel(@NonNull android.os.Parcel, int);
1369    field @NonNull public static final android.os.Parcelable.Creator<android.app.ambientcontext.AmbientContextEvent> CREATOR;
1370    field public static final int EVENT_COUGH = 1; // 0x1
1371    field public static final int EVENT_SNORE = 2; // 0x2
1372    field public static final int EVENT_UNKNOWN = 0; // 0x0
1373    field public static final int LEVEL_HIGH = 5; // 0x5
1374    field public static final int LEVEL_LOW = 1; // 0x1
1375    field public static final int LEVEL_MEDIUM = 3; // 0x3
1376    field public static final int LEVEL_MEDIUM_HIGH = 4; // 0x4
1377    field public static final int LEVEL_MEDIUM_LOW = 2; // 0x2
1378    field public static final int LEVEL_UNKNOWN = 0; // 0x0
1379  }
1380
1381  public static final class AmbientContextEvent.Builder {
1382    ctor public AmbientContextEvent.Builder();
1383    method @NonNull public android.app.ambientcontext.AmbientContextEvent build();
1384    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setConfidenceLevel(int);
1385    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setDensityLevel(int);
1386    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setEndTime(@NonNull java.time.Instant);
1387    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setEventType(int);
1388    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setStartTime(@NonNull java.time.Instant);
1389  }
1390
1391  public final class AmbientContextEventRequest implements android.os.Parcelable {
1392    method public int describeContents();
1393    method @NonNull public java.util.Set<java.lang.Integer> getEventTypes();
1394    method @NonNull public android.os.PersistableBundle getOptions();
1395    method public void writeToParcel(@NonNull android.os.Parcel, int);
1396    field @NonNull public static final android.os.Parcelable.Creator<android.app.ambientcontext.AmbientContextEventRequest> CREATOR;
1397  }
1398
1399  public static final class AmbientContextEventRequest.Builder {
1400    ctor public AmbientContextEventRequest.Builder();
1401    method @NonNull public android.app.ambientcontext.AmbientContextEventRequest.Builder addEventType(int);
1402    method @NonNull public android.app.ambientcontext.AmbientContextEventRequest build();
1403    method @NonNull public android.app.ambientcontext.AmbientContextEventRequest.Builder setOptions(@NonNull android.os.PersistableBundle);
1404  }
1405
1406  public final class AmbientContextManager {
1407    method @NonNull public static java.util.List<android.app.ambientcontext.AmbientContextEvent> getEventsFromIntent(@NonNull android.content.Intent);
1408    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>);
1409    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>);
1410    method @RequiresPermission(android.Manifest.permission.ACCESS_AMBIENT_CONTEXT_EVENT) public void startConsentActivity(@NonNull java.util.Set<java.lang.Integer>);
1411    method @RequiresPermission(android.Manifest.permission.ACCESS_AMBIENT_CONTEXT_EVENT) public void unregisterObserver();
1412    field public static final String EXTRA_AMBIENT_CONTEXT_EVENTS = "android.app.ambientcontext.extra.AMBIENT_CONTEXT_EVENTS";
1413    field public static final int STATUS_ACCESS_DENIED = 5; // 0x5
1414    field public static final int STATUS_MICROPHONE_DISABLED = 4; // 0x4
1415    field public static final int STATUS_NOT_SUPPORTED = 2; // 0x2
1416    field public static final int STATUS_SERVICE_UNAVAILABLE = 3; // 0x3
1417    field public static final int STATUS_SUCCESS = 1; // 0x1
1418    field public static final int STATUS_UNKNOWN = 0; // 0x0
1419  }
1420
1421}
1422
1423package android.app.appsearch {
1424
1425  public class AppSearchManagerFrameworkInitializer {
1426    method public static void initialize();
1427  }
1428
1429}
1430
1431package android.app.assist {
1432
1433  public final class ActivityId implements android.os.Parcelable {
1434    method public int describeContents();
1435    method public void writeToParcel(@NonNull android.os.Parcel, int);
1436    field @NonNull public static final android.os.Parcelable.Creator<android.app.assist.ActivityId> CREATOR;
1437  }
1438
1439  public static class AssistStructure.ViewNode {
1440    ctor public AssistStructure.ViewNode();
1441  }
1442
1443}
1444
1445package android.app.backup {
1446
1447  public class BackupDataInput {
1448    ctor public BackupDataInput(java.io.FileDescriptor);
1449  }
1450
1451  public class BackupDataOutput {
1452    ctor public BackupDataOutput(java.io.FileDescriptor);
1453    ctor public BackupDataOutput(java.io.FileDescriptor, long);
1454  }
1455
1456  public class BackupManager {
1457    method @RequiresPermission(android.Manifest.permission.BACKUP) public void backupNow();
1458    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.app.backup.RestoreSession beginRestoreSession();
1459    method @RequiresPermission(android.Manifest.permission.BACKUP) public void cancelBackups();
1460    method @RequiresPermission(android.Manifest.permission.BACKUP) public void excludeKeysFromRestore(@NonNull String, @NonNull java.util.List<java.lang.String>);
1461    method @RequiresPermission(android.Manifest.permission.BACKUP) public long getAvailableRestoreToken(String);
1462    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.Intent getConfigurationIntent(String);
1463    method @RequiresPermission(android.Manifest.permission.BACKUP) public String getCurrentTransport();
1464    method @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.ComponentName getCurrentTransportComponent();
1465    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.Intent getDataManagementIntent(String);
1466    method @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public CharSequence getDataManagementIntentLabel(@NonNull String);
1467    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public String getDataManagementLabel(@NonNull String);
1468    method @RequiresPermission(android.Manifest.permission.BACKUP) public String getDestinationString(String);
1469    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isAppEligibleForBackup(String);
1470    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isBackupEnabled();
1471    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isBackupServiceActive(android.os.UserHandle);
1472    method @RequiresPermission(android.Manifest.permission.BACKUP) public String[] listAllTransports();
1473    method @RequiresPermission(android.Manifest.permission.BACKUP) public int requestBackup(String[], android.app.backup.BackupObserver);
1474    method @RequiresPermission(android.Manifest.permission.BACKUP) public int requestBackup(String[], android.app.backup.BackupObserver, android.app.backup.BackupManagerMonitor, int);
1475    method @Deprecated public int requestRestore(android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
1476    method @Deprecated @RequiresPermission(android.Manifest.permission.BACKUP) public String selectBackupTransport(String);
1477    method @RequiresPermission(android.Manifest.permission.BACKUP) public void selectBackupTransport(android.content.ComponentName, android.app.backup.SelectBackupTransportCallback);
1478    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setAncestralSerialNumber(long);
1479    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setAutoRestore(boolean);
1480    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setBackupEnabled(boolean);
1481    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);
1482    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);
1483    field public static final int ERROR_AGENT_FAILURE = -1003; // 0xfffffc15
1484    field public static final int ERROR_BACKUP_CANCELLED = -2003; // 0xfffff82d
1485    field public static final int ERROR_BACKUP_NOT_ALLOWED = -2001; // 0xfffff82f
1486    field public static final int ERROR_PACKAGE_NOT_FOUND = -2002; // 0xfffff82e
1487    field public static final int ERROR_TRANSPORT_ABORTED = -1000; // 0xfffffc18
1488    field public static final int ERROR_TRANSPORT_INVALID = -2; // 0xfffffffe
1489    field public static final int ERROR_TRANSPORT_PACKAGE_REJECTED = -1002; // 0xfffffc16
1490    field public static final int ERROR_TRANSPORT_QUOTA_EXCEEDED = -1005; // 0xfffffc13
1491    field public static final int ERROR_TRANSPORT_UNAVAILABLE = -1; // 0xffffffff
1492    field public static final int FLAG_NON_INCREMENTAL_BACKUP = 1; // 0x1
1493    field public static final String PACKAGE_MANAGER_SENTINEL = "@pm@";
1494    field public static final int SUCCESS = 0; // 0x0
1495  }
1496
1497  public class BackupManagerMonitor {
1498    ctor public BackupManagerMonitor();
1499    method public void onEvent(android.os.Bundle);
1500    field public static final String EXTRA_LOG_CANCEL_ALL = "android.app.backup.extra.LOG_CANCEL_ALL";
1501    field public static final String EXTRA_LOG_EVENT_CATEGORY = "android.app.backup.extra.LOG_EVENT_CATEGORY";
1502    field public static final String EXTRA_LOG_EVENT_ID = "android.app.backup.extra.LOG_EVENT_ID";
1503    field public static final String EXTRA_LOG_EVENT_PACKAGE_LONG_VERSION = "android.app.backup.extra.LOG_EVENT_PACKAGE_FULL_VERSION";
1504    field public static final String EXTRA_LOG_EVENT_PACKAGE_NAME = "android.app.backup.extra.LOG_EVENT_PACKAGE_NAME";
1505    field @Deprecated public static final String EXTRA_LOG_EVENT_PACKAGE_VERSION = "android.app.backup.extra.LOG_EVENT_PACKAGE_VERSION";
1506    field public static final String EXTRA_LOG_EXCEPTION_FULL_BACKUP = "android.app.backup.extra.LOG_EXCEPTION_FULL_BACKUP";
1507    field public static final String EXTRA_LOG_ILLEGAL_KEY = "android.app.backup.extra.LOG_ILLEGAL_KEY";
1508    field public static final String EXTRA_LOG_MANIFEST_PACKAGE_NAME = "android.app.backup.extra.LOG_MANIFEST_PACKAGE_NAME";
1509    field public static final String EXTRA_LOG_OLD_VERSION = "android.app.backup.extra.LOG_OLD_VERSION";
1510    field public static final String EXTRA_LOG_POLICY_ALLOW_APKS = "android.app.backup.extra.LOG_POLICY_ALLOW_APKS";
1511    field public static final String EXTRA_LOG_PREFLIGHT_ERROR = "android.app.backup.extra.LOG_PREFLIGHT_ERROR";
1512    field public static final String EXTRA_LOG_RESTORE_ANYWAY = "android.app.backup.extra.LOG_RESTORE_ANYWAY";
1513    field public static final String EXTRA_LOG_RESTORE_VERSION = "android.app.backup.extra.LOG_RESTORE_VERSION";
1514    field public static final String EXTRA_LOG_WIDGET_PACKAGE_NAME = "android.app.backup.extra.LOG_WIDGET_PACKAGE_NAME";
1515    field public static final int LOG_EVENT_CATEGORY_AGENT = 2; // 0x2
1516    field public static final int LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY = 3; // 0x3
1517    field public static final int LOG_EVENT_CATEGORY_TRANSPORT = 1; // 0x1
1518    field public static final int LOG_EVENT_ID_APK_NOT_INSTALLED = 40; // 0x28
1519    field public static final int LOG_EVENT_ID_APP_HAS_NO_AGENT = 28; // 0x1c
1520    field public static final int LOG_EVENT_ID_BACKUP_DISABLED = 13; // 0xd
1521    field public static final int LOG_EVENT_ID_CANNOT_RESTORE_WITHOUT_APK = 41; // 0x29
1522    field public static final int LOG_EVENT_ID_CANT_FIND_AGENT = 30; // 0x1e
1523    field public static final int LOG_EVENT_ID_CORRUPT_MANIFEST = 46; // 0x2e
1524    field public static final int LOG_EVENT_ID_DEVICE_NOT_PROVISIONED = 14; // 0xe
1525    field public static final int LOG_EVENT_ID_ERROR_PREFLIGHT = 16; // 0x10
1526    field public static final int LOG_EVENT_ID_EXCEPTION_FULL_BACKUP = 19; // 0x13
1527    field public static final int LOG_EVENT_ID_EXPECTED_DIFFERENT_PACKAGE = 43; // 0x2b
1528    field public static final int LOG_EVENT_ID_FULL_BACKUP_CANCEL = 4; // 0x4
1529    field public static final int LOG_EVENT_ID_FULL_RESTORE_ALLOW_BACKUP_FALSE = 39; // 0x27
1530    field public static final int LOG_EVENT_ID_FULL_RESTORE_SIGNATURE_MISMATCH = 37; // 0x25
1531    field public static final int LOG_EVENT_ID_FULL_RESTORE_TIMEOUT = 45; // 0x2d
1532    field public static final int LOG_EVENT_ID_ILLEGAL_KEY = 5; // 0x5
1533    field public static final int LOG_EVENT_ID_KEY_VALUE_BACKUP_CANCEL = 21; // 0x15
1534    field public static final int LOG_EVENT_ID_KEY_VALUE_RESTORE_TIMEOUT = 31; // 0x1f
1535    field public static final int LOG_EVENT_ID_LOST_TRANSPORT = 25; // 0x19
1536    field public static final int LOG_EVENT_ID_MISSING_SIGNATURE = 42; // 0x2a
1537    field public static final int LOG_EVENT_ID_NO_DATA_TO_SEND = 7; // 0x7
1538    field public static final int LOG_EVENT_ID_NO_PACKAGES = 49; // 0x31
1539    field public static final int LOG_EVENT_ID_NO_PM_METADATA_RECEIVED = 23; // 0x17
1540    field public static final int LOG_EVENT_ID_NO_RESTORE_METADATA_AVAILABLE = 22; // 0x16
1541    field public static final int LOG_EVENT_ID_PACKAGE_INELIGIBLE = 9; // 0x9
1542    field public static final int LOG_EVENT_ID_PACKAGE_KEY_VALUE_PARTICIPANT = 10; // 0xa
1543    field public static final int LOG_EVENT_ID_PACKAGE_NOT_FOUND = 12; // 0xc
1544    field public static final int LOG_EVENT_ID_PACKAGE_NOT_PRESENT = 26; // 0x1a
1545    field public static final int LOG_EVENT_ID_PACKAGE_STOPPED = 11; // 0xb
1546    field public static final int LOG_EVENT_ID_PACKAGE_TRANSPORT_NOT_PRESENT = 15; // 0xf
1547    field public static final int LOG_EVENT_ID_PM_AGENT_HAS_NO_METADATA = 24; // 0x18
1548    field public static final int LOG_EVENT_ID_QUOTA_HIT_PREFLIGHT = 18; // 0x12
1549    field public static final int LOG_EVENT_ID_RESTORE_ANY_VERSION = 34; // 0x22
1550    field public static final int LOG_EVENT_ID_RESTORE_VERSION_HIGHER = 27; // 0x1b
1551    field public static final int LOG_EVENT_ID_SIGNATURE_MISMATCH = 29; // 0x1d
1552    field public static final int LOG_EVENT_ID_SYSTEM_APP_NO_AGENT = 38; // 0x26
1553    field public static final int LOG_EVENT_ID_TRANSPORT_IS_NULL = 50; // 0x32
1554    field public static final int LOG_EVENT_ID_TRANSPORT_NON_INCREMENTAL_BACKUP_REQUIRED = 51; // 0x33
1555    field public static final int LOG_EVENT_ID_UNKNOWN_VERSION = 44; // 0x2c
1556    field public static final int LOG_EVENT_ID_VERSIONS_MATCH = 35; // 0x23
1557    field public static final int LOG_EVENT_ID_VERSION_OF_BACKUP_OLDER = 36; // 0x24
1558    field public static final int LOG_EVENT_ID_WIDGET_METADATA_MISMATCH = 47; // 0x2f
1559    field public static final int LOG_EVENT_ID_WIDGET_UNKNOWN_VERSION = 48; // 0x30
1560  }
1561
1562  public abstract class BackupObserver {
1563    ctor public BackupObserver();
1564    method public void backupFinished(int);
1565    method public void onResult(String, int);
1566    method public void onUpdate(String, android.app.backup.BackupProgress);
1567  }
1568
1569  public class BackupProgress implements android.os.Parcelable {
1570    ctor public BackupProgress(long, long);
1571    method public int describeContents();
1572    method public void writeToParcel(android.os.Parcel, int);
1573    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.BackupProgress> CREATOR;
1574    field public final long bytesExpected;
1575    field public final long bytesTransferred;
1576  }
1577
1578  public class BackupTransport {
1579    ctor public BackupTransport();
1580    method public int abortFullRestore();
1581    method public void cancelFullBackup();
1582    method public int checkFullBackupSize(long);
1583    method public int clearBackupData(android.content.pm.PackageInfo);
1584    method public android.content.Intent configurationIntent();
1585    method public String currentDestinationString();
1586    method public android.content.Intent dataManagementIntent();
1587    method @Nullable public CharSequence dataManagementIntentLabel();
1588    method @Deprecated @Nullable public String dataManagementLabel();
1589    method public int finishBackup();
1590    method public void finishRestore();
1591    method public android.app.backup.RestoreSet[] getAvailableRestoreSets();
1592    method public long getBackupQuota(String, boolean);
1593    method public android.os.IBinder getBinder();
1594    method public long getCurrentRestoreSet();
1595    method public int getNextFullRestoreDataChunk(android.os.ParcelFileDescriptor);
1596    method public int getRestoreData(android.os.ParcelFileDescriptor);
1597    method public int getTransportFlags();
1598    method public int initializeDevice();
1599    method public boolean isAppEligibleForBackup(android.content.pm.PackageInfo, boolean);
1600    method public String name();
1601    method public android.app.backup.RestoreDescription nextRestorePackage();
1602    method public int performBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor, int);
1603    method public int performBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor);
1604    method public int performFullBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor, int);
1605    method public int performFullBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor);
1606    method public long requestBackupTime();
1607    method public long requestFullBackupTime();
1608    method public int sendBackupData(int);
1609    method public int startRestore(long, android.content.pm.PackageInfo[]);
1610    method public String transportDirName();
1611    field public static final int AGENT_ERROR = -1003; // 0xfffffc15
1612    field public static final int AGENT_UNKNOWN = -1004; // 0xfffffc14
1613    field public static final String EXTRA_TRANSPORT_REGISTRATION = "android.app.backup.extra.TRANSPORT_REGISTRATION";
1614    field public static final int FLAG_DATA_NOT_CHANGED = 8; // 0x8
1615    field public static final int FLAG_INCREMENTAL = 2; // 0x2
1616    field public static final int FLAG_NON_INCREMENTAL = 4; // 0x4
1617    field public static final int FLAG_USER_INITIATED = 1; // 0x1
1618    field public static final int NO_MORE_DATA = -1; // 0xffffffff
1619    field public static final int TRANSPORT_ERROR = -1000; // 0xfffffc18
1620    field public static final int TRANSPORT_NON_INCREMENTAL_BACKUP_REQUIRED = -1006; // 0xfffffc12
1621    field public static final int TRANSPORT_NOT_INITIALIZED = -1001; // 0xfffffc17
1622    field public static final int TRANSPORT_OK = 0; // 0x0
1623    field public static final int TRANSPORT_PACKAGE_REJECTED = -1002; // 0xfffffc16
1624    field public static final int TRANSPORT_QUOTA_EXCEEDED = -1005; // 0xfffffc13
1625  }
1626
1627  public class RestoreDescription implements android.os.Parcelable {
1628    ctor public RestoreDescription(String, int);
1629    method public int describeContents();
1630    method public int getDataType();
1631    method public String getPackageName();
1632    method public void writeToParcel(android.os.Parcel, int);
1633    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.RestoreDescription> CREATOR;
1634    field public static final android.app.backup.RestoreDescription NO_MORE_PACKAGES;
1635    field public static final int TYPE_FULL_STREAM = 2; // 0x2
1636    field public static final int TYPE_KEY_VALUE = 1; // 0x1
1637  }
1638
1639  public abstract class RestoreObserver {
1640    method public void restoreSetsAvailable(android.app.backup.RestoreSet[]);
1641  }
1642
1643  public class RestoreSession {
1644    method public void endRestoreSession();
1645    method public int getAvailableRestoreSets(android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
1646    method public int getAvailableRestoreSets(android.app.backup.RestoreObserver);
1647    method public int restoreAll(long, android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
1648    method public int restoreAll(long, android.app.backup.RestoreObserver);
1649    method public int restorePackage(String, android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
1650    method public int restorePackage(String, android.app.backup.RestoreObserver);
1651    method public int restorePackages(long, @Nullable android.app.backup.RestoreObserver, @NonNull java.util.Set<java.lang.String>, @Nullable android.app.backup.BackupManagerMonitor);
1652    method public int restorePackages(long, @Nullable android.app.backup.RestoreObserver, @NonNull java.util.Set<java.lang.String>);
1653  }
1654
1655  public class RestoreSet implements android.os.Parcelable {
1656    ctor public RestoreSet();
1657    ctor public RestoreSet(@Nullable String, @Nullable String, long);
1658    ctor public RestoreSet(@Nullable String, @Nullable String, long, int);
1659    method public int describeContents();
1660    method public void writeToParcel(android.os.Parcel, int);
1661    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.RestoreSet> CREATOR;
1662    field public final int backupTransportFlags;
1663    field @Nullable public String device;
1664    field @Nullable public String name;
1665    field public long token;
1666  }
1667
1668  public abstract class SelectBackupTransportCallback {
1669    ctor public SelectBackupTransportCallback();
1670    method public void onFailure(int);
1671    method public void onSuccess(String);
1672  }
1673
1674}
1675
1676package android.app.cloudsearch {
1677
1678  public class CloudSearchManager {
1679    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);
1680  }
1681
1682  public static interface CloudSearchManager.CallBack {
1683    method public void onSearchFailed(@NonNull android.app.cloudsearch.SearchRequest, @NonNull android.app.cloudsearch.SearchResponse);
1684    method public void onSearchSucceeded(@NonNull android.app.cloudsearch.SearchRequest, @NonNull android.app.cloudsearch.SearchResponse);
1685  }
1686
1687  public final class SearchRequest implements android.os.Parcelable {
1688    method public int describeContents();
1689    method @NonNull public String getCallerPackageName();
1690    method public float getMaxLatencyMillis();
1691    method @NonNull public String getQuery();
1692    method @NonNull public String getRequestId();
1693    method public int getResultNumber();
1694    method public int getResultOffset();
1695    method @NonNull public android.os.Bundle getSearchConstraints();
1696    method public void writeToParcel(@NonNull android.os.Parcel, int);
1697    field public static final String CONSTRAINT_IS_PRESUBMIT_SUGGESTION = "android.app.cloudsearch.IS_PRESUBMIT_SUGGESTION";
1698    field public static final String CONSTRAINT_SEARCH_PROVIDER_FILTER = "android.app.cloudsearch.SEARCH_PROVIDER_FILTER";
1699    field @NonNull public static final android.os.Parcelable.Creator<android.app.cloudsearch.SearchRequest> CREATOR;
1700  }
1701
1702  public static final class SearchRequest.Builder {
1703    ctor public SearchRequest.Builder(@NonNull String);
1704    method @NonNull public android.app.cloudsearch.SearchRequest build();
1705    method @NonNull public android.app.cloudsearch.SearchRequest.Builder setMaxLatencyMillis(float);
1706    method @NonNull public android.app.cloudsearch.SearchRequest.Builder setQuery(@NonNull String);
1707    method @NonNull public android.app.cloudsearch.SearchRequest.Builder setResultNumber(int);
1708    method @NonNull public android.app.cloudsearch.SearchRequest.Builder setResultOffset(int);
1709    method @NonNull public android.app.cloudsearch.SearchRequest.Builder setSearchConstraints(@Nullable android.os.Bundle);
1710  }
1711
1712  public final class SearchResponse implements android.os.Parcelable {
1713    method public int describeContents();
1714    method @NonNull public java.util.List<android.app.cloudsearch.SearchResult> getSearchResults();
1715    method @NonNull public String getSource();
1716    method public int getStatusCode();
1717    method public void writeToParcel(@NonNull android.os.Parcel, int);
1718    field @NonNull public static final android.os.Parcelable.Creator<android.app.cloudsearch.SearchResponse> CREATOR;
1719    field public static final int SEARCH_STATUS_NO_INTERNET = 2; // 0x2
1720    field public static final int SEARCH_STATUS_OK = 0; // 0x0
1721    field public static final int SEARCH_STATUS_TIME_OUT = 1; // 0x1
1722    field public static final int SEARCH_STATUS_UNKNOWN = -1; // 0xffffffff
1723  }
1724
1725  public static final class SearchResponse.Builder {
1726    ctor public SearchResponse.Builder(int);
1727    method @NonNull public android.app.cloudsearch.SearchResponse build();
1728    method @NonNull public android.app.cloudsearch.SearchResponse.Builder setSearchResults(@NonNull java.util.List<android.app.cloudsearch.SearchResult>);
1729    method @NonNull public android.app.cloudsearch.SearchResponse.Builder setStatusCode(int);
1730  }
1731
1732  public final class SearchResult implements android.os.Parcelable {
1733    method public int describeContents();
1734    method @NonNull public android.os.Bundle getExtraInfos();
1735    method public float getScore();
1736    method @NonNull public String getSnippet();
1737    method @NonNull public String getTitle();
1738    method public void writeToParcel(@NonNull android.os.Parcel, int);
1739    field @NonNull public static final android.os.Parcelable.Creator<android.app.cloudsearch.SearchResult> CREATOR;
1740    field public static final String EXTRAINFO_ACTION_APP_CARD = "android.app.cloudsearch.ACTION_APP_CARD";
1741    field public static final String EXTRAINFO_ACTION_BUTTON_IMAGE_PREREGISTERING = "android.app.cloudsearch.ACTION_BUTTON_IMAGE";
1742    field public static final String EXTRAINFO_ACTION_BUTTON_TEXT_PREREGISTERING = "android.app.cloudsearch.ACTION_BUTTON_TEXT";
1743    field public static final String EXTRAINFO_ACTION_INSTALL_BUTTON = "android.app.cloudsearch.ACTION_INSTALL_BUTTON";
1744    field public static final String EXTRAINFO_APP_BADGES = "android.app.cloudsearch.APP_BADGES";
1745    field public static final String EXTRAINFO_APP_CONTAINS_ADS_DISCLAIMER = "android.app.cloudsearch.APP_CONTAINS_ADS_DISCLAIMER";
1746    field public static final String EXTRAINFO_APP_CONTAINS_IAP_DISCLAIMER = "android.app.cloudsearch.APP_CONTAINS_IAP_DISCLAIMER";
1747    field public static final String EXTRAINFO_APP_DEVELOPER_NAME = "android.app.cloudsearch.APP_DEVELOPER_NAME";
1748    field public static final String EXTRAINFO_APP_DOMAIN_URL = "android.app.cloudsearch.APP_DOMAIN_URL";
1749    field public static final String EXTRAINFO_APP_IARC = "android.app.cloudsearch.APP_IARC";
1750    field public static final String EXTRAINFO_APP_ICON = "android.app.cloudsearch.APP_ICON";
1751    field public static final String EXTRAINFO_APP_INSTALL_COUNT = "android.app.cloudsearch.APP_INSTALL_COUNT";
1752    field public static final String EXTRAINFO_APP_PACKAGE_NAME = "android.app.cloudsearch.APP_PACKAGE_NAME";
1753    field public static final String EXTRAINFO_APP_REVIEW_COUNT = "android.app.cloudsearch.APP_REVIEW_COUNT";
1754    field public static final String EXTRAINFO_APP_SIZE_BYTES = "android.app.cloudsearch.APP_SIZE_BYTES";
1755    field public static final String EXTRAINFO_APP_STAR_RATING = "android.app.cloudsearch.APP_STAR_RATING";
1756    field public static final String EXTRAINFO_LONG_DESCRIPTION = "android.app.cloudsearch.LONG_DESCRIPTION";
1757    field public static final String EXTRAINFO_SCREENSHOTS = "android.app.cloudsearch.SCREENSHOTS";
1758    field public static final String EXTRAINFO_SHORT_DESCRIPTION = "android.app.cloudsearch.SHORT_DESCRIPTION";
1759    field public static final String EXTRAINFO_WEB_ICON = "android.app.cloudsearch.WEB_ICON";
1760    field public static final String EXTRAINFO_WEB_URL = "android.app.cloudsearch.WEB_URL";
1761  }
1762
1763  public static final class SearchResult.Builder {
1764    ctor public SearchResult.Builder(@NonNull String, @NonNull android.os.Bundle);
1765    method @NonNull public android.app.cloudsearch.SearchResult build();
1766    method @NonNull public android.app.cloudsearch.SearchResult.Builder setExtraInfos(@NonNull android.os.Bundle);
1767    method @NonNull public android.app.cloudsearch.SearchResult.Builder setScore(float);
1768    method @NonNull public android.app.cloudsearch.SearchResult.Builder setSnippet(@NonNull String);
1769    method @NonNull public android.app.cloudsearch.SearchResult.Builder setTitle(@NonNull String);
1770  }
1771
1772}
1773
1774package android.app.compat {
1775
1776  public final class CompatChanges {
1777    method public static boolean isChangeEnabled(long);
1778    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);
1779    method @RequiresPermission(allOf={"android.permission.READ_COMPAT_CHANGE_CONFIG", "android.permission.LOG_COMPAT_CHANGE"}) public static boolean isChangeEnabled(long, int);
1780    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>>);
1781    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>);
1782    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>>);
1783    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>);
1784  }
1785
1786  public final class PackageOverride {
1787    method public long getMaxVersionCode();
1788    method public long getMinVersionCode();
1789    method public boolean isEnabled();
1790  }
1791
1792  public static final class PackageOverride.Builder {
1793    ctor public PackageOverride.Builder();
1794    method @NonNull public android.app.compat.PackageOverride build();
1795    method @NonNull public android.app.compat.PackageOverride.Builder setEnabled(boolean);
1796    method @NonNull public android.app.compat.PackageOverride.Builder setMaxVersionCode(long);
1797    method @NonNull public android.app.compat.PackageOverride.Builder setMinVersionCode(long);
1798  }
1799
1800}
1801
1802package android.app.contentsuggestions {
1803
1804  public final class ClassificationsRequest implements android.os.Parcelable {
1805    method public int describeContents();
1806    method @NonNull public android.os.Bundle getExtras();
1807    method @NonNull public java.util.List<android.app.contentsuggestions.ContentSelection> getSelections();
1808    method public void writeToParcel(android.os.Parcel, int);
1809    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ClassificationsRequest> CREATOR;
1810  }
1811
1812  public static final class ClassificationsRequest.Builder {
1813    ctor public ClassificationsRequest.Builder(@NonNull java.util.List<android.app.contentsuggestions.ContentSelection>);
1814    method @NonNull public android.app.contentsuggestions.ClassificationsRequest build();
1815    method @NonNull public android.app.contentsuggestions.ClassificationsRequest.Builder setExtras(@NonNull android.os.Bundle);
1816  }
1817
1818  public final class ContentClassification implements android.os.Parcelable {
1819    ctor public ContentClassification(@NonNull String, @NonNull android.os.Bundle);
1820    method public int describeContents();
1821    method @NonNull public android.os.Bundle getExtras();
1822    method @NonNull public String getId();
1823    method public void writeToParcel(android.os.Parcel, int);
1824    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ContentClassification> CREATOR;
1825  }
1826
1827  public final class ContentSelection implements android.os.Parcelable {
1828    ctor public ContentSelection(@NonNull String, @NonNull android.os.Bundle);
1829    method public int describeContents();
1830    method @NonNull public android.os.Bundle getExtras();
1831    method @NonNull public String getId();
1832    method public void writeToParcel(android.os.Parcel, int);
1833    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ContentSelection> CREATOR;
1834  }
1835
1836  public final class ContentSuggestionsManager {
1837    method public void classifyContentSelections(@NonNull android.app.contentsuggestions.ClassificationsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.ClassificationsCallback);
1838    method public boolean isEnabled();
1839    method public void notifyInteraction(@NonNull String, @NonNull android.os.Bundle);
1840    method public void provideContextImage(@NonNull android.graphics.Bitmap, @NonNull android.os.Bundle);
1841    method public void provideContextImage(int, @NonNull android.os.Bundle);
1842    method public void suggestContentSelections(@NonNull android.app.contentsuggestions.SelectionsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.SelectionsCallback);
1843  }
1844
1845  public static interface ContentSuggestionsManager.ClassificationsCallback {
1846    method public void onContentClassificationsAvailable(int, @NonNull java.util.List<android.app.contentsuggestions.ContentClassification>);
1847  }
1848
1849  public static interface ContentSuggestionsManager.SelectionsCallback {
1850    method public void onContentSelectionsAvailable(int, @NonNull java.util.List<android.app.contentsuggestions.ContentSelection>);
1851  }
1852
1853  public final class SelectionsRequest implements android.os.Parcelable {
1854    method public int describeContents();
1855    method @NonNull public android.os.Bundle getExtras();
1856    method @Nullable public android.graphics.Point getInterestPoint();
1857    method public int getTaskId();
1858    method public void writeToParcel(android.os.Parcel, int);
1859    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.SelectionsRequest> CREATOR;
1860  }
1861
1862  public static final class SelectionsRequest.Builder {
1863    ctor public SelectionsRequest.Builder(int);
1864    method @NonNull public android.app.contentsuggestions.SelectionsRequest build();
1865    method @NonNull public android.app.contentsuggestions.SelectionsRequest.Builder setExtras(@NonNull android.os.Bundle);
1866    method @NonNull public android.app.contentsuggestions.SelectionsRequest.Builder setInterestPoint(@NonNull android.graphics.Point);
1867  }
1868
1869}
1870
1871package android.app.job {
1872
1873  public abstract class JobScheduler {
1874    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public abstract int scheduleAsPackage(@NonNull android.app.job.JobInfo, @NonNull String, int, String);
1875  }
1876
1877  public class JobSchedulerFrameworkInitializer {
1878    method public static void registerServiceWrappers();
1879  }
1880
1881}
1882
1883package android.app.people {
1884
1885  public final class PeopleManager {
1886    method @RequiresPermission(android.Manifest.permission.READ_PEOPLE_DATA) public boolean isConversation(@NonNull String, @NonNull String);
1887  }
1888
1889}
1890
1891package android.app.prediction {
1892
1893  public final class AppPredictionContext implements android.os.Parcelable {
1894    method public int describeContents();
1895    method @Nullable public android.os.Bundle getExtras();
1896    method @NonNull public String getPackageName();
1897    method @IntRange(from=0) public int getPredictedTargetCount();
1898    method @NonNull public String getUiSurface();
1899    method public void writeToParcel(@NonNull android.os.Parcel, int);
1900    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionContext> CREATOR;
1901  }
1902
1903  public static final class AppPredictionContext.Builder {
1904    ctor public AppPredictionContext.Builder(@NonNull android.content.Context);
1905    method @NonNull public android.app.prediction.AppPredictionContext build();
1906    method @NonNull public android.app.prediction.AppPredictionContext.Builder setExtras(@Nullable android.os.Bundle);
1907    method @NonNull public android.app.prediction.AppPredictionContext.Builder setPredictedTargetCount(@IntRange(from=0) int);
1908    method @NonNull public android.app.prediction.AppPredictionContext.Builder setUiSurface(@NonNull String);
1909  }
1910
1911  public final class AppPredictionManager {
1912    method @NonNull public android.app.prediction.AppPredictor createAppPredictionSession(@NonNull android.app.prediction.AppPredictionContext);
1913  }
1914
1915  public final class AppPredictionSessionId implements android.os.Parcelable {
1916    method public int describeContents();
1917    method public void writeToParcel(android.os.Parcel, int);
1918    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionSessionId> CREATOR;
1919  }
1920
1921  public final class AppPredictor {
1922    method public void destroy();
1923    method public void notifyAppTargetEvent(@NonNull android.app.prediction.AppTargetEvent);
1924    method public void notifyLaunchLocationShown(@NonNull String, @NonNull java.util.List<android.app.prediction.AppTargetId>);
1925    method public void registerPredictionUpdates(@NonNull java.util.concurrent.Executor, @NonNull android.app.prediction.AppPredictor.Callback);
1926    method public void requestPredictionUpdate();
1927    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>>);
1928    method public void unregisterPredictionUpdates(@NonNull android.app.prediction.AppPredictor.Callback);
1929  }
1930
1931  public static interface AppPredictor.Callback {
1932    method public void onTargetsAvailable(@NonNull java.util.List<android.app.prediction.AppTarget>);
1933  }
1934
1935  public final class AppTarget implements android.os.Parcelable {
1936    method public int describeContents();
1937    method @Nullable public String getClassName();
1938    method @NonNull public android.app.prediction.AppTargetId getId();
1939    method @NonNull public String getPackageName();
1940    method @IntRange(from=0) public int getRank();
1941    method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
1942    method @NonNull public android.os.UserHandle getUser();
1943    method public void writeToParcel(android.os.Parcel, int);
1944    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTarget> CREATOR;
1945  }
1946
1947  public static final class AppTarget.Builder {
1948    ctor public AppTarget.Builder(@NonNull android.app.prediction.AppTargetId, @NonNull String, @NonNull android.os.UserHandle);
1949    ctor public AppTarget.Builder(@NonNull android.app.prediction.AppTargetId, @NonNull android.content.pm.ShortcutInfo);
1950    method @NonNull public android.app.prediction.AppTarget build();
1951    method @NonNull public android.app.prediction.AppTarget.Builder setClassName(@NonNull String);
1952    method @NonNull public android.app.prediction.AppTarget.Builder setRank(@IntRange(from=0) int);
1953  }
1954
1955  public final class AppTargetEvent implements android.os.Parcelable {
1956    method public int describeContents();
1957    method public int getAction();
1958    method @Nullable public String getLaunchLocation();
1959    method @Nullable public android.app.prediction.AppTarget getTarget();
1960    method public void writeToParcel(android.os.Parcel, int);
1961    field public static final int ACTION_DISMISS = 2; // 0x2
1962    field public static final int ACTION_LAUNCH = 1; // 0x1
1963    field public static final int ACTION_PIN = 3; // 0x3
1964    field public static final int ACTION_UNDISMISS = 5; // 0x5
1965    field public static final int ACTION_UNPIN = 4; // 0x4
1966    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetEvent> CREATOR;
1967  }
1968
1969  public static final class AppTargetEvent.Builder {
1970    ctor public AppTargetEvent.Builder(@Nullable android.app.prediction.AppTarget, int);
1971    method @NonNull public android.app.prediction.AppTargetEvent build();
1972    method @NonNull public android.app.prediction.AppTargetEvent.Builder setLaunchLocation(@Nullable String);
1973  }
1974
1975  public final class AppTargetId implements android.os.Parcelable {
1976    ctor public AppTargetId(@NonNull String);
1977    method public int describeContents();
1978    method public void writeToParcel(android.os.Parcel, int);
1979    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetId> CREATOR;
1980  }
1981
1982}
1983
1984package android.app.role {
1985
1986  public interface OnRoleHoldersChangedListener {
1987    method public void onRoleHoldersChanged(@NonNull String, @NonNull android.os.UserHandle);
1988  }
1989
1990  @Deprecated public abstract class RoleControllerService extends android.app.Service {
1991    ctor @Deprecated public RoleControllerService();
1992    method @Deprecated @WorkerThread public abstract boolean onAddRoleHolder(@NonNull String, @NonNull String, int);
1993    method @Deprecated @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
1994    method @Deprecated @WorkerThread public abstract boolean onClearRoleHolders(@NonNull String, int);
1995    method @Deprecated @WorkerThread public abstract boolean onGrantDefaultRoles();
1996    method @Deprecated public abstract boolean onIsApplicationQualifiedForRole(@NonNull String, @NonNull String);
1997    method @Deprecated public boolean onIsApplicationVisibleForRole(@NonNull String, @NonNull String);
1998    method @Deprecated public abstract boolean onIsRoleVisible(@NonNull String);
1999    method @Deprecated @WorkerThread public abstract boolean onRemoveRoleHolder(@NonNull String, @NonNull String, int);
2000    field @Deprecated public static final String SERVICE_INTERFACE = "android.app.role.RoleControllerService";
2001  }
2002
2003  public final class RoleManager {
2004    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);
2005    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>);
2006    method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean addRoleHolderFromController(@NonNull String, @NonNull String);
2007    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>);
2008    method @Deprecated @NonNull @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public java.util.List<java.lang.String> getHeldRolesFromController(@NonNull String);
2009    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public java.util.List<java.lang.String> getRoleHolders(@NonNull String);
2010    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public java.util.List<java.lang.String> getRoleHoldersAsUser(@NonNull String, @NonNull android.os.UserHandle);
2011    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>);
2012    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public boolean isBypassingRoleQualification();
2013    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>);
2014    method @RequiresPermission(android.Manifest.permission.OBSERVE_ROLE_HOLDERS) public void removeOnRoleHoldersChangedListenerAsUser(@NonNull android.app.role.OnRoleHoldersChangedListener, @NonNull android.os.UserHandle);
2015    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>);
2016    method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean removeRoleHolderFromController(@NonNull String, @NonNull String);
2017    method @RequiresPermission(android.Manifest.permission.BYPASS_ROLE_QUALIFICATION) public void setBypassingRoleQualification(boolean);
2018    method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public void setRoleNamesFromController(@NonNull java.util.List<java.lang.String>);
2019    field public static final int MANAGE_HOLDERS_FLAG_DONT_KILL_APP = 1; // 0x1
2020    field public static final String ROLE_DEVICE_POLICY_MANAGEMENT = "android.app.role.DEVICE_POLICY_MANAGEMENT";
2021    field public static final String ROLE_SYSTEM_ACTIVITY_RECOGNIZER = "android.app.role.SYSTEM_ACTIVITY_RECOGNIZER";
2022    field public static final String ROLE_SYSTEM_SUPERVISION = "android.app.role.SYSTEM_SUPERVISION";
2023    field public static final String ROLE_SYSTEM_WELLBEING = "android.app.role.SYSTEM_WELLBEING";
2024  }
2025
2026}
2027
2028package android.app.search {
2029
2030  public final class Query implements android.os.Parcelable {
2031    ctor public Query(@NonNull String, long, @NonNull android.os.Bundle);
2032    ctor public Query(@NonNull String, long);
2033    method public int describeContents();
2034    method @NonNull public android.os.Bundle getExtras();
2035    method @NonNull public String getInput();
2036    method public long getTimestampMillis();
2037    method public void writeToParcel(@NonNull android.os.Parcel, int);
2038    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.Query> CREATOR;
2039    field public static final String EXTRA_IME_HEIGHT = "android.app.search.extra.IME_HEIGHT";
2040  }
2041
2042  public final class SearchAction implements android.os.Parcelable {
2043    method public int describeContents();
2044    method @Nullable public CharSequence getContentDescription();
2045    method @Nullable public android.os.Bundle getExtras();
2046    method @Nullable public android.graphics.drawable.Icon getIcon();
2047    method @NonNull public String getId();
2048    method @Nullable public android.content.Intent getIntent();
2049    method @Nullable public android.app.PendingIntent getPendingIntent();
2050    method @Nullable public CharSequence getSubtitle();
2051    method @NonNull public CharSequence getTitle();
2052    method @Nullable public android.os.UserHandle getUserHandle();
2053    method public void writeToParcel(@NonNull android.os.Parcel, int);
2054    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchAction> CREATOR;
2055  }
2056
2057  public static final class SearchAction.Builder {
2058    ctor public SearchAction.Builder(@NonNull String, @NonNull String);
2059    method @NonNull public android.app.search.SearchAction build();
2060    method @NonNull public android.app.search.SearchAction.Builder setContentDescription(@Nullable CharSequence);
2061    method @NonNull public android.app.search.SearchAction.Builder setExtras(@Nullable android.os.Bundle);
2062    method @NonNull public android.app.search.SearchAction.Builder setIcon(@Nullable android.graphics.drawable.Icon);
2063    method @NonNull public android.app.search.SearchAction.Builder setIntent(@Nullable android.content.Intent);
2064    method @NonNull public android.app.search.SearchAction.Builder setPendingIntent(@Nullable android.app.PendingIntent);
2065    method @NonNull public android.app.search.SearchAction.Builder setSubtitle(@Nullable CharSequence);
2066    method @NonNull public android.app.search.SearchAction.Builder setUserHandle(@Nullable android.os.UserHandle);
2067  }
2068
2069  public final class SearchContext implements android.os.Parcelable {
2070    ctor public SearchContext(int, int);
2071    ctor public SearchContext(int, int, @NonNull android.os.Bundle);
2072    method public int describeContents();
2073    method @NonNull public android.os.Bundle getExtras();
2074    method @Nullable public String getPackageName();
2075    method @NonNull public int getResultTypes();
2076    method @NonNull public int getTimeoutMillis();
2077    method public void writeToParcel(@NonNull android.os.Parcel, int);
2078    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchContext> CREATOR;
2079  }
2080
2081  public final class SearchSession implements java.lang.AutoCloseable {
2082    method public void close();
2083    method protected void finalize();
2084    method public void notifyEvent(@NonNull android.app.search.Query, @NonNull android.app.search.SearchTargetEvent);
2085    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>>);
2086  }
2087
2088  public final class SearchSessionId implements android.os.Parcelable {
2089    method public int describeContents();
2090    method public void writeToParcel(@NonNull android.os.Parcel, int);
2091    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchSessionId> CREATOR;
2092  }
2093
2094  public final class SearchTarget implements android.os.Parcelable {
2095    method public int describeContents();
2096    method @Nullable public android.appwidget.AppWidgetProviderInfo getAppWidgetProviderInfo();
2097    method @NonNull public android.os.Bundle getExtras();
2098    method @NonNull public String getId();
2099    method @NonNull public String getLayoutType();
2100    method @NonNull public String getPackageName();
2101    method @NonNull public String getParentId();
2102    method public int getResultType();
2103    method public float getScore();
2104    method @Nullable public android.app.search.SearchAction getSearchAction();
2105    method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
2106    method @Nullable public android.net.Uri getSliceUri();
2107    method @NonNull public android.os.UserHandle getUserHandle();
2108    method public boolean isHidden();
2109    method public void writeToParcel(@NonNull android.os.Parcel, int);
2110    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchTarget> CREATOR;
2111    field public static final String LAYOUT_TYPE_ICON = "icon";
2112    field public static final String LAYOUT_TYPE_ICON_ROW = "icon_row";
2113    field public static final String LAYOUT_TYPE_SHORT_ICON_ROW = "short_icon_row";
2114    field public static final int RESULT_TYPE_APPLICATION = 1; // 0x1
2115    field public static final int RESULT_TYPE_SHORTCUT = 2; // 0x2
2116    field public static final int RESULT_TYPE_SLICE = 4; // 0x4
2117    field public static final int RESULT_TYPE_WIDGETS = 8; // 0x8
2118  }
2119
2120  public static final class SearchTarget.Builder {
2121    ctor public SearchTarget.Builder(int, @NonNull String, @NonNull String);
2122    method @NonNull public android.app.search.SearchTarget build();
2123    method @NonNull public android.app.search.SearchTarget.Builder setAppWidgetProviderInfo(@NonNull android.appwidget.AppWidgetProviderInfo);
2124    method @NonNull public android.app.search.SearchTarget.Builder setExtras(@NonNull android.os.Bundle);
2125    method @NonNull public android.app.search.SearchTarget.Builder setHidden(boolean);
2126    method @NonNull public android.app.search.SearchTarget.Builder setPackageName(@NonNull String);
2127    method @NonNull public android.app.search.SearchTarget.Builder setParentId(@NonNull String);
2128    method @NonNull public android.app.search.SearchTarget.Builder setScore(@FloatRange(from=0.0f, to=1.0f) float);
2129    method @NonNull public android.app.search.SearchTarget.Builder setSearchAction(@Nullable android.app.search.SearchAction);
2130    method @NonNull public android.app.search.SearchTarget.Builder setShortcutInfo(@NonNull android.content.pm.ShortcutInfo);
2131    method @NonNull public android.app.search.SearchTarget.Builder setSliceUri(@NonNull android.net.Uri);
2132    method @NonNull public android.app.search.SearchTarget.Builder setUserHandle(@NonNull android.os.UserHandle);
2133  }
2134
2135  public final class SearchTargetEvent implements android.os.Parcelable {
2136    method public int describeContents();
2137    method public int getAction();
2138    method public int getFlags();
2139    method @Nullable public String getLaunchLocation();
2140    method @NonNull public String getTargetId();
2141    method @NonNull public java.util.List<java.lang.String> getTargetIds();
2142    method public void writeToParcel(@NonNull android.os.Parcel, int);
2143    field public static final int ACTION_DRAGNDROP = 7; // 0x7
2144    field public static final int ACTION_LAUNCH_KEYBOARD_FOCUS = 6; // 0x6
2145    field public static final int ACTION_LAUNCH_TOUCH = 5; // 0x5
2146    field public static final int ACTION_LONGPRESS = 4; // 0x4
2147    field public static final int ACTION_SURFACE_INVISIBLE = 8; // 0x8
2148    field public static final int ACTION_SURFACE_VISIBLE = 1; // 0x1
2149    field public static final int ACTION_TAP = 3; // 0x3
2150    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchTargetEvent> CREATOR;
2151    field public static final int FLAG_IME_SHOWN = 1; // 0x1
2152  }
2153
2154  public static final class SearchTargetEvent.Builder {
2155    ctor public SearchTargetEvent.Builder(@NonNull String, int);
2156    ctor public SearchTargetEvent.Builder(@NonNull java.util.List<java.lang.String>, int);
2157    method @NonNull public android.app.search.SearchTargetEvent build();
2158    method @NonNull public android.app.search.SearchTargetEvent.Builder setFlags(int);
2159    method @NonNull public android.app.search.SearchTargetEvent.Builder setLaunchLocation(@Nullable String);
2160  }
2161
2162  public final class SearchUiManager {
2163    method @NonNull public android.app.search.SearchSession createSearchSession(@NonNull android.app.search.SearchContext);
2164  }
2165
2166}
2167
2168package android.app.smartspace {
2169
2170  public final class SmartspaceAction implements android.os.Parcelable {
2171    method public int describeContents();
2172    method @Nullable public CharSequence getContentDescription();
2173    method @Nullable public android.os.Bundle getExtras();
2174    method @Nullable public android.graphics.drawable.Icon getIcon();
2175    method @NonNull public String getId();
2176    method @Nullable public android.content.Intent getIntent();
2177    method @Nullable public android.app.PendingIntent getPendingIntent();
2178    method @Nullable public CharSequence getSubtitle();
2179    method @NonNull public CharSequence getTitle();
2180    method @Nullable public android.os.UserHandle getUserHandle();
2181    method public void writeToParcel(@NonNull android.os.Parcel, int);
2182    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceAction> CREATOR;
2183  }
2184
2185  public static final class SmartspaceAction.Builder {
2186    ctor public SmartspaceAction.Builder(@NonNull String, @NonNull String);
2187    method @NonNull public android.app.smartspace.SmartspaceAction build();
2188    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setContentDescription(@Nullable CharSequence);
2189    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setExtras(@Nullable android.os.Bundle);
2190    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setIcon(@Nullable android.graphics.drawable.Icon);
2191    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setIntent(@Nullable android.content.Intent);
2192    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setPendingIntent(@Nullable android.app.PendingIntent);
2193    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setSubtitle(@Nullable CharSequence);
2194    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setUserHandle(@Nullable android.os.UserHandle);
2195  }
2196
2197  public final class SmartspaceConfig implements android.os.Parcelable {
2198    method public int describeContents();
2199    method @Nullable public android.os.Bundle getExtras();
2200    method @NonNull public String getPackageName();
2201    method @NonNull public int getSmartspaceTargetCount();
2202    method @NonNull public String getUiSurface();
2203    method public void writeToParcel(@NonNull android.os.Parcel, int);
2204    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceConfig> CREATOR;
2205  }
2206
2207  public static final class SmartspaceConfig.Builder {
2208    ctor public SmartspaceConfig.Builder(@NonNull android.content.Context, @NonNull String);
2209    method @NonNull public android.app.smartspace.SmartspaceConfig build();
2210    method @NonNull public android.app.smartspace.SmartspaceConfig.Builder setExtras(@NonNull android.os.Bundle);
2211    method @NonNull public android.app.smartspace.SmartspaceConfig.Builder setSmartspaceTargetCount(@IntRange(from=0, to=50) int);
2212  }
2213
2214  public final class SmartspaceManager {
2215    method @NonNull public android.app.smartspace.SmartspaceSession createSmartspaceSession(@NonNull android.app.smartspace.SmartspaceConfig);
2216  }
2217
2218  public final class SmartspaceSession implements java.lang.AutoCloseable {
2219    method public void addOnTargetsAvailableListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.smartspace.SmartspaceSession.OnTargetsAvailableListener);
2220    method public void close();
2221    method protected void finalize();
2222    method public void notifySmartspaceEvent(@NonNull android.app.smartspace.SmartspaceTargetEvent);
2223    method public void removeOnTargetsAvailableListener(@NonNull android.app.smartspace.SmartspaceSession.OnTargetsAvailableListener);
2224    method public void requestSmartspaceUpdate();
2225  }
2226
2227  public static interface SmartspaceSession.OnTargetsAvailableListener {
2228    method public void onTargetsAvailable(@NonNull java.util.List<android.app.smartspace.SmartspaceTarget>);
2229  }
2230
2231  public final class SmartspaceSessionId implements android.os.Parcelable {
2232    method public int describeContents();
2233    method @Nullable public String getId();
2234    method @NonNull public android.os.UserHandle getUserHandle();
2235    method public void writeToParcel(@NonNull android.os.Parcel, int);
2236    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceSessionId> CREATOR;
2237  }
2238
2239  public final class SmartspaceTarget implements android.os.Parcelable {
2240    method public int describeContents();
2241    method @NonNull public java.util.List<android.app.smartspace.SmartspaceAction> getActionChips();
2242    method @Nullable public String getAssociatedSmartspaceTargetId();
2243    method @Nullable public android.app.smartspace.SmartspaceAction getBaseAction();
2244    method @NonNull public android.content.ComponentName getComponentName();
2245    method public long getCreationTimeMillis();
2246    method public long getExpiryTimeMillis();
2247    method public int getFeatureType();
2248    method @Nullable public android.app.smartspace.SmartspaceAction getHeaderAction();
2249    method @NonNull public java.util.List<android.app.smartspace.SmartspaceAction> getIconGrid();
2250    method public float getScore();
2251    method @Nullable public android.net.Uri getSliceUri();
2252    method @NonNull public String getSmartspaceTargetId();
2253    method @Nullable public String getSourceNotificationKey();
2254    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData getTemplateData();
2255    method @NonNull public android.os.UserHandle getUserHandle();
2256    method @Nullable public android.appwidget.AppWidgetProviderInfo getWidget();
2257    method public boolean isSensitive();
2258    method public boolean shouldShowExpanded();
2259    method public void writeToParcel(@NonNull android.os.Parcel, int);
2260    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceTarget> CREATOR;
2261    field public static final int FEATURE_ALARM = 7; // 0x7
2262    field public static final int FEATURE_BEDTIME_ROUTINE = 16; // 0x10
2263    field public static final int FEATURE_BLAZE_BUILD_PROGRESS = 40; // 0x28
2264    field public static final int FEATURE_CALENDAR = 2; // 0x2
2265    field public static final int FEATURE_COMMUTE_TIME = 3; // 0x3
2266    field public static final int FEATURE_CONSENT = 11; // 0xb
2267    field public static final int FEATURE_CROSS_DEVICE_TIMER = 32; // 0x20
2268    field public static final int FEATURE_DOORBELL = 30; // 0x1e
2269    field public static final int FEATURE_DRIVING_MODE = 26; // 0x1a
2270    field public static final int FEATURE_EARTHQUAKE_ALERT = 38; // 0x26
2271    field public static final int FEATURE_EARTHQUAKE_OCCURRED = 41; // 0x29
2272    field public static final int FEATURE_ETA_MONITORING = 18; // 0x12
2273    field public static final int FEATURE_FITNESS_TRACKING = 17; // 0x11
2274    field public static final int FEATURE_FLASHLIGHT = 28; // 0x1c
2275    field public static final int FEATURE_FLIGHT = 4; // 0x4
2276    field public static final int FEATURE_GAS_STATION_PAYMENT = 24; // 0x18
2277    field public static final int FEATURE_HOLIDAY_ALARM = 34; // 0x22
2278    field public static final int FEATURE_LOYALTY_CARD = 14; // 0xe
2279    field public static final int FEATURE_MEDIA = 15; // 0xf
2280    field public static final int FEATURE_MEDIA_HEADS_UP = 36; // 0x24
2281    field public static final int FEATURE_MEDIA_RESUME = 31; // 0x1f
2282    field public static final int FEATURE_MISSED_CALL = 19; // 0x13
2283    field public static final int FEATURE_ONBOARDING = 8; // 0x8
2284    field public static final int FEATURE_PACKAGE_TRACKING = 20; // 0x14
2285    field public static final int FEATURE_PAIRED_DEVICE_STATE = 25; // 0x19
2286    field public static final int FEATURE_REMINDER = 6; // 0x6
2287    field public static final int FEATURE_SAFETY_CHECK = 35; // 0x23
2288    field public static final int FEATURE_SEVERE_WEATHER_ALERT = 33; // 0x21
2289    field public static final int FEATURE_SHOPPING_LIST = 13; // 0xd
2290    field public static final int FEATURE_SLEEP_SUMMARY = 27; // 0x1b
2291    field public static final int FEATURE_SPORTS = 9; // 0x9
2292    field public static final int FEATURE_STEP_COUNTING = 37; // 0x25
2293    field public static final int FEATURE_STEP_DATE = 39; // 0x27
2294    field public static final int FEATURE_STOCK_PRICE_CHANGE = 12; // 0xc
2295    field public static final int FEATURE_STOPWATCH = 22; // 0x16
2296    field public static final int FEATURE_TIMER = 21; // 0x15
2297    field public static final int FEATURE_TIME_TO_LEAVE = 29; // 0x1d
2298    field public static final int FEATURE_TIPS = 5; // 0x5
2299    field public static final int FEATURE_UNDEFINED = 0; // 0x0
2300    field public static final int FEATURE_UPCOMING_ALARM = 23; // 0x17
2301    field public static final int FEATURE_WEATHER = 1; // 0x1
2302    field public static final int FEATURE_WEATHER_ALERT = 10; // 0xa
2303    field public static final int UI_TEMPLATE_CAROUSEL = 4; // 0x4
2304    field public static final int UI_TEMPLATE_COMBINED_CARDS = 6; // 0x6
2305    field public static final int UI_TEMPLATE_DEFAULT = 1; // 0x1
2306    field public static final int UI_TEMPLATE_HEAD_TO_HEAD = 5; // 0x5
2307    field public static final int UI_TEMPLATE_SUB_CARD = 7; // 0x7
2308    field public static final int UI_TEMPLATE_SUB_IMAGE = 2; // 0x2
2309    field public static final int UI_TEMPLATE_SUB_LIST = 3; // 0x3
2310    field public static final int UI_TEMPLATE_UNDEFINED = 0; // 0x0
2311  }
2312
2313  public static final class SmartspaceTarget.Builder {
2314    ctor public SmartspaceTarget.Builder(@NonNull String, @NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
2315    method @NonNull public android.app.smartspace.SmartspaceTarget build();
2316    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setActionChips(@NonNull java.util.List<android.app.smartspace.SmartspaceAction>);
2317    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setAssociatedSmartspaceTargetId(@NonNull String);
2318    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setBaseAction(@NonNull android.app.smartspace.SmartspaceAction);
2319    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setCreationTimeMillis(long);
2320    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setExpiryTimeMillis(long);
2321    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setFeatureType(int);
2322    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setHeaderAction(@NonNull android.app.smartspace.SmartspaceAction);
2323    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setIconGrid(@NonNull java.util.List<android.app.smartspace.SmartspaceAction>);
2324    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setScore(float);
2325    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSensitive(boolean);
2326    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setShouldShowExpanded(boolean);
2327    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSliceUri(@NonNull android.net.Uri);
2328    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSourceNotificationKey(@NonNull String);
2329    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setTemplateData(@Nullable android.app.smartspace.uitemplatedata.BaseTemplateData);
2330    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setWidget(@NonNull android.appwidget.AppWidgetProviderInfo);
2331  }
2332
2333  public final class SmartspaceTargetEvent implements android.os.Parcelable {
2334    method public int describeContents();
2335    method @NonNull public int getEventType();
2336    method @Nullable public String getSmartspaceActionId();
2337    method @Nullable public android.app.smartspace.SmartspaceTarget getSmartspaceTarget();
2338    method public void writeToParcel(@NonNull android.os.Parcel, int);
2339    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceTargetEvent> CREATOR;
2340    field public static final int EVENT_TARGET_BLOCK = 5; // 0x5
2341    field public static final int EVENT_TARGET_DISMISS = 4; // 0x4
2342    field public static final int EVENT_TARGET_HIDDEN = 3; // 0x3
2343    field public static final int EVENT_TARGET_INTERACTION = 1; // 0x1
2344    field public static final int EVENT_TARGET_SHOWN = 2; // 0x2
2345    field public static final int EVENT_UI_SURFACE_HIDDEN = 7; // 0x7
2346    field public static final int EVENT_UI_SURFACE_SHOWN = 6; // 0x6
2347  }
2348
2349  public static final class SmartspaceTargetEvent.Builder {
2350    ctor public SmartspaceTargetEvent.Builder(int);
2351    method @NonNull public android.app.smartspace.SmartspaceTargetEvent build();
2352    method @NonNull public android.app.smartspace.SmartspaceTargetEvent.Builder setSmartspaceActionId(@NonNull String);
2353    method @NonNull public android.app.smartspace.SmartspaceTargetEvent.Builder setSmartspaceTarget(@NonNull android.app.smartspace.SmartspaceTarget);
2354  }
2355
2356}
2357
2358package android.app.smartspace.uitemplatedata {
2359
2360  public class BaseTemplateData implements android.os.Parcelable {
2361    method public int describeContents();
2362    method public int getLayoutWeight();
2363    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo getPrimaryItem();
2364    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo getSubtitleItem();
2365    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo getSubtitleSupplementalItem();
2366    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo getSupplementalAlarmItem();
2367    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo getSupplementalLineItem();
2368    method public int getTemplateType();
2369    method public void writeToParcel(@NonNull android.os.Parcel, int);
2370    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.BaseTemplateData> CREATOR;
2371  }
2372
2373  public static class BaseTemplateData.Builder {
2374    ctor public BaseTemplateData.Builder(int);
2375    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData build();
2376    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setLayoutWeight(int);
2377    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setPrimaryItem(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo);
2378    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSubtitleItem(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo);
2379    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSubtitleSupplementalItem(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo);
2380    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSupplementalAlarmItem(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo);
2381    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSupplementalLineItem(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo);
2382  }
2383
2384  public static final class BaseTemplateData.SubItemInfo implements android.os.Parcelable {
2385    method public int describeContents();
2386    method @Nullable public android.app.smartspace.uitemplatedata.Icon getIcon();
2387    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemLoggingInfo getLoggingInfo();
2388    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getTapAction();
2389    method @Nullable public android.app.smartspace.uitemplatedata.Text getText();
2390    method public void writeToParcel(@NonNull android.os.Parcel, int);
2391    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo> CREATOR;
2392  }
2393
2394  public static final class BaseTemplateData.SubItemInfo.Builder {
2395    ctor public BaseTemplateData.SubItemInfo.Builder();
2396    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo build();
2397    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo.Builder setIcon(@NonNull android.app.smartspace.uitemplatedata.Icon);
2398    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo.Builder setLoggingInfo(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemLoggingInfo);
2399    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo.Builder setTapAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
2400    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo.Builder setText(@NonNull android.app.smartspace.uitemplatedata.Text);
2401  }
2402
2403  public static final class BaseTemplateData.SubItemLoggingInfo implements android.os.Parcelable {
2404    method public int describeContents();
2405    method public int getFeatureType();
2406    method public int getInstanceId();
2407    method @Nullable public CharSequence getPackageName();
2408    method public void writeToParcel(@NonNull android.os.Parcel, int);
2409    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemLoggingInfo> CREATOR;
2410  }
2411
2412  public static final class BaseTemplateData.SubItemLoggingInfo.Builder {
2413    ctor public BaseTemplateData.SubItemLoggingInfo.Builder(int, int);
2414    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemLoggingInfo build();
2415    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemLoggingInfo.Builder setPackageName(@NonNull CharSequence);
2416  }
2417
2418  public final class CarouselTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
2419    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getCarouselAction();
2420    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem> getCarouselItems();
2421    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.CarouselTemplateData> CREATOR;
2422  }
2423
2424  public static final class CarouselTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
2425    ctor public CarouselTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem>);
2426    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData build();
2427    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.Builder setCarouselAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
2428  }
2429
2430  public static final class CarouselTemplateData.CarouselItem implements android.os.Parcelable {
2431    method public int describeContents();
2432    method @Nullable public android.app.smartspace.uitemplatedata.Icon getImage();
2433    method @Nullable public android.app.smartspace.uitemplatedata.Text getLowerText();
2434    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getTapAction();
2435    method @Nullable public android.app.smartspace.uitemplatedata.Text getUpperText();
2436    method public void writeToParcel(@NonNull android.os.Parcel, int);
2437    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem> CREATOR;
2438  }
2439
2440  public static final class CarouselTemplateData.CarouselItem.Builder {
2441    ctor public CarouselTemplateData.CarouselItem.Builder();
2442    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem build();
2443    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem.Builder setImage(@Nullable android.app.smartspace.uitemplatedata.Icon);
2444    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem.Builder setLowerText(@Nullable android.app.smartspace.uitemplatedata.Text);
2445    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem.Builder setTapAction(@Nullable android.app.smartspace.uitemplatedata.TapAction);
2446    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem.Builder setUpperText(@Nullable android.app.smartspace.uitemplatedata.Text);
2447  }
2448
2449  public final class CombinedCardsTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
2450    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.BaseTemplateData> getCombinedCardDataList();
2451    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.CombinedCardsTemplateData> CREATOR;
2452  }
2453
2454  public static final class CombinedCardsTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
2455    ctor public CombinedCardsTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.BaseTemplateData>);
2456    method @NonNull public android.app.smartspace.uitemplatedata.CombinedCardsTemplateData build();
2457  }
2458
2459  public final class HeadToHeadTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
2460    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getHeadToHeadAction();
2461    method @Nullable public android.app.smartspace.uitemplatedata.Icon getHeadToHeadFirstCompetitorIcon();
2462    method @Nullable public android.app.smartspace.uitemplatedata.Text getHeadToHeadFirstCompetitorText();
2463    method @Nullable public android.app.smartspace.uitemplatedata.Icon getHeadToHeadSecondCompetitorIcon();
2464    method @Nullable public android.app.smartspace.uitemplatedata.Text getHeadToHeadSecondCompetitorText();
2465    method @Nullable public android.app.smartspace.uitemplatedata.Text getHeadToHeadTitle();
2466    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.HeadToHeadTemplateData> CREATOR;
2467  }
2468
2469  public static final class HeadToHeadTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
2470    ctor public HeadToHeadTemplateData.Builder();
2471    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData build();
2472    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadAction(@Nullable android.app.smartspace.uitemplatedata.TapAction);
2473    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadFirstCompetitorIcon(@Nullable android.app.smartspace.uitemplatedata.Icon);
2474    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadFirstCompetitorText(@Nullable android.app.smartspace.uitemplatedata.Text);
2475    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadSecondCompetitorIcon(@Nullable android.app.smartspace.uitemplatedata.Icon);
2476    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadSecondCompetitorText(@Nullable android.app.smartspace.uitemplatedata.Text);
2477    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadTitle(@Nullable android.app.smartspace.uitemplatedata.Text);
2478  }
2479
2480  public final class Icon implements android.os.Parcelable {
2481    method public int describeContents();
2482    method @Nullable public CharSequence getContentDescription();
2483    method @NonNull public android.graphics.drawable.Icon getIcon();
2484    method public boolean shouldTint();
2485    method public void writeToParcel(@NonNull android.os.Parcel, int);
2486    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.Icon> CREATOR;
2487  }
2488
2489  public static final class Icon.Builder {
2490    ctor public Icon.Builder(@NonNull android.graphics.drawable.Icon);
2491    method @NonNull public android.app.smartspace.uitemplatedata.Icon build();
2492    method @NonNull public android.app.smartspace.uitemplatedata.Icon.Builder setContentDescription(@NonNull CharSequence);
2493    method @NonNull public android.app.smartspace.uitemplatedata.Icon.Builder setShouldTint(boolean);
2494  }
2495
2496  public final class SubCardTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
2497    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getSubCardAction();
2498    method @NonNull public android.app.smartspace.uitemplatedata.Icon getSubCardIcon();
2499    method @Nullable public android.app.smartspace.uitemplatedata.Text getSubCardText();
2500    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SubCardTemplateData> CREATOR;
2501  }
2502
2503  public static final class SubCardTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
2504    ctor public SubCardTemplateData.Builder(@NonNull android.app.smartspace.uitemplatedata.Icon);
2505    method @NonNull public android.app.smartspace.uitemplatedata.SubCardTemplateData build();
2506    method @NonNull public android.app.smartspace.uitemplatedata.SubCardTemplateData.Builder setSubCardAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
2507    method @NonNull public android.app.smartspace.uitemplatedata.SubCardTemplateData.Builder setSubCardText(@NonNull android.app.smartspace.uitemplatedata.Text);
2508  }
2509
2510  public final class SubImageTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
2511    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getSubImageAction();
2512    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.Text> getSubImageTexts();
2513    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.Icon> getSubImages();
2514    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SubImageTemplateData> CREATOR;
2515  }
2516
2517  public static final class SubImageTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
2518    ctor public SubImageTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.Text>, @NonNull java.util.List<android.app.smartspace.uitemplatedata.Icon>);
2519    method @NonNull public android.app.smartspace.uitemplatedata.SubImageTemplateData build();
2520    method @NonNull public android.app.smartspace.uitemplatedata.SubImageTemplateData.Builder setSubImageAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
2521  }
2522
2523  public final class SubListTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
2524    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getSubListAction();
2525    method @Nullable public android.app.smartspace.uitemplatedata.Icon getSubListIcon();
2526    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.Text> getSubListTexts();
2527    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SubListTemplateData> CREATOR;
2528  }
2529
2530  public static final class SubListTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
2531    ctor public SubListTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.Text>);
2532    method @NonNull public android.app.smartspace.uitemplatedata.SubListTemplateData build();
2533    method @NonNull public android.app.smartspace.uitemplatedata.SubListTemplateData.Builder setSubListAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
2534    method @NonNull public android.app.smartspace.uitemplatedata.SubListTemplateData.Builder setSubListIcon(@NonNull android.app.smartspace.uitemplatedata.Icon);
2535  }
2536
2537  public final class TapAction implements android.os.Parcelable {
2538    method public int describeContents();
2539    method @Nullable public android.os.Bundle getExtras();
2540    method @Nullable public CharSequence getId();
2541    method @Nullable public android.content.Intent getIntent();
2542    method @Nullable public android.app.PendingIntent getPendingIntent();
2543    method @Nullable public android.os.UserHandle getUserHandle();
2544    method public boolean shouldShowOnLockscreen();
2545    method public void writeToParcel(@NonNull android.os.Parcel, int);
2546    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.TapAction> CREATOR;
2547  }
2548
2549  public static final class TapAction.Builder {
2550    ctor public TapAction.Builder(@NonNull CharSequence);
2551    method @NonNull public android.app.smartspace.uitemplatedata.TapAction build();
2552    method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setExtras(@NonNull android.os.Bundle);
2553    method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setIntent(@NonNull android.content.Intent);
2554    method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setPendingIntent(@NonNull android.app.PendingIntent);
2555    method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setShouldShowOnLockscreen(@NonNull boolean);
2556    method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setUserHandle(@Nullable android.os.UserHandle);
2557  }
2558
2559  public final class Text implements android.os.Parcelable {
2560    method public int describeContents();
2561    method public int getMaxLines();
2562    method @NonNull public CharSequence getText();
2563    method @NonNull public android.text.TextUtils.TruncateAt getTruncateAtType();
2564    method public void writeToParcel(@NonNull android.os.Parcel, int);
2565    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.Text> CREATOR;
2566  }
2567
2568  public static final class Text.Builder {
2569    ctor public Text.Builder(@NonNull CharSequence);
2570    method @NonNull public android.app.smartspace.uitemplatedata.Text build();
2571    method @NonNull public android.app.smartspace.uitemplatedata.Text.Builder setMaxLines(int);
2572    method @NonNull public android.app.smartspace.uitemplatedata.Text.Builder setTruncateAtType(@NonNull android.text.TextUtils.TruncateAt);
2573  }
2574
2575}
2576
2577package android.app.time {
2578
2579  public final class Capabilities {
2580    field public static final int CAPABILITY_NOT_ALLOWED = 20; // 0x14
2581    field public static final int CAPABILITY_NOT_APPLICABLE = 30; // 0x1e
2582    field public static final int CAPABILITY_NOT_SUPPORTED = 10; // 0xa
2583    field public static final int CAPABILITY_POSSESSED = 40; // 0x28
2584  }
2585
2586  public final class ExternalTimeSuggestion implements android.os.Parcelable {
2587    ctor public ExternalTimeSuggestion(long, long);
2588    method public void addDebugInfo(@NonNull java.lang.String...);
2589    method public int describeContents();
2590    method @NonNull public java.util.List<java.lang.String> getDebugInfo();
2591    method public void writeToParcel(@NonNull android.os.Parcel, int);
2592    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.ExternalTimeSuggestion> CREATOR;
2593  }
2594
2595  public final class TimeManager {
2596    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public void addTimeZoneDetectorListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.time.TimeManager.TimeZoneDetectorListener);
2597    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeZoneCapabilitiesAndConfig getTimeZoneCapabilitiesAndConfig();
2598    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public void removeTimeZoneDetectorListener(@NonNull android.app.time.TimeManager.TimeZoneDetectorListener);
2599    method @RequiresPermission(android.Manifest.permission.SUGGEST_EXTERNAL_TIME) public void suggestExternalTime(@NonNull android.app.time.ExternalTimeSuggestion);
2600    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean updateTimeZoneConfiguration(@NonNull android.app.time.TimeZoneConfiguration);
2601  }
2602
2603  @java.lang.FunctionalInterface public static interface TimeManager.TimeZoneDetectorListener {
2604    method public void onChange();
2605  }
2606
2607  public final class TimeZoneCapabilities implements android.os.Parcelable {
2608    method public int describeContents();
2609    method public int getConfigureAutoDetectionEnabledCapability();
2610    method public int getConfigureGeoDetectionEnabledCapability();
2611    method public void writeToParcel(@NonNull android.os.Parcel, int);
2612    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneCapabilities> CREATOR;
2613  }
2614
2615  public final class TimeZoneCapabilitiesAndConfig implements android.os.Parcelable {
2616    method public int describeContents();
2617    method @NonNull public android.app.time.TimeZoneCapabilities getCapabilities();
2618    method @NonNull public android.app.time.TimeZoneConfiguration getConfiguration();
2619    method public void writeToParcel(@NonNull android.os.Parcel, int);
2620    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneCapabilitiesAndConfig> CREATOR;
2621  }
2622
2623  public final class TimeZoneConfiguration implements android.os.Parcelable {
2624    method public int describeContents();
2625    method public boolean isAutoDetectionEnabled();
2626    method public boolean isGeoDetectionEnabled();
2627    method public void writeToParcel(@NonNull android.os.Parcel, int);
2628    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneConfiguration> CREATOR;
2629  }
2630
2631  public static final class TimeZoneConfiguration.Builder {
2632    ctor public TimeZoneConfiguration.Builder();
2633    ctor public TimeZoneConfiguration.Builder(@NonNull android.app.time.TimeZoneConfiguration);
2634    method @NonNull public android.app.time.TimeZoneConfiguration build();
2635    method @NonNull public android.app.time.TimeZoneConfiguration.Builder setAutoDetectionEnabled(boolean);
2636    method @NonNull public android.app.time.TimeZoneConfiguration.Builder setGeoDetectionEnabled(boolean);
2637  }
2638
2639}
2640
2641package android.app.usage {
2642
2643  public final class BroadcastResponseStats implements android.os.Parcelable {
2644    ctor public BroadcastResponseStats(@NonNull String, @IntRange(from=1) long);
2645    method public int describeContents();
2646    method @IntRange(from=0) public int getBroadcastsDispatchedCount();
2647    method @IntRange(from=1) public long getId();
2648    method @IntRange(from=0) public int getNotificationsCancelledCount();
2649    method @IntRange(from=0) public int getNotificationsPostedCount();
2650    method @IntRange(from=0) public int getNotificationsUpdatedCount();
2651    method @NonNull public String getPackageName();
2652    method public void writeToParcel(@NonNull android.os.Parcel, int);
2653    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.BroadcastResponseStats> CREATOR;
2654  }
2655
2656  public final class CacheQuotaHint implements android.os.Parcelable {
2657    ctor public CacheQuotaHint(@NonNull android.app.usage.CacheQuotaHint.Builder);
2658    method public int describeContents();
2659    method public long getQuota();
2660    method public int getUid();
2661    method @Nullable public android.app.usage.UsageStats getUsageStats();
2662    method @Nullable public String getVolumeUuid();
2663    method public void writeToParcel(@NonNull android.os.Parcel, int);
2664    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.CacheQuotaHint> CREATOR;
2665    field public static final long QUOTA_NOT_SET = -1L; // 0xffffffffffffffffL
2666  }
2667
2668  public static final class CacheQuotaHint.Builder {
2669    ctor public CacheQuotaHint.Builder();
2670    ctor public CacheQuotaHint.Builder(@NonNull android.app.usage.CacheQuotaHint);
2671    method @NonNull public android.app.usage.CacheQuotaHint build();
2672    method @NonNull public android.app.usage.CacheQuotaHint.Builder setQuota(long);
2673    method @NonNull public android.app.usage.CacheQuotaHint.Builder setUid(int);
2674    method @NonNull public android.app.usage.CacheQuotaHint.Builder setUsageStats(@Nullable android.app.usage.UsageStats);
2675    method @NonNull public android.app.usage.CacheQuotaHint.Builder setVolumeUuid(@Nullable String);
2676  }
2677
2678  public abstract class CacheQuotaService extends android.app.Service {
2679    ctor public CacheQuotaService();
2680    method public android.os.IBinder onBind(android.content.Intent);
2681    method public abstract java.util.List<android.app.usage.CacheQuotaHint> onComputeCacheQuotaHints(java.util.List<android.app.usage.CacheQuotaHint>);
2682    field public static final String SERVICE_INTERFACE = "android.app.usage.CacheQuotaService";
2683  }
2684
2685  public class NetworkStatsManager {
2686    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);
2687    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);
2688  }
2689
2690  public static final class UsageEvents.Event {
2691    method public int getInstanceId();
2692    method @Nullable public String getNotificationChannelId();
2693    method @Nullable public String getTaskRootClassName();
2694    method @Nullable public String getTaskRootPackageName();
2695    method public boolean isInstantApp();
2696    field public static final int NOTIFICATION_INTERRUPTION = 12; // 0xc
2697    field public static final int NOTIFICATION_SEEN = 10; // 0xa
2698    field public static final int SLICE_PINNED = 14; // 0xe
2699    field public static final int SLICE_PINNED_PRIV = 13; // 0xd
2700    field public static final int SYSTEM_INTERACTION = 6; // 0x6
2701  }
2702
2703  public final class UsageStats implements android.os.Parcelable {
2704    method public int getAppLaunchCount();
2705    method public long getLastTimeAnyComponentUsed();
2706  }
2707
2708  public final class UsageStatsManager {
2709    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RESPONSE_STATS) public void clearBroadcastResponseStats(@Nullable String, @IntRange(from=0) long);
2710    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getAppStandbyBucket(String);
2711    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public java.util.Map<java.lang.String,java.lang.Integer> getAppStandbyBuckets();
2712    method @RequiresPermission(allOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long getLastTimeAnyComponentUsed(@NonNull String);
2713    method public int getUsageSource();
2714    method @RequiresPermission(android.Manifest.permission.BIND_CARRIER_SERVICES) public void onCarrierPrivilegedAppsChanged();
2715    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);
2716    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);
2717    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void registerAppUsageObserver(int, @NonNull String[], long, @NonNull java.util.concurrent.TimeUnit, @NonNull android.app.PendingIntent);
2718    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);
2719    method public void reportUsageStart(@NonNull android.app.Activity, @NonNull String);
2720    method public void reportUsageStart(@NonNull android.app.Activity, @NonNull String, long);
2721    method public void reportUsageStop(@NonNull android.app.Activity, @NonNull String);
2722    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_IDLE_STATE) public void setAppStandbyBucket(String, int);
2723    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_IDLE_STATE) public void setAppStandbyBuckets(java.util.Map<java.lang.String,java.lang.Integer>);
2724    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_LAUNCH_TIME_ESTIMATE) public void setEstimatedLaunchTimeMillis(@NonNull String, long);
2725    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_LAUNCH_TIME_ESTIMATE) public void setEstimatedLaunchTimesMillis(@NonNull java.util.Map<java.lang.String,java.lang.Long>);
2726    method @RequiresPermission(allOf={android.Manifest.permission.SUSPEND_APPS, android.Manifest.permission.OBSERVE_APP_USAGE}) public void unregisterAppUsageLimitObserver(int);
2727    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void unregisterAppUsageObserver(int);
2728    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void unregisterUsageSessionObserver(int);
2729    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(String, long, android.os.UserHandle);
2730    field public static final String EXTRA_OBSERVER_ID = "android.app.usage.extra.OBSERVER_ID";
2731    field public static final String EXTRA_TIME_LIMIT = "android.app.usage.extra.TIME_LIMIT";
2732    field public static final String EXTRA_TIME_USED = "android.app.usage.extra.TIME_USED";
2733    field public static final int STANDBY_BUCKET_EXEMPTED = 5; // 0x5
2734    field public static final int STANDBY_BUCKET_NEVER = 50; // 0x32
2735    field public static final int USAGE_SOURCE_CURRENT_ACTIVITY = 2; // 0x2
2736    field public static final int USAGE_SOURCE_TASK_ROOT_ACTIVITY = 1; // 0x1
2737  }
2738
2739}
2740
2741package android.app.wallpapereffectsgeneration {
2742
2743  public final class CameraAttributes implements android.os.Parcelable {
2744    method public int describeContents();
2745    method @NonNull public float[] getAnchorPointInOutputUvSpace();
2746    method @NonNull public float[] getAnchorPointInWorldSpace();
2747    method @FloatRange(from=-90.0F, to=90.0f) public float getCameraOrbitPitchDegrees();
2748    method @FloatRange(from=-180.0F, to=180.0f) public float getCameraOrbitYawDegrees();
2749    method public float getDollyDistanceInWorldSpace();
2750    method @FloatRange(from=0.0f) public float getFrustumFarInWorldSpace();
2751    method @FloatRange(from=0.0f) public float getFrustumNearInWorldSpace();
2752    method @FloatRange(from=0.0f, to=180.0f, fromInclusive=false) public float getVerticalFovDegrees();
2753    method public void writeToParcel(@NonNull android.os.Parcel, int);
2754    field @NonNull public static final android.os.Parcelable.Creator<android.app.wallpapereffectsgeneration.CameraAttributes> CREATOR;
2755  }
2756
2757  public static final class CameraAttributes.Builder {
2758    ctor public CameraAttributes.Builder(@NonNull @Size(3) float[], @NonNull @Size(2) float[]);
2759    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes build();
2760    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setCameraOrbitPitchDegrees(@FloatRange(from=-90.0F, to=90.0f) float);
2761    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setCameraOrbitYawDegrees(@FloatRange(from=-180.0F, to=180.0f) float);
2762    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setDollyDistanceInWorldSpace(float);
2763    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setFrustumFarInWorldSpace(@FloatRange(from=0.0f) float);
2764    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setFrustumNearInWorldSpace(@FloatRange(from=0.0f) float);
2765    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setVerticalFovDegrees(@FloatRange(from=0.0f, to=180.0f, fromInclusive=false) float);
2766  }
2767
2768  public final class CinematicEffectRequest implements android.os.Parcelable {
2769    ctor public CinematicEffectRequest(@NonNull String, @NonNull android.graphics.Bitmap);
2770    method public int describeContents();
2771    method @NonNull public android.graphics.Bitmap getBitmap();
2772    method @NonNull public String getTaskId();
2773    method public void writeToParcel(@NonNull android.os.Parcel, int);
2774    field @NonNull public static final android.os.Parcelable.Creator<android.app.wallpapereffectsgeneration.CinematicEffectRequest> CREATOR;
2775  }
2776
2777  public final class CinematicEffectResponse implements android.os.Parcelable {
2778    method public int describeContents();
2779    method @Nullable public android.app.wallpapereffectsgeneration.CameraAttributes getEndKeyFrame();
2780    method public int getImageContentType();
2781    method @Nullable public android.app.wallpapereffectsgeneration.CameraAttributes getStartKeyFrame();
2782    method public int getStatusCode();
2783    method @NonNull public String getTaskId();
2784    method @NonNull public java.util.List<android.app.wallpapereffectsgeneration.TexturedMesh> getTexturedMeshes();
2785    method public void writeToParcel(@NonNull android.os.Parcel, int);
2786    field public static final int CINEMATIC_EFFECT_STATUS_ANIMATION_FAILURE = 10; // 0xa
2787    field public static final int CINEMATIC_EFFECT_STATUS_CONTENT_TARGET_ERROR = 8; // 0x8
2788    field public static final int CINEMATIC_EFFECT_STATUS_CONTENT_TOO_FLAT = 9; // 0x9
2789    field public static final int CINEMATIC_EFFECT_STATUS_CONTENT_UNSUPPORTED = 7; // 0x7
2790    field public static final int CINEMATIC_EFFECT_STATUS_ERROR = 0; // 0x0
2791    field public static final int CINEMATIC_EFFECT_STATUS_FEATURE_DISABLED = 5; // 0x5
2792    field public static final int CINEMATIC_EFFECT_STATUS_IMAGE_FORMAT_NOT_SUITABLE = 6; // 0x6
2793    field public static final int CINEMATIC_EFFECT_STATUS_NOT_READY = 2; // 0x2
2794    field public static final int CINEMATIC_EFFECT_STATUS_OK = 1; // 0x1
2795    field public static final int CINEMATIC_EFFECT_STATUS_PENDING = 3; // 0x3
2796    field public static final int CINEMATIC_EFFECT_STATUS_TOO_MANY_REQUESTS = 4; // 0x4
2797    field @NonNull public static final android.os.Parcelable.Creator<android.app.wallpapereffectsgeneration.CinematicEffectResponse> CREATOR;
2798    field public static final int IMAGE_CONTENT_TYPE_LANDSCAPE = 2; // 0x2
2799    field public static final int IMAGE_CONTENT_TYPE_OTHER = 3; // 0x3
2800    field public static final int IMAGE_CONTENT_TYPE_PEOPLE_PORTRAIT = 1; // 0x1
2801    field public static final int IMAGE_CONTENT_TYPE_UNKNOWN = 0; // 0x0
2802  }
2803
2804  public static final class CinematicEffectResponse.Builder {
2805    ctor public CinematicEffectResponse.Builder(int, @NonNull String);
2806    method @NonNull public android.app.wallpapereffectsgeneration.CinematicEffectResponse build();
2807    method @NonNull public android.app.wallpapereffectsgeneration.CinematicEffectResponse.Builder setEndKeyFrame(@Nullable android.app.wallpapereffectsgeneration.CameraAttributes);
2808    method @NonNull public android.app.wallpapereffectsgeneration.CinematicEffectResponse.Builder setImageContentType(int);
2809    method @NonNull public android.app.wallpapereffectsgeneration.CinematicEffectResponse.Builder setStartKeyFrame(@Nullable android.app.wallpapereffectsgeneration.CameraAttributes);
2810    method @NonNull public android.app.wallpapereffectsgeneration.CinematicEffectResponse.Builder setTexturedMeshes(@NonNull java.util.List<android.app.wallpapereffectsgeneration.TexturedMesh>);
2811  }
2812
2813  public final class TexturedMesh implements android.os.Parcelable {
2814    method public int describeContents();
2815    method @NonNull public android.graphics.Bitmap getBitmap();
2816    method @NonNull public int[] getIndices();
2817    method @NonNull public int getIndicesLayoutType();
2818    method @NonNull public float[] getVertices();
2819    method @NonNull public int getVerticesLayoutType();
2820    method public void writeToParcel(@NonNull android.os.Parcel, int);
2821    field @NonNull public static final android.os.Parcelable.Creator<android.app.wallpapereffectsgeneration.TexturedMesh> CREATOR;
2822    field public static final int INDICES_LAYOUT_TRIANGLES = 1; // 0x1
2823    field public static final int INDICES_LAYOUT_UNDEFINED = 0; // 0x0
2824    field public static final int VERTICES_LAYOUT_POSITION3_UV2 = 1; // 0x1
2825    field public static final int VERTICES_LAYOUT_UNDEFINED = 0; // 0x0
2826  }
2827
2828  public static final class TexturedMesh.Builder {
2829    ctor public TexturedMesh.Builder(@NonNull android.graphics.Bitmap);
2830    method @NonNull public android.app.wallpapereffectsgeneration.TexturedMesh build();
2831    method @NonNull public android.app.wallpapereffectsgeneration.TexturedMesh.Builder setIndices(@NonNull int[]);
2832    method @NonNull public android.app.wallpapereffectsgeneration.TexturedMesh.Builder setIndicesLayoutType(int);
2833    method @NonNull public android.app.wallpapereffectsgeneration.TexturedMesh.Builder setVertices(@NonNull float[]);
2834    method @NonNull public android.app.wallpapereffectsgeneration.TexturedMesh.Builder setVerticesLayoutType(int);
2835  }
2836
2837  public final class WallpaperEffectsGenerationManager {
2838    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);
2839  }
2840
2841  public static interface WallpaperEffectsGenerationManager.CinematicEffectListener {
2842    method public void onCinematicEffectGenerated(@NonNull android.app.wallpapereffectsgeneration.CinematicEffectResponse);
2843  }
2844
2845}
2846
2847package android.apphibernation {
2848
2849  public class AppHibernationManager {
2850    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public java.util.List<java.lang.String> getHibernatingPackagesForUser();
2851    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>);
2852    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public java.util.Map<java.lang.String,android.apphibernation.HibernationStats> getHibernationStatsForUser();
2853    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public boolean isHibernatingForUser(@NonNull String);
2854    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public boolean isHibernatingGlobally(@NonNull String);
2855    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void setHibernatingForUser(@NonNull String, boolean);
2856    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void setHibernatingGlobally(@NonNull String, boolean);
2857  }
2858
2859  public final class HibernationStats implements android.os.Parcelable {
2860    method public int describeContents();
2861    method public long getDiskBytesSaved();
2862    method public void writeToParcel(@NonNull android.os.Parcel, int);
2863    field @NonNull public static final android.os.Parcelable.Creator<android.apphibernation.HibernationStats> CREATOR;
2864  }
2865
2866}
2867
2868package android.bluetooth {
2869
2870  public final class BluetoothA2dp implements android.bluetooth.BluetoothProfile {
2871    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void disableOptionalCodecs(@NonNull android.bluetooth.BluetoothDevice);
2872    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void enableOptionalCodecs(@NonNull android.bluetooth.BluetoothDevice);
2873    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BufferConstraints getBufferConstraints();
2874    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothCodecStatus getCodecStatus(@NonNull android.bluetooth.BluetoothDevice);
2875    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
2876    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getDynamicBufferSupport();
2877    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int isOptionalCodecsEnabled(@NonNull android.bluetooth.BluetoothDevice);
2878    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int isOptionalCodecsSupported(@NonNull android.bluetooth.BluetoothDevice);
2879    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setAvrcpAbsoluteVolume(int);
2880    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setBufferLengthMillis(int, int);
2881    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setCodecConfigPreference(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothCodecConfig);
2882    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
2883    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setOptionalCodecsEnabled(@NonNull android.bluetooth.BluetoothDevice, int);
2884    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACTIVE_DEVICE_CHANGED = "android.bluetooth.a2dp.profile.action.ACTIVE_DEVICE_CHANGED";
2885    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CODEC_CONFIG_CHANGED = "android.bluetooth.a2dp.profile.action.CODEC_CONFIG_CHANGED";
2886    field public static final int DYNAMIC_BUFFER_SUPPORT_A2DP_OFFLOAD = 1; // 0x1
2887    field public static final int DYNAMIC_BUFFER_SUPPORT_A2DP_SOFTWARE_ENCODING = 2; // 0x2
2888    field public static final int DYNAMIC_BUFFER_SUPPORT_NONE = 0; // 0x0
2889    field public static final int OPTIONAL_CODECS_NOT_SUPPORTED = 0; // 0x0
2890    field public static final int OPTIONAL_CODECS_PREF_DISABLED = 0; // 0x0
2891    field public static final int OPTIONAL_CODECS_PREF_ENABLED = 1; // 0x1
2892    field public static final int OPTIONAL_CODECS_PREF_UNKNOWN = -1; // 0xffffffff
2893    field public static final int OPTIONAL_CODECS_SUPPORTED = 1; // 0x1
2894    field public static final int OPTIONAL_CODECS_SUPPORT_UNKNOWN = -1; // 0xffffffff
2895  }
2896
2897  public final class BluetoothA2dpSink implements android.bluetooth.BluetoothProfile {
2898    method public void finalize();
2899    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
2900    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isAudioPlaying(@NonNull android.bluetooth.BluetoothDevice);
2901    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
2902    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.a2dp-sink.profile.action.CONNECTION_STATE_CHANGED";
2903  }
2904
2905  public final class BluetoothActivityEnergyInfo implements android.os.Parcelable {
2906    method public int getBluetoothStackState();
2907    method public long getControllerEnergyUsed();
2908    method public long getControllerIdleTimeMillis();
2909    method public long getControllerRxTimeMillis();
2910    method public long getControllerTxTimeMillis();
2911    method public long getTimestampMillis();
2912    method @NonNull public java.util.List<android.bluetooth.UidTraffic> getUidTraffic();
2913    method public boolean isValid();
2914    field public static final int BT_STACK_STATE_INVALID = 0; // 0x0
2915    field public static final int BT_STACK_STATE_STATE_ACTIVE = 1; // 0x1
2916    field public static final int BT_STACK_STATE_STATE_IDLE = 3; // 0x3
2917    field public static final int BT_STACK_STATE_STATE_SCANNING = 2; // 0x2
2918    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothActivityEnergyInfo> CREATOR;
2919  }
2920
2921  public final class BluetoothAdapter {
2922    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);
2923    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean clearBluetooth();
2924    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean disable(boolean);
2925    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disableBLE();
2926    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enableBLE();
2927    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enableNoAutoConnect();
2928    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);
2929    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getActiveDevices(int);
2930    method public int getConnectionState();
2931    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public long getDiscoveryEndMillis();
2932    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getMostRecentlyConnectedDevices();
2933    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<java.lang.Integer> getSupportedProfiles();
2934    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.os.ParcelUuid> getUuidsList();
2935    method public boolean isBleScanAlwaysAvailable();
2936    method public boolean isLeEnabled();
2937    method @NonNull public static String nameForState(int);
2938    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);
2939    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean removeActiveDevice(int);
2940    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);
2941    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);
2942    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothSocket retrieveConnectedRfcommSocket(@NonNull java.util.UUID);
2943    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);
2944    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setDiscoverableTimeout(@NonNull java.time.Duration);
2945    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setScanMode(int);
2946    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);
2947    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int stopRfcommServer(@NonNull java.util.UUID);
2948    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean unregisterBluetoothConnectionCallback(@NonNull android.bluetooth.BluetoothAdapter.BluetoothConnectionCallback);
2949    field public static final String ACTION_BLE_STATE_CHANGED = "android.bluetooth.adapter.action.BLE_STATE_CHANGED";
2950    field public static final String ACTION_REQUEST_BLE_SCAN_ALWAYS_AVAILABLE = "android.bluetooth.adapter.action.REQUEST_BLE_SCAN_ALWAYS_AVAILABLE";
2951    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_REQUEST_DISABLE = "android.bluetooth.adapter.action.REQUEST_DISABLE";
2952    field public static final int ACTIVE_DEVICE_ALL = 2; // 0x2
2953    field public static final int ACTIVE_DEVICE_AUDIO = 0; // 0x0
2954    field public static final int ACTIVE_DEVICE_PHONE_CALL = 1; // 0x1
2955    field public static final String EXTRA_RFCOMM_LISTENER_ID = "android.bluetooth.adapter.extra.RFCOMM_LISTENER_ID";
2956    field public static final int STATE_BLE_ON = 15; // 0xf
2957  }
2958
2959  public abstract static class BluetoothAdapter.BluetoothConnectionCallback {
2960    ctor public BluetoothAdapter.BluetoothConnectionCallback();
2961    method @NonNull public static String disconnectReasonToString(int);
2962    method public void onDeviceConnected(@NonNull android.bluetooth.BluetoothDevice);
2963    method public void onDeviceDisconnected(@NonNull android.bluetooth.BluetoothDevice, int);
2964  }
2965
2966  public static interface BluetoothAdapter.OnBluetoothActivityEnergyInfoCallback {
2967    method public void onBluetoothActivityEnergyInfoAvailable(@NonNull android.bluetooth.BluetoothActivityEnergyInfo);
2968    method public void onBluetoothActivityEnergyInfoError(int);
2969  }
2970
2971  public static interface BluetoothAdapter.OnMetadataChangedListener {
2972    method public void onMetadataChanged(@NonNull android.bluetooth.BluetoothDevice, int, @Nullable byte[]);
2973  }
2974
2975  public static interface BluetoothAdapter.OobDataCallback {
2976    method public void onError(int);
2977    method public void onOobData(int, @NonNull android.bluetooth.OobData);
2978  }
2979
2980  public final class BluetoothClass implements android.os.Parcelable {
2981    field public static final int PROFILE_A2DP_SINK = 6; // 0x6
2982    field public static final int PROFILE_NAP = 5; // 0x5
2983    field public static final int PROFILE_OPP = 2; // 0x2
2984    field public static final int PROFILE_PANU = 4; // 0x4
2985  }
2986
2987  public final class BluetoothCsipSetCoordinator implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
2988    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public java.util.List<java.lang.Integer> getAllGroupIds(@Nullable android.os.ParcelUuid);
2989    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getConnectionPolicy(@Nullable android.bluetooth.BluetoothDevice);
2990    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public java.util.Map<java.lang.Integer,android.os.ParcelUuid> getGroupUuidMapByDevice(@Nullable android.bluetooth.BluetoothDevice);
2991    method @Nullable @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public java.util.UUID lockGroup(int, @NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothCsipSetCoordinator.ClientLockCallback);
2992    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setConnectionPolicy(@Nullable android.bluetooth.BluetoothDevice, int);
2993    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean unlockGroup(@NonNull java.util.UUID);
2994    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public static final String ACTION_CSIS_DEVICE_AVAILABLE = "android.bluetooth.action.CSIS_DEVICE_AVAILABLE";
2995    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public static final String ACTION_CSIS_SET_MEMBER_AVAILABLE = "android.bluetooth.action.CSIS_SET_MEMBER_AVAILABLE";
2996    field public static final String EXTRA_CSIS_GROUP_ID = "android.bluetooth.extra.CSIS_GROUP_ID";
2997    field public static final int GROUP_ID_INVALID = -1; // 0xffffffff
2998  }
2999
3000  public static interface BluetoothCsipSetCoordinator.ClientLockCallback {
3001    method public void onGroupLockSet(int, int, boolean);
3002  }
3003
3004  public final class BluetoothDevice implements android.os.Parcelable {
3005    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean canBondWithoutDialog();
3006    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean cancelBondProcess();
3007    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.MODIFY_PHONE_STATE}) public int connect();
3008    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean createBond(int);
3009    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean createBondOutOfBand(int, @Nullable android.bluetooth.OobData, @Nullable android.bluetooth.OobData);
3010    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int disconnect();
3011    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean fetchUuidsWithSdp(int);
3012    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public String getAnonymizedAddress();
3013    method @IntRange(from=0xffffff9c, to=100) @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getBatteryLevel();
3014    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public String getIdentityAddress();
3015    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getMessageAccessPermission();
3016    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public byte[] getMetadata(int);
3017    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getPhonebookAccessPermission();
3018    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getSimAccessPermission();
3019    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isBondingInitiatedLocally();
3020    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isConnected();
3021    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isEncrypted();
3022    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isInSilenceMode();
3023    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public void prepareToEnterProcess(@NonNull android.content.AttributionSource);
3024    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean removeBond();
3025    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setLowLatencyAudioAllowed(boolean);
3026    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setMessageAccessPermission(int);
3027    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setMetadata(int, @NonNull byte[]);
3028    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setPhonebookAccessPermission(int);
3029    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean setPin(@NonNull String);
3030    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setSilenceMode(boolean);
3031    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setSimAccessPermission(int);
3032    field public static final int ACCESS_ALLOWED = 1; // 0x1
3033    field public static final int ACCESS_REJECTED = 2; // 0x2
3034    field public static final int ACCESS_UNKNOWN = 0; // 0x0
3035    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_BATTERY_LEVEL_CHANGED = "android.bluetooth.device.action.BATTERY_LEVEL_CHANGED";
3036    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_ACCESS_CANCEL = "android.bluetooth.device.action.CONNECTION_ACCESS_CANCEL";
3037    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_ACCESS_REPLY = "android.bluetooth.device.action.CONNECTION_ACCESS_REPLY";
3038    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_ACCESS_REQUEST = "android.bluetooth.device.action.CONNECTION_ACCESS_REQUEST";
3039    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_PAIRING_CANCEL = "android.bluetooth.device.action.PAIRING_CANCEL";
3040    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_SILENCE_MODE_CHANGED = "android.bluetooth.device.action.SILENCE_MODE_CHANGED";
3041    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";
3042    field public static final int BATTERY_LEVEL_BLUETOOTH_OFF = -100; // 0xffffff9c
3043    field public static final int BATTERY_LEVEL_UNKNOWN = -1; // 0xffffffff
3044    field public static final int CONNECTION_ACCESS_NO = 2; // 0x2
3045    field public static final int CONNECTION_ACCESS_YES = 1; // 0x1
3046    field public static final String DEVICE_TYPE_DEFAULT = "Default";
3047    field public static final String DEVICE_TYPE_UNTETHERED_HEADSET = "Untethered Headset";
3048    field public static final String DEVICE_TYPE_WATCH = "Watch";
3049    field public static final String EXTRA_ACCESS_REQUEST_TYPE = "android.bluetooth.device.extra.ACCESS_REQUEST_TYPE";
3050    field public static final String EXTRA_ALWAYS_ALLOWED = "android.bluetooth.device.extra.ALWAYS_ALLOWED";
3051    field public static final String EXTRA_BATTERY_LEVEL = "android.bluetooth.device.extra.BATTERY_LEVEL";
3052    field public static final String EXTRA_CONNECTION_ACCESS_RESULT = "android.bluetooth.device.extra.CONNECTION_ACCESS_RESULT";
3053    field public static final String EXTRA_LOW_LATENCY_BUFFER_SIZE = "android.bluetooth.device.extra.LOW_LATENCY_BUFFER_SIZE";
3054    field public static final String EXTRA_PAIRING_INITIATOR = "android.bluetooth.device.extra.PAIRING_INITIATOR";
3055    field public static final int EXTRA_PAIRING_INITIATOR_BACKGROUND = 2; // 0x2
3056    field public static final int EXTRA_PAIRING_INITIATOR_FOREGROUND = 1; // 0x1
3057    field public static final String EXTRA_UNBOND_REASON = "android.bluetooth.device.extra.REASON";
3058    field public static final int METADATA_COMPANION_APP = 4; // 0x4
3059    field public static final int METADATA_DEVICE_TYPE = 17; // 0x11
3060    field public static final int METADATA_ENHANCED_SETTINGS_UI_URI = 16; // 0x10
3061    field public static final int METADATA_HARDWARE_VERSION = 3; // 0x3
3062    field public static final int METADATA_IS_UNTETHERED_HEADSET = 6; // 0x6
3063    field public static final int METADATA_MAIN_BATTERY = 18; // 0x12
3064    field public static final int METADATA_MAIN_CHARGING = 19; // 0x13
3065    field public static final int METADATA_MAIN_ICON = 5; // 0x5
3066    field public static final int METADATA_MAIN_LOW_BATTERY_THRESHOLD = 20; // 0x14
3067    field public static final int METADATA_MANUFACTURER_NAME = 0; // 0x0
3068    field public static final int METADATA_MAX_LENGTH = 2048; // 0x800
3069    field public static final int METADATA_MODEL_NAME = 1; // 0x1
3070    field public static final int METADATA_SOFTWARE_VERSION = 2; // 0x2
3071    field public static final int METADATA_UNTETHERED_CASE_BATTERY = 12; // 0xc
3072    field public static final int METADATA_UNTETHERED_CASE_CHARGING = 15; // 0xf
3073    field public static final int METADATA_UNTETHERED_CASE_ICON = 9; // 0x9
3074    field public static final int METADATA_UNTETHERED_CASE_LOW_BATTERY_THRESHOLD = 23; // 0x17
3075    field public static final int METADATA_UNTETHERED_LEFT_BATTERY = 10; // 0xa
3076    field public static final int METADATA_UNTETHERED_LEFT_CHARGING = 13; // 0xd
3077    field public static final int METADATA_UNTETHERED_LEFT_ICON = 7; // 0x7
3078    field public static final int METADATA_UNTETHERED_LEFT_LOW_BATTERY_THRESHOLD = 21; // 0x15
3079    field public static final int METADATA_UNTETHERED_RIGHT_BATTERY = 11; // 0xb
3080    field public static final int METADATA_UNTETHERED_RIGHT_CHARGING = 14; // 0xe
3081    field public static final int METADATA_UNTETHERED_RIGHT_ICON = 8; // 0x8
3082    field public static final int METADATA_UNTETHERED_RIGHT_LOW_BATTERY_THRESHOLD = 22; // 0x16
3083    field public static final int PAIRING_VARIANT_CONSENT = 3; // 0x3
3084    field public static final int PAIRING_VARIANT_DISPLAY_PASSKEY = 4; // 0x4
3085    field public static final int PAIRING_VARIANT_DISPLAY_PIN = 5; // 0x5
3086    field public static final int PAIRING_VARIANT_OOB_CONSENT = 6; // 0x6
3087    field public static final int PAIRING_VARIANT_PASSKEY = 1; // 0x1
3088    field public static final int PAIRING_VARIANT_PIN_16_DIGITS = 7; // 0x7
3089    field public static final int REQUEST_TYPE_MESSAGE_ACCESS = 3; // 0x3
3090    field public static final int REQUEST_TYPE_PHONEBOOK_ACCESS = 2; // 0x2
3091    field public static final int REQUEST_TYPE_PROFILE_CONNECTION = 1; // 0x1
3092    field public static final int REQUEST_TYPE_SIM_ACCESS = 4; // 0x4
3093    field public static final int UNBOND_REASON_AUTH_CANCELED = 3; // 0x3
3094    field public static final int UNBOND_REASON_AUTH_FAILED = 1; // 0x1
3095    field public static final int UNBOND_REASON_AUTH_REJECTED = 2; // 0x2
3096    field public static final int UNBOND_REASON_AUTH_TIMEOUT = 6; // 0x6
3097    field public static final int UNBOND_REASON_DISCOVERY_IN_PROGRESS = 5; // 0x5
3098    field public static final int UNBOND_REASON_REMOTE_AUTH_CANCELED = 8; // 0x8
3099    field public static final int UNBOND_REASON_REMOTE_DEVICE_DOWN = 4; // 0x4
3100    field public static final int UNBOND_REASON_REMOVED = 9; // 0x9
3101    field public static final int UNBOND_REASON_REPEATED_ATTEMPTS = 7; // 0x7
3102  }
3103
3104  public interface BluetoothDevicePicker {
3105    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_DEVICE_SELECTED = "android.bluetooth.devicepicker.action.DEVICE_SELECTED";
3106    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_LAUNCH = "android.bluetooth.devicepicker.action.LAUNCH";
3107    field public static final String EXTRA_FILTER_TYPE = "android.bluetooth.devicepicker.extra.FILTER_TYPE";
3108    field public static final String EXTRA_LAUNCH_CLASS = "android.bluetooth.devicepicker.extra.DEVICE_PICKER_LAUNCH_CLASS";
3109    field public static final String EXTRA_LAUNCH_PACKAGE = "android.bluetooth.devicepicker.extra.LAUNCH_PACKAGE";
3110    field public static final String EXTRA_NEED_AUTH = "android.bluetooth.devicepicker.extra.NEED_AUTH";
3111    field public static final int FILTER_TYPE_ALL = 0; // 0x0
3112    field public static final int FILTER_TYPE_AUDIO = 1; // 0x1
3113    field public static final int FILTER_TYPE_NAP = 4; // 0x4
3114    field public static final int FILTER_TYPE_PANU = 3; // 0x3
3115    field public static final int FILTER_TYPE_TRANSFER = 2; // 0x2
3116  }
3117
3118  public final class BluetoothHapClient implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
3119    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothHapPresetInfo getActivePresetInfo(@NonNull android.bluetooth.BluetoothDevice);
3120    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);
3121    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
3122    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@Nullable android.bluetooth.BluetoothDevice);
3123    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
3124    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
3125    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);
3126    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void selectPreset(@NonNull android.bluetooth.BluetoothDevice, int);
3127    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void selectPresetForGroup(int, int);
3128    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3129    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setPresetName(@NonNull android.bluetooth.BluetoothDevice, int, @NonNull String);
3130    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setPresetNameForGroup(int, int, @NonNull String);
3131    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothHapClient.Callback);
3132    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";
3133  }
3134
3135  public static interface BluetoothHapClient.Callback {
3136    method public void onPresetInfoChanged(@NonNull android.bluetooth.BluetoothDevice, @NonNull java.util.List<android.bluetooth.BluetoothHapPresetInfo>, int);
3137    method public void onPresetSelected(@NonNull android.bluetooth.BluetoothDevice, int, int);
3138    method public void onPresetSelectionFailed(@NonNull android.bluetooth.BluetoothDevice, int);
3139    method public void onPresetSelectionForGroupFailed(int, int);
3140    method public void onSetPresetNameFailed(@NonNull android.bluetooth.BluetoothDevice, int);
3141    method public void onSetPresetNameForGroupFailed(int, int);
3142  }
3143
3144  public final class BluetoothHapPresetInfo implements android.os.Parcelable {
3145    method public int getIndex();
3146    method @NonNull public String getName();
3147    method public boolean isAvailable();
3148    method public boolean isWritable();
3149    method public void writeToParcel(@NonNull android.os.Parcel, int);
3150    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHapPresetInfo> CREATOR;
3151  }
3152
3153  public final class BluetoothHeadset implements android.bluetooth.BluetoothProfile {
3154    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean connect(android.bluetooth.BluetoothDevice);
3155    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int connectAudio();
3156    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disconnect(android.bluetooth.BluetoothDevice);
3157    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int disconnectAudio();
3158    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getAudioRouteAllowed();
3159    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getAudioState(@NonNull android.bluetooth.BluetoothDevice);
3160    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
3161    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isInbandRingingEnabled();
3162    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setAudioRouteAllowed(boolean);
3163    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);
3164    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean startScoUsingVirtualVoiceCall();
3165    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean stopScoUsingVirtualVoiceCall();
3166    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACTIVE_DEVICE_CHANGED = "android.bluetooth.headset.profile.action.ACTIVE_DEVICE_CHANGED";
3167  }
3168
3169  public final class BluetoothHeadsetClient implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
3170    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
3171    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
3172    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
3173    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
3174    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothHeadsetClient.NetworkServiceState getNetworkServiceState(@NonNull android.bluetooth.BluetoothDevice);
3175    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3176    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";
3177    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";
3178    field public static final String EXTRA_NETWORK_SERVICE_STATE = "android.bluetooth.headsetclient.extra.EXTRA_NETWORK_SERVICE_STATE";
3179  }
3180
3181  public static final class BluetoothHeadsetClient.NetworkServiceState implements android.os.Parcelable {
3182    method @NonNull public android.bluetooth.BluetoothDevice getDevice();
3183    method @Nullable public String getNetworkOperatorName();
3184    method @IntRange(from=0, to=5) public int getSignalStrength();
3185    method public boolean isRoaming();
3186    method public boolean isServiceAvailable();
3187    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHeadsetClient.NetworkServiceState> CREATOR;
3188  }
3189
3190  public final class BluetoothHearingAid implements android.bluetooth.BluetoothProfile {
3191    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
3192    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public long getHiSyncId(@NonNull android.bluetooth.BluetoothDevice);
3193    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3194    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setVolume(int);
3195    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACTIVE_DEVICE_CHANGED = "android.bluetooth.hearingaid.profile.action.ACTIVE_DEVICE_CHANGED";
3196    field public static final long HI_SYNC_ID_INVALID = 0L; // 0x0L
3197  }
3198
3199  public final class BluetoothHidDevice implements android.bluetooth.BluetoothProfile {
3200    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3201  }
3202
3203  public final class BluetoothHidHost implements android.bluetooth.BluetoothProfile {
3204    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
3205    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
3206    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
3207    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3208    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.input.profile.action.CONNECTION_STATE_CHANGED";
3209  }
3210
3211  public final class BluetoothLeAudio implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
3212    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getAudioLocation(@NonNull android.bluetooth.BluetoothDevice);
3213    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothLeAudioCodecStatus getCodecStatus(int);
3214    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@Nullable android.bluetooth.BluetoothDevice);
3215    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);
3216    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);
3217    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3218    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setVolume(@IntRange(from=0, to=255) int);
3219    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothLeAudio.Callback);
3220    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";
3221    field public static final int AUDIO_LOCATION_BACK_CENTER = 256; // 0x100
3222    field public static final int AUDIO_LOCATION_BACK_LEFT = 16; // 0x10
3223    field public static final int AUDIO_LOCATION_BACK_RIGHT = 32; // 0x20
3224    field public static final int AUDIO_LOCATION_BOTTOM_FRONT_CENTER = 2097152; // 0x200000
3225    field public static final int AUDIO_LOCATION_BOTTOM_FRONT_LEFT = 4194304; // 0x400000
3226    field public static final int AUDIO_LOCATION_BOTTOM_FRONT_RIGHT = 8388608; // 0x800000
3227    field public static final int AUDIO_LOCATION_FRONT_CENTER = 4; // 0x4
3228    field public static final int AUDIO_LOCATION_FRONT_LEFT = 1; // 0x1
3229    field public static final int AUDIO_LOCATION_FRONT_LEFT_OF_CENTER = 64; // 0x40
3230    field public static final int AUDIO_LOCATION_FRONT_LEFT_WIDE = 16777216; // 0x1000000
3231    field public static final int AUDIO_LOCATION_FRONT_RIGHT = 2; // 0x2
3232    field public static final int AUDIO_LOCATION_FRONT_RIGHT_OF_CENTER = 128; // 0x80
3233    field public static final int AUDIO_LOCATION_FRONT_RIGHT_WIDE = 33554432; // 0x2000000
3234    field public static final int AUDIO_LOCATION_INVALID = 0; // 0x0
3235    field public static final int AUDIO_LOCATION_LEFT_SURROUND = 67108864; // 0x4000000
3236    field public static final int AUDIO_LOCATION_LOW_FREQ_EFFECTS_ONE = 8; // 0x8
3237    field public static final int AUDIO_LOCATION_LOW_FREQ_EFFECTS_TWO = 512; // 0x200
3238    field public static final int AUDIO_LOCATION_RIGHT_SURROUND = 134217728; // 0x8000000
3239    field public static final int AUDIO_LOCATION_SIDE_LEFT = 1024; // 0x400
3240    field public static final int AUDIO_LOCATION_SIDE_RIGHT = 2048; // 0x800
3241    field public static final int AUDIO_LOCATION_TOP_BACK_CENTER = 1048576; // 0x100000
3242    field public static final int AUDIO_LOCATION_TOP_BACK_LEFT = 65536; // 0x10000
3243    field public static final int AUDIO_LOCATION_TOP_BACK_RIGHT = 131072; // 0x20000
3244    field public static final int AUDIO_LOCATION_TOP_CENTER = 32768; // 0x8000
3245    field public static final int AUDIO_LOCATION_TOP_FRONT_CENTER = 16384; // 0x4000
3246    field public static final int AUDIO_LOCATION_TOP_FRONT_LEFT = 4096; // 0x1000
3247    field public static final int AUDIO_LOCATION_TOP_FRONT_RIGHT = 8192; // 0x2000
3248    field public static final int AUDIO_LOCATION_TOP_SIDE_LEFT = 262144; // 0x40000
3249    field public static final int AUDIO_LOCATION_TOP_SIDE_RIGHT = 524288; // 0x80000
3250    field public static final String EXTRA_LE_AUDIO_GROUP_ID = "android.bluetooth.extra.LE_AUDIO_GROUP_ID";
3251  }
3252
3253  public static interface BluetoothLeAudio.Callback {
3254    method public void onCodecConfigChanged(int, @NonNull android.bluetooth.BluetoothLeAudioCodecStatus);
3255    method public void onGroupNodeAdded(@NonNull android.bluetooth.BluetoothDevice, int);
3256    method public void onGroupNodeRemoved(@NonNull android.bluetooth.BluetoothDevice, int);
3257    method public void onGroupStatusChanged(int, int);
3258  }
3259
3260  public final class BluetoothLeAudioCodecConfigMetadata implements android.os.Parcelable {
3261    method @NonNull public static android.bluetooth.BluetoothLeAudioCodecConfigMetadata fromRawBytes(@NonNull byte[]);
3262    method public long getAudioLocation();
3263    method @NonNull public byte[] getRawMetadata();
3264    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeAudioCodecConfigMetadata> CREATOR;
3265  }
3266
3267  public static final class BluetoothLeAudioCodecConfigMetadata.Builder {
3268    ctor public BluetoothLeAudioCodecConfigMetadata.Builder();
3269    ctor public BluetoothLeAudioCodecConfigMetadata.Builder(@NonNull android.bluetooth.BluetoothLeAudioCodecConfigMetadata);
3270    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata build();
3271    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata.Builder setAudioLocation(long);
3272  }
3273
3274  public final class BluetoothLeAudioContentMetadata implements android.os.Parcelable {
3275    method @NonNull public static android.bluetooth.BluetoothLeAudioContentMetadata fromRawBytes(@NonNull byte[]);
3276    method @Nullable public String getLanguage();
3277    method @Nullable public String getProgramInfo();
3278    method @NonNull public byte[] getRawMetadata();
3279    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeAudioContentMetadata> CREATOR;
3280  }
3281
3282  public static final class BluetoothLeAudioContentMetadata.Builder {
3283    ctor public BluetoothLeAudioContentMetadata.Builder();
3284    ctor public BluetoothLeAudioContentMetadata.Builder(@NonNull android.bluetooth.BluetoothLeAudioContentMetadata);
3285    method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata build();
3286    method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata.Builder setLanguage(@Nullable String);
3287    method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata.Builder setProgramInfo(@Nullable String);
3288  }
3289
3290  public final class BluetoothLeBroadcast implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
3291    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothLeBroadcastMetadata> getAllBroadcastMetadata();
3292    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getMaximumNumberOfBroadcasts();
3293    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isPlaying(int);
3294    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);
3295    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void startBroadcast(@NonNull android.bluetooth.BluetoothLeAudioContentMetadata, @Nullable byte[]);
3296    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopBroadcast(int);
3297    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothLeBroadcast.Callback);
3298    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void updateBroadcast(int, @NonNull android.bluetooth.BluetoothLeAudioContentMetadata);
3299  }
3300
3301  public static interface BluetoothLeBroadcast.Callback {
3302    method public void onBroadcastMetadataChanged(int, @NonNull android.bluetooth.BluetoothLeBroadcastMetadata);
3303    method public void onBroadcastStartFailed(int);
3304    method public void onBroadcastStarted(int, int);
3305    method public void onBroadcastStopFailed(int);
3306    method public void onBroadcastStopped(int, int);
3307    method public void onBroadcastUpdateFailed(int, int);
3308    method public void onBroadcastUpdated(int, int);
3309    method public void onPlaybackStarted(int, int);
3310    method public void onPlaybackStopped(int, int);
3311  }
3312
3313  public final class BluetoothLeBroadcastAssistant implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
3314    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);
3315    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);
3316    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
3317    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
3318    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
3319    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
3320    method public int getMaximumSourceCapacity(@NonNull android.bluetooth.BluetoothDevice);
3321    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isSearchInProgress();
3322    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);
3323    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);
3324    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void removeSource(@NonNull android.bluetooth.BluetoothDevice, int);
3325    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3326    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void startSearchingForSources(@NonNull java.util.List<android.bluetooth.le.ScanFilter>);
3327    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopSearchingForSources();
3328    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothLeBroadcastAssistant.Callback);
3329    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";
3330  }
3331
3332  public static interface BluetoothLeBroadcastAssistant.Callback {
3333    method public void onReceiveStateChanged(@NonNull android.bluetooth.BluetoothDevice, int, @NonNull android.bluetooth.BluetoothLeBroadcastReceiveState);
3334    method public void onSearchStartFailed(int);
3335    method public void onSearchStarted(int);
3336    method public void onSearchStopFailed(int);
3337    method public void onSearchStopped(int);
3338    method public void onSourceAddFailed(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothLeBroadcastMetadata, int);
3339    method public void onSourceAdded(@NonNull android.bluetooth.BluetoothDevice, int, int);
3340    method public void onSourceFound(@NonNull android.bluetooth.BluetoothLeBroadcastMetadata);
3341    method public void onSourceModified(@NonNull android.bluetooth.BluetoothDevice, int, int);
3342    method public void onSourceModifyFailed(@NonNull android.bluetooth.BluetoothDevice, int, int);
3343    method public void onSourceRemoveFailed(@NonNull android.bluetooth.BluetoothDevice, int, int);
3344    method public void onSourceRemoved(@NonNull android.bluetooth.BluetoothDevice, int, int);
3345  }
3346
3347  public final class BluetoothLeBroadcastChannel implements android.os.Parcelable {
3348    method public int getChannelIndex();
3349    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata getCodecMetadata();
3350    method public boolean isSelected();
3351    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastChannel> CREATOR;
3352  }
3353
3354  public static final class BluetoothLeBroadcastChannel.Builder {
3355    ctor public BluetoothLeBroadcastChannel.Builder();
3356    ctor public BluetoothLeBroadcastChannel.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastChannel);
3357    method @NonNull public android.bluetooth.BluetoothLeBroadcastChannel build();
3358    method @NonNull public android.bluetooth.BluetoothLeBroadcastChannel.Builder setChannelIndex(int);
3359    method @NonNull public android.bluetooth.BluetoothLeBroadcastChannel.Builder setCodecMetadata(@NonNull android.bluetooth.BluetoothLeAudioCodecConfigMetadata);
3360    method @NonNull public android.bluetooth.BluetoothLeBroadcastChannel.Builder setSelected(boolean);
3361  }
3362
3363  public final class BluetoothLeBroadcastMetadata implements android.os.Parcelable {
3364    method @Nullable public byte[] getBroadcastCode();
3365    method public int getBroadcastId();
3366    method public int getPaSyncInterval();
3367    method @IntRange(from=0, to=16777215) public int getPresentationDelayMicros();
3368    method public int getSourceAddressType();
3369    method public int getSourceAdvertisingSid();
3370    method @NonNull public android.bluetooth.BluetoothDevice getSourceDevice();
3371    method @NonNull public java.util.List<android.bluetooth.BluetoothLeBroadcastSubgroup> getSubgroups();
3372    method public boolean isEncrypted();
3373    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastMetadata> CREATOR;
3374    field public static final int PA_SYNC_INTERVAL_UNKNOWN = 65535; // 0xffff
3375  }
3376
3377  public static final class BluetoothLeBroadcastMetadata.Builder {
3378    ctor public BluetoothLeBroadcastMetadata.Builder();
3379    ctor public BluetoothLeBroadcastMetadata.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastMetadata);
3380    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder addSubgroup(@NonNull android.bluetooth.BluetoothLeBroadcastSubgroup);
3381    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata build();
3382    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder clearSubgroup();
3383    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setBroadcastCode(@Nullable byte[]);
3384    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setBroadcastId(int);
3385    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setEncrypted(boolean);
3386    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setPaSyncInterval(int);
3387    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setPresentationDelayMicros(@IntRange(from=0, to=16777215) int);
3388    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setSourceAdvertisingSid(int);
3389    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setSourceDevice(@NonNull android.bluetooth.BluetoothDevice, int);
3390  }
3391
3392  public final class BluetoothLeBroadcastReceiveState implements android.os.Parcelable {
3393    method @Nullable public byte[] getBadCode();
3394    method public int getBigEncryptionState();
3395    method @NonNull public java.util.List<java.lang.Long> getBisSyncState();
3396    method public int getBroadcastId();
3397    method public int getNumSubgroups();
3398    method public int getPaSyncState();
3399    method public int getSourceAddressType();
3400    method public int getSourceAdvertisingSid();
3401    method @NonNull public android.bluetooth.BluetoothDevice getSourceDevice();
3402    method @IntRange(from=0, to=255) public int getSourceId();
3403    method @NonNull public java.util.List<android.bluetooth.BluetoothLeAudioContentMetadata> getSubgroupMetadata();
3404    field public static final int BIG_ENCRYPTION_STATE_BAD_CODE = 3; // 0x3
3405    field public static final int BIG_ENCRYPTION_STATE_CODE_REQUIRED = 1; // 0x1
3406    field public static final int BIG_ENCRYPTION_STATE_DECRYPTING = 2; // 0x2
3407    field public static final int BIG_ENCRYPTION_STATE_NOT_ENCRYPTED = 0; // 0x0
3408    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastReceiveState> CREATOR;
3409    field public static final int PA_SYNC_STATE_FAILED_TO_SYNCHRONIZE = 3; // 0x3
3410    field public static final int PA_SYNC_STATE_IDLE = 0; // 0x0
3411    field public static final int PA_SYNC_STATE_NO_PAST = 4; // 0x4
3412    field public static final int PA_SYNC_STATE_SYNCHRONIZED = 2; // 0x2
3413    field public static final int PA_SYNC_STATE_SYNCINFO_REQUEST = 1; // 0x1
3414  }
3415
3416  public final class BluetoothLeBroadcastSubgroup implements android.os.Parcelable {
3417    method @NonNull public java.util.List<android.bluetooth.BluetoothLeBroadcastChannel> getChannels();
3418    method public long getCodecId();
3419    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata getCodecSpecificConfig();
3420    method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata getContentMetadata();
3421    method public boolean hasChannelPreference();
3422    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastSubgroup> CREATOR;
3423  }
3424
3425  public static final class BluetoothLeBroadcastSubgroup.Builder {
3426    ctor public BluetoothLeBroadcastSubgroup.Builder();
3427    ctor public BluetoothLeBroadcastSubgroup.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastSubgroup);
3428    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder addChannel(@NonNull android.bluetooth.BluetoothLeBroadcastChannel);
3429    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup build();
3430    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder clearChannel();
3431    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder setCodecId(long);
3432    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder setCodecSpecificConfig(@NonNull android.bluetooth.BluetoothLeAudioCodecConfigMetadata);
3433    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder setContentMetadata(@NonNull android.bluetooth.BluetoothLeAudioContentMetadata);
3434  }
3435
3436  public final class BluetoothMap implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
3437    method public void close();
3438    method protected void finalize();
3439    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
3440    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
3441    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3442    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.map.profile.action.CONNECTION_STATE_CHANGED";
3443  }
3444
3445  public final class BluetoothMapClient implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
3446    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
3447    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
3448    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
3449    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
3450    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);
3451    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3452    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";
3453  }
3454
3455  public final class BluetoothPan implements android.bluetooth.BluetoothProfile {
3456    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
3457    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
3458    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isTetheringOn();
3459    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.TETHER_PRIVILEGED}) public void setBluetoothTethering(boolean);
3460    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3461    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED";
3462    field public static final String ACTION_TETHERING_STATE_CHANGED = "android.bluetooth.action.TETHERING_STATE_CHANGED";
3463    field public static final String EXTRA_LOCAL_ROLE = "android.bluetooth.pan.extra.LOCAL_ROLE";
3464    field public static final String EXTRA_TETHERING_STATE = "android.bluetooth.extra.TETHERING_STATE";
3465    field public static final int LOCAL_NAP_ROLE = 1; // 0x1
3466    field public static final int LOCAL_PANU_ROLE = 2; // 0x2
3467    field public static final int PAN_ROLE_NONE = 0; // 0x0
3468    field public static final int REMOTE_NAP_ROLE = 1; // 0x1
3469    field public static final int REMOTE_PANU_ROLE = 2; // 0x2
3470    field public static final int TETHERING_STATE_OFF = 1; // 0x1
3471    field public static final int TETHERING_STATE_ON = 2; // 0x2
3472  }
3473
3474  public class BluetoothPbap implements android.bluetooth.BluetoothProfile {
3475    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
3476    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3477    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.pbap.profile.action.CONNECTION_STATE_CHANGED";
3478  }
3479
3480  public final class BluetoothPbapClient implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
3481    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
3482    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
3483    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
3484    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
3485    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3486    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";
3487  }
3488
3489  public interface BluetoothProfile {
3490    method @NonNull public static String getConnectionStateName(int);
3491    method @NonNull public static String getProfileName(int);
3492    field public static final int A2DP_SINK = 11; // 0xb
3493    field public static final int AVRCP_CONTROLLER = 12; // 0xc
3494    field public static final int CONNECTION_POLICY_ALLOWED = 100; // 0x64
3495    field public static final int CONNECTION_POLICY_FORBIDDEN = 0; // 0x0
3496    field public static final int CONNECTION_POLICY_UNKNOWN = -1; // 0xffffffff
3497    field public static final int HEADSET_CLIENT = 16; // 0x10
3498    field public static final int HID_HOST = 4; // 0x4
3499    field public static final int LE_AUDIO_BROADCAST = 26; // 0x1a
3500    field public static final int LE_AUDIO_BROADCAST_ASSISTANT = 29; // 0x1d
3501    field public static final int MAP = 9; // 0x9
3502    field public static final int MAP_CLIENT = 18; // 0x12
3503    field public static final int OPP = 20; // 0x14
3504    field public static final int PAN = 5; // 0x5
3505    field public static final int PBAP = 6; // 0x6
3506    field public static final int PBAP_CLIENT = 17; // 0x11
3507    field @Deprecated public static final int PRIORITY_OFF = 0; // 0x0
3508    field @Deprecated public static final int PRIORITY_ON = 100; // 0x64
3509    field public static final int VOLUME_CONTROL = 23; // 0x17
3510  }
3511
3512  public final class BluetoothSap implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
3513    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
3514    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3515    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.sap.profile.action.CONNECTION_STATE_CHANGED";
3516  }
3517
3518  public final class BluetoothStatusCodes {
3519    field public static final int ALLOWED = 400; // 0x190
3520    field public static final int ERROR_ALREADY_IN_TARGET_STATE = 26; // 0x1a
3521    field public static final int ERROR_ANOTHER_ACTIVE_OOB_REQUEST = 1000; // 0x3e8
3522    field public static final int ERROR_AUDIO_DEVICE_ALREADY_CONNECTED = 1116; // 0x45c
3523    field public static final int ERROR_AUDIO_DEVICE_ALREADY_DISCONNECTED = 1117; // 0x45d
3524    field public static final int ERROR_AUDIO_ROUTE_BLOCKED = 1118; // 0x45e
3525    field public static final int ERROR_BAD_PARAMETERS = 21; // 0x15
3526    field public static final int ERROR_CALL_ACTIVE = 1119; // 0x45f
3527    field public static final int ERROR_CSIP_GROUP_LOCKED_BY_OTHER = 1208; // 0x4b8
3528    field public static final int ERROR_CSIP_INVALID_GROUP_ID = 1207; // 0x4b7
3529    field public static final int ERROR_CSIP_LOCKED_GROUP_MEMBER_LOST = 1209; // 0x4b9
3530    field public static final int ERROR_HAP_INVALID_PRESET_INDEX = 1211; // 0x4bb
3531    field public static final int ERROR_HAP_PRESET_NAME_TOO_LONG = 1210; // 0x4ba
3532    field public static final int ERROR_HARDWARE_GENERIC = 20; // 0x14
3533    field public static final int ERROR_LE_BROADCAST_ASSISTANT_DUPLICATE_ADDITION = 1203; // 0x4b3
3534    field public static final int ERROR_LE_BROADCAST_ASSISTANT_INVALID_SOURCE_ID = 1202; // 0x4b2
3535    field public static final int ERROR_LE_BROADCAST_INVALID_BROADCAST_ID = 1200; // 0x4b0
3536    field public static final int ERROR_LE_BROADCAST_INVALID_CODE = 1201; // 0x4b1
3537    field public static final int ERROR_LE_CONTENT_METADATA_INVALID_LANGUAGE = 1205; // 0x4b5
3538    field public static final int ERROR_LE_CONTENT_METADATA_INVALID_OTHER = 1206; // 0x4b6
3539    field public static final int ERROR_LE_CONTENT_METADATA_INVALID_PROGRAM_INFO = 1204; // 0x4b4
3540    field public static final int ERROR_LOCAL_NOT_ENOUGH_RESOURCES = 22; // 0x16
3541    field public static final int ERROR_NOT_ACTIVE_DEVICE = 12; // 0xc
3542    field public static final int ERROR_NO_ACTIVE_DEVICES = 13; // 0xd
3543    field public static final int ERROR_PROFILE_NOT_CONNECTED = 14; // 0xe
3544    field public static final int ERROR_REMOTE_LINK_ERROR = 25; // 0x19
3545    field public static final int ERROR_REMOTE_NOT_ENOUGH_RESOURCES = 23; // 0x17
3546    field public static final int ERROR_REMOTE_OPERATION_NOT_SUPPORTED = 27; // 0x1b
3547    field public static final int ERROR_REMOTE_OPERATION_REJECTED = 24; // 0x18
3548    field public static final int ERROR_TIMEOUT = 15; // 0xf
3549    field public static final int NOT_ALLOWED = 401; // 0x191
3550    field public static final int REASON_LOCAL_APP_REQUEST = 16; // 0x10
3551    field public static final int REASON_LOCAL_STACK_REQUEST = 17; // 0x11
3552    field public static final int REASON_REMOTE_REQUEST = 18; // 0x12
3553    field public static final int REASON_SYSTEM_POLICY = 19; // 0x13
3554    field public static final int RFCOMM_LISTENER_FAILED_TO_CLOSE_SERVER_SOCKET = 2004; // 0x7d4
3555    field public static final int RFCOMM_LISTENER_FAILED_TO_CREATE_SERVER_SOCKET = 2003; // 0x7d3
3556    field public static final int RFCOMM_LISTENER_NO_SOCKET_AVAILABLE = 2005; // 0x7d5
3557    field public static final int RFCOMM_LISTENER_OPERATION_FAILED_DIFFERENT_APP = 2002; // 0x7d2
3558    field public static final int RFCOMM_LISTENER_OPERATION_FAILED_NO_MATCHING_SERVICE_RECORD = 2001; // 0x7d1
3559    field public static final int RFCOMM_LISTENER_START_FAILED_UUID_IN_USE = 2000; // 0x7d0
3560  }
3561
3562  public final class BluetoothUuid {
3563    method public static boolean containsAnyUuid(@Nullable android.os.ParcelUuid[], @Nullable android.os.ParcelUuid[]);
3564    method @NonNull public static android.os.ParcelUuid parseUuidFrom(@Nullable byte[]);
3565    field @NonNull public static final android.os.ParcelUuid A2DP_SINK;
3566    field @NonNull public static final android.os.ParcelUuid A2DP_SOURCE;
3567    field @NonNull public static final android.os.ParcelUuid ADV_AUDIO_DIST;
3568    field @NonNull public static final android.os.ParcelUuid AVRCP;
3569    field @NonNull public static final android.os.ParcelUuid AVRCP_CONTROLLER;
3570    field @NonNull public static final android.os.ParcelUuid AVRCP_TARGET;
3571    field @NonNull public static final android.os.ParcelUuid BASE_UUID;
3572    field @NonNull public static final android.os.ParcelUuid BASS;
3573    field @NonNull public static final android.os.ParcelUuid BNEP;
3574    field @NonNull public static final android.os.ParcelUuid CAP;
3575    field @NonNull public static final android.os.ParcelUuid COORDINATED_SET;
3576    field @NonNull public static final android.os.ParcelUuid DIP;
3577    field @NonNull public static final android.os.ParcelUuid GENERIC_MEDIA_CONTROL;
3578    field @NonNull public static final android.os.ParcelUuid HAS;
3579    field @NonNull public static final android.os.ParcelUuid HEARING_AID;
3580    field @NonNull public static final android.os.ParcelUuid HFP;
3581    field @NonNull public static final android.os.ParcelUuid HFP_AG;
3582    field @NonNull public static final android.os.ParcelUuid HID;
3583    field @NonNull public static final android.os.ParcelUuid HOGP;
3584    field @NonNull public static final android.os.ParcelUuid HSP;
3585    field @NonNull public static final android.os.ParcelUuid HSP_AG;
3586    field @NonNull public static final android.os.ParcelUuid LE_AUDIO;
3587    field @NonNull public static final android.os.ParcelUuid MAP;
3588    field @NonNull public static final android.os.ParcelUuid MAS;
3589    field @NonNull public static final android.os.ParcelUuid MEDIA_CONTROL;
3590    field @NonNull public static final android.os.ParcelUuid MNS;
3591    field @NonNull public static final android.os.ParcelUuid NAP;
3592    field @NonNull public static final android.os.ParcelUuid OBEX_OBJECT_PUSH;
3593    field @NonNull public static final android.os.ParcelUuid PANU;
3594    field @NonNull public static final android.os.ParcelUuid PBAP_PCE;
3595    field @NonNull public static final android.os.ParcelUuid PBAP_PSE;
3596    field @NonNull public static final android.os.ParcelUuid SAP;
3597    field public static final int UUID_BYTES_128_BIT = 16; // 0x10
3598    field public static final int UUID_BYTES_16_BIT = 2; // 0x2
3599    field public static final int UUID_BYTES_32_BIT = 4; // 0x4
3600    field @NonNull public static final android.os.ParcelUuid VOLUME_CONTROL;
3601  }
3602
3603  public final class BluetoothVolumeControl implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
3604    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public void close();
3605    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) protected void finalize();
3606    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
3607    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
3608    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isVolumeOffsetAvailable(@NonNull android.bluetooth.BluetoothDevice);
3609    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);
3610    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3611    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);
3612    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothVolumeControl.Callback);
3613    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.volume-control.profile.action.CONNECTION_STATE_CHANGED";
3614  }
3615
3616  public static interface BluetoothVolumeControl.Callback {
3617    method public void onVolumeOffsetChanged(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=0xffffff01, to=255) int);
3618  }
3619
3620  public final class BufferConstraint implements android.os.Parcelable {
3621    ctor public BufferConstraint(int, int, int);
3622    method public int describeContents();
3623    method public int getDefaultMillis();
3624    method public int getMaxMillis();
3625    method public int getMinMillis();
3626    method public void writeToParcel(@NonNull android.os.Parcel, int);
3627    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BufferConstraint> CREATOR;
3628  }
3629
3630  public final class BufferConstraints implements android.os.Parcelable {
3631    ctor public BufferConstraints(@NonNull java.util.List<android.bluetooth.BufferConstraint>);
3632    method public int describeContents();
3633    method @Nullable public android.bluetooth.BufferConstraint forCodec(int);
3634    method public void writeToParcel(@NonNull android.os.Parcel, int);
3635    field public static final int BUFFER_CODEC_MAX_NUM = 32; // 0x20
3636    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BufferConstraints> CREATOR;
3637  }
3638
3639  public final class OobData implements android.os.Parcelable {
3640    method @NonNull public byte[] getClassOfDevice();
3641    method @NonNull public byte[] getClassicLength();
3642    method @NonNull public byte[] getConfirmationHash();
3643    method @NonNull public byte[] getDeviceAddressWithType();
3644    method @Nullable public byte[] getDeviceName();
3645    method @Nullable public byte[] getLeAppearance();
3646    method @NonNull public int getLeDeviceRole();
3647    method @NonNull public int getLeFlags();
3648    method @Nullable public byte[] getLeTemporaryKey();
3649    method @NonNull public byte[] getRandomizerHash();
3650    field public static final int CLASS_OF_DEVICE_OCTETS = 3; // 0x3
3651    field public static final int CONFIRMATION_OCTETS = 16; // 0x10
3652    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.OobData> CREATOR;
3653    field public static final int DEVICE_ADDRESS_OCTETS = 7; // 0x7
3654    field public static final int LE_APPEARANCE_OCTETS = 2; // 0x2
3655    field public static final int LE_DEVICE_FLAG_OCTETS = 1; // 0x1
3656    field public static final int LE_DEVICE_ROLE_BOTH_PREFER_CENTRAL = 3; // 0x3
3657    field public static final int LE_DEVICE_ROLE_BOTH_PREFER_PERIPHERAL = 2; // 0x2
3658    field public static final int LE_DEVICE_ROLE_CENTRAL_ONLY = 1; // 0x1
3659    field public static final int LE_DEVICE_ROLE_OCTETS = 1; // 0x1
3660    field public static final int LE_DEVICE_ROLE_PERIPHERAL_ONLY = 0; // 0x0
3661    field public static final int LE_FLAG_BREDR_NOT_SUPPORTED = 2; // 0x2
3662    field public static final int LE_FLAG_GENERAL_DISCOVERY_MODE = 1; // 0x1
3663    field public static final int LE_FLAG_LIMITED_DISCOVERY_MODE = 0; // 0x0
3664    field public static final int LE_FLAG_SIMULTANEOUS_CONTROLLER = 3; // 0x3
3665    field public static final int LE_FLAG_SIMULTANEOUS_HOST = 4; // 0x4
3666    field public static final int LE_TK_OCTETS = 16; // 0x10
3667    field public static final int OOB_LENGTH_OCTETS = 2; // 0x2
3668    field public static final int RANDOMIZER_OCTETS = 16; // 0x10
3669  }
3670
3671  public static final class OobData.ClassicBuilder {
3672    ctor public OobData.ClassicBuilder(@NonNull byte[], @NonNull byte[], @NonNull byte[]);
3673    method @NonNull public android.bluetooth.OobData build();
3674    method @NonNull public android.bluetooth.OobData.ClassicBuilder setClassOfDevice(@NonNull byte[]);
3675    method @NonNull public android.bluetooth.OobData.ClassicBuilder setDeviceName(@NonNull byte[]);
3676    method @NonNull public android.bluetooth.OobData.ClassicBuilder setRandomizerHash(@NonNull byte[]);
3677  }
3678
3679  public static final class OobData.LeBuilder {
3680    ctor public OobData.LeBuilder(@NonNull byte[], @NonNull byte[], int);
3681    method @NonNull public android.bluetooth.OobData build();
3682    method @NonNull public android.bluetooth.OobData.LeBuilder setDeviceName(@NonNull byte[]);
3683    method @NonNull public android.bluetooth.OobData.LeBuilder setLeFlags(int);
3684    method @NonNull public android.bluetooth.OobData.LeBuilder setLeTemporaryKey(@NonNull byte[]);
3685    method @NonNull public android.bluetooth.OobData.LeBuilder setRandomizerHash(@NonNull byte[]);
3686  }
3687
3688  public final class UidTraffic implements java.lang.Cloneable android.os.Parcelable {
3689    method public long getRxBytes();
3690    method public long getTxBytes();
3691    method public int getUid();
3692    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.UidTraffic> CREATOR;
3693  }
3694
3695}
3696
3697package android.bluetooth.le {
3698
3699  public final class AdvertiseSettings implements android.os.Parcelable {
3700    method public int getOwnAddressType();
3701  }
3702
3703  public static final class AdvertiseSettings.Builder {
3704    method @NonNull public android.bluetooth.le.AdvertiseSettings.Builder setOwnAddressType(int);
3705  }
3706
3707  public final class AdvertisingSetParameters implements android.os.Parcelable {
3708    method public int getOwnAddressType();
3709    field public static final int ADDRESS_TYPE_DEFAULT = -1; // 0xffffffff
3710    field public static final int ADDRESS_TYPE_PUBLIC = 0; // 0x0
3711    field public static final int ADDRESS_TYPE_RANDOM = 1; // 0x1
3712  }
3713
3714  public static final class AdvertisingSetParameters.Builder {
3715    method @NonNull public android.bluetooth.le.AdvertisingSetParameters.Builder setOwnAddressType(int);
3716  }
3717
3718  public final class BluetoothLeScanner {
3719    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.UPDATE_DEVICE_STATS}) public void startScanFromSource(android.os.WorkSource, android.bluetooth.le.ScanCallback);
3720    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);
3721    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);
3722  }
3723
3724  @Deprecated public final class ResultStorageDescriptor implements android.os.Parcelable {
3725    ctor @Deprecated public ResultStorageDescriptor(int, int, int);
3726    method @Deprecated public int describeContents();
3727    method @Deprecated public int getLength();
3728    method @Deprecated public int getOffset();
3729    method @Deprecated public int getType();
3730    method @Deprecated public void writeToParcel(android.os.Parcel, int);
3731    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ResultStorageDescriptor> CREATOR;
3732  }
3733
3734  public final class ScanFilter implements android.os.Parcelable {
3735    method public int getAddressType();
3736    method @Nullable public byte[] getIrk();
3737  }
3738
3739  public static final class ScanFilter.Builder {
3740    method @NonNull public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(@NonNull String, int);
3741    method @NonNull public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(@NonNull String, int, @NonNull byte[]);
3742    field public static final int LEN_IRK_OCTETS = 16; // 0x10
3743  }
3744
3745  public final class ScanSettings implements android.os.Parcelable {
3746    field public static final int SCAN_MODE_AMBIENT_DISCOVERY = 3; // 0x3
3747    field public static final int SCAN_RESULT_TYPE_ABBREVIATED = 1; // 0x1
3748    field public static final int SCAN_RESULT_TYPE_FULL = 0; // 0x0
3749  }
3750
3751  public static final class ScanSettings.Builder {
3752    method public android.bluetooth.le.ScanSettings.Builder setScanResultType(int);
3753  }
3754
3755  @Deprecated public final class TruncatedFilter {
3756    ctor @Deprecated public TruncatedFilter(android.bluetooth.le.ScanFilter, java.util.List<android.bluetooth.le.ResultStorageDescriptor>);
3757    method @Deprecated public android.bluetooth.le.ScanFilter getFilter();
3758    method @Deprecated public java.util.List<android.bluetooth.le.ResultStorageDescriptor> getStorageDescriptors();
3759  }
3760
3761}
3762
3763package android.companion {
3764
3765  public final class AssociationInfo implements android.os.Parcelable {
3766    method @NonNull public String getPackageName();
3767    method public boolean isSelfManaged();
3768  }
3769
3770  public final class CompanionDeviceManager {
3771    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public void addOnAssociationsChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.companion.CompanionDeviceManager.OnAssociationsChangedListener);
3772    method @RequiresPermission(android.Manifest.permission.ASSOCIATE_COMPANION_DEVICES) public void associate(@NonNull String, @NonNull android.net.MacAddress, @NonNull byte[]);
3773    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public boolean canPairWithoutPrompt(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
3774    method @NonNull @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public java.util.List<android.companion.AssociationInfo> getAllAssociations();
3775    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public boolean isDeviceAssociatedForWifiConnection(@NonNull String, @NonNull android.net.MacAddress, @NonNull android.os.UserHandle);
3776    method @RequiresPermission(android.Manifest.permission.REQUEST_COMPANION_SELF_MANAGED) public void notifyDeviceAppeared(int);
3777    method @RequiresPermission(android.Manifest.permission.REQUEST_COMPANION_SELF_MANAGED) public void notifyDeviceDisappeared(int);
3778    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public void removeOnAssociationsChangedListener(@NonNull android.companion.CompanionDeviceManager.OnAssociationsChangedListener);
3779  }
3780
3781  public static interface CompanionDeviceManager.OnAssociationsChangedListener {
3782    method public void onAssociationsChanged(@NonNull java.util.List<android.companion.AssociationInfo>);
3783  }
3784
3785}
3786
3787package android.companion.virtual {
3788
3789  public final class VirtualDeviceManager {
3790    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.companion.virtual.VirtualDeviceManager.VirtualDevice createVirtualDevice(int, @NonNull android.companion.virtual.VirtualDeviceParams);
3791    field public static final int LAUNCH_FAILURE_NO_ACTIVITY = 2; // 0x2
3792    field public static final int LAUNCH_FAILURE_PENDING_INTENT_CANCELED = 1; // 0x1
3793    field public static final int LAUNCH_SUCCESS = 0; // 0x0
3794  }
3795
3796  public static interface VirtualDeviceManager.ActivityListener {
3797    method public void onDisplayEmpty(int);
3798    method public void onTopActivityChanged(int, @NonNull android.content.ComponentName);
3799  }
3800
3801  public static class VirtualDeviceManager.VirtualDevice implements java.lang.AutoCloseable {
3802    method public void addActivityListener(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.VirtualDeviceManager.ActivityListener);
3803    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close();
3804    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);
3805    method @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);
3806    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.hardware.input.VirtualKeyboard createVirtualKeyboard(@NonNull android.hardware.display.VirtualDisplay, @NonNull String, int, int);
3807    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.hardware.input.VirtualMouse createVirtualMouse(@NonNull android.hardware.display.VirtualDisplay, @NonNull String, int, int);
3808    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.hardware.input.VirtualTouchscreen createVirtualTouchscreen(@NonNull android.hardware.display.VirtualDisplay, @NonNull String, int, int);
3809    method public void launchPendingIntent(int, @NonNull android.app.PendingIntent, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.IntConsumer);
3810    method public void removeActivityListener(@NonNull android.companion.virtual.VirtualDeviceManager.ActivityListener);
3811    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void setShowPointerIcon(boolean);
3812  }
3813
3814  public final class VirtualDeviceParams implements android.os.Parcelable {
3815    method public int describeContents();
3816    method @NonNull public java.util.Set<android.content.ComponentName> getAllowedActivities();
3817    method @NonNull public java.util.Set<android.content.ComponentName> getAllowedCrossTaskNavigations();
3818    method @NonNull public java.util.Set<android.content.ComponentName> getBlockedActivities();
3819    method @NonNull public java.util.Set<android.content.ComponentName> getBlockedCrossTaskNavigations();
3820    method public int getDefaultActivityPolicy();
3821    method public int getDefaultNavigationPolicy();
3822    method public int getLockState();
3823    method @NonNull public java.util.Set<android.os.UserHandle> getUsersWithMatchingAccounts();
3824    method public void writeToParcel(@NonNull android.os.Parcel, int);
3825    field public static final int ACTIVITY_POLICY_DEFAULT_ALLOWED = 0; // 0x0
3826    field public static final int ACTIVITY_POLICY_DEFAULT_BLOCKED = 1; // 0x1
3827    field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.VirtualDeviceParams> CREATOR;
3828    field public static final int LOCK_STATE_ALWAYS_UNLOCKED = 1; // 0x1
3829    field public static final int LOCK_STATE_DEFAULT = 0; // 0x0
3830    field public static final int NAVIGATION_POLICY_DEFAULT_ALLOWED = 0; // 0x0
3831    field public static final int NAVIGATION_POLICY_DEFAULT_BLOCKED = 1; // 0x1
3832  }
3833
3834  public static final class VirtualDeviceParams.Builder {
3835    ctor public VirtualDeviceParams.Builder();
3836    method @NonNull public android.companion.virtual.VirtualDeviceParams build();
3837    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setAllowedActivities(@NonNull java.util.Set<android.content.ComponentName>);
3838    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setAllowedCrossTaskNavigations(@NonNull java.util.Set<android.content.ComponentName>);
3839    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setBlockedActivities(@NonNull java.util.Set<android.content.ComponentName>);
3840    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setBlockedCrossTaskNavigations(@NonNull java.util.Set<android.content.ComponentName>);
3841    method @NonNull @RequiresPermission(value=android.Manifest.permission.ADD_ALWAYS_UNLOCKED_DISPLAY, conditional=true) public android.companion.virtual.VirtualDeviceParams.Builder setLockState(int);
3842    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setUsersWithMatchingAccounts(@NonNull java.util.Set<android.os.UserHandle>);
3843  }
3844
3845}
3846
3847package android.companion.virtual.audio {
3848
3849  public final class AudioCapture {
3850    method @NonNull public android.media.AudioFormat getFormat();
3851    method public int getRecordingState();
3852    method public int read(@NonNull byte[], int, int);
3853    method public int read(@NonNull byte[], int, int, int);
3854    method public int read(@NonNull java.nio.ByteBuffer, int);
3855    method public int read(@NonNull java.nio.ByteBuffer, int, int);
3856    method public int read(@NonNull float[], int, int, int);
3857    method public int read(@NonNull short[], int, int);
3858    method public int read(@NonNull short[], int, int, int);
3859    method public void startRecording();
3860    method public void stop();
3861  }
3862
3863  public final class AudioInjection {
3864    method @NonNull public android.media.AudioFormat getFormat();
3865    method public int getPlayState();
3866    method public void play();
3867    method public void stop();
3868    method public int write(@NonNull byte[], int, int);
3869    method public int write(@NonNull byte[], int, int, int);
3870    method public int write(@NonNull java.nio.ByteBuffer, int, int);
3871    method public int write(@NonNull java.nio.ByteBuffer, int, int, long);
3872    method public int write(@NonNull float[], int, int, int);
3873    method public int write(@NonNull short[], int, int);
3874    method public int write(@NonNull short[], int, int, int);
3875  }
3876
3877  public final class VirtualAudioDevice implements java.io.Closeable {
3878    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void close();
3879    method @Nullable public android.companion.virtual.audio.AudioCapture getAudioCapture();
3880    method @Nullable public android.companion.virtual.audio.AudioInjection getAudioInjection();
3881    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.companion.virtual.audio.AudioCapture startAudioCapture(@NonNull android.media.AudioFormat);
3882    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.companion.virtual.audio.AudioInjection startAudioInjection(@NonNull android.media.AudioFormat);
3883  }
3884
3885  public static interface VirtualAudioDevice.AudioConfigurationChangeCallback {
3886    method public void onPlaybackConfigChanged(@NonNull java.util.List<android.media.AudioPlaybackConfiguration>);
3887    method public void onRecordingConfigChanged(@NonNull java.util.List<android.media.AudioRecordingConfiguration>);
3888  }
3889
3890}
3891
3892package android.content {
3893
3894  public class ApexEnvironment {
3895    method @NonNull public static android.content.ApexEnvironment getApexEnvironment(@NonNull String);
3896    method @NonNull public java.io.File getCredentialProtectedDataDirForUser(@NonNull android.os.UserHandle);
3897    method @NonNull public java.io.File getDeviceProtectedDataDir();
3898    method @NonNull public java.io.File getDeviceProtectedDataDirForUser(@NonNull android.os.UserHandle);
3899  }
3900
3901  public final class AttributionSource implements android.os.Parcelable {
3902    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public java.util.Set<java.lang.String> getRenouncedPermissions();
3903  }
3904
3905  public static final class AttributionSource.Builder {
3906    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public android.content.AttributionSource.Builder setRenouncedPermissions(@Nullable java.util.Set<java.lang.String>);
3907  }
3908
3909  public abstract class BroadcastReceiver {
3910    method @NonNull public final android.os.UserHandle getSendingUser();
3911  }
3912
3913  public class ClipboardManager extends android.text.ClipboardManager {
3914    method @RequiresPermission(android.Manifest.permission.SET_CLIP_SOURCE) public void setPrimaryClipAsPackage(@NonNull android.content.ClipData, @NonNull String);
3915  }
3916
3917  public abstract class ContentProvider implements android.content.ComponentCallbacks2 {
3918    method public int checkUriPermission(@NonNull android.net.Uri, int, int);
3919  }
3920
3921  public class ContentProviderClient implements java.lang.AutoCloseable {
3922    method @RequiresPermission(android.Manifest.permission.REMOVE_TASKS) public void setDetectNotResponding(long);
3923  }
3924
3925  public abstract class ContentResolver {
3926    method public int checkUriPermission(@NonNull android.net.Uri, int, int);
3927    method @NonNull public static android.net.Uri decodeFromFile(@NonNull java.io.File);
3928    method @NonNull public static java.io.File encodeToFile(@NonNull android.net.Uri);
3929    method @Nullable @RequiresPermission("android.permission.CACHE_CONTENT") public android.os.Bundle getCache(@NonNull android.net.Uri);
3930    method @RequiresPermission("android.permission.CACHE_CONTENT") public void putCache(@NonNull android.net.Uri, @Nullable android.os.Bundle);
3931  }
3932
3933  public abstract class Context {
3934    method @NonNull public android.content.Context createContextAsUser(@NonNull android.os.UserHandle, int);
3935    method public abstract android.content.Context createCredentialProtectedStorageContext();
3936    method @NonNull public android.content.Context createPackageContextAsUser(@NonNull String, int, @NonNull android.os.UserHandle) throws android.content.pm.PackageManager.NameNotFoundException;
3937    method @Nullable public abstract java.io.File getPreloadsFileCache();
3938    method public abstract boolean isCredentialProtectedStorage();
3939    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);
3940    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);
3941    method public abstract void sendBroadcast(android.content.Intent, @Nullable String, @Nullable android.os.Bundle);
3942    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);
3943    method public void sendBroadcastMultiplePermissions(@NonNull android.content.Intent, @NonNull String[], @Nullable android.app.BroadcastOptions);
3944    method public abstract void sendOrderedBroadcast(@NonNull android.content.Intent, @Nullable String, @Nullable android.os.Bundle, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
3945    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public void startActivityAsUser(@NonNull @RequiresPermission android.content.Intent, @NonNull android.os.UserHandle);
3946    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public void startActivityAsUser(@NonNull @RequiresPermission android.content.Intent, @Nullable android.os.Bundle, @NonNull android.os.UserHandle);
3947    field public static final String AMBIENT_CONTEXT_SERVICE = "ambient_context";
3948    field public static final String APP_HIBERNATION_SERVICE = "app_hibernation";
3949    field public static final String APP_INTEGRITY_SERVICE = "app_integrity";
3950    field public static final String APP_PREDICTION_SERVICE = "app_prediction";
3951    field public static final String BACKUP_SERVICE = "backup";
3952    field public static final String BATTERY_STATS_SERVICE = "batterystats";
3953    field public static final int BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS = 1048576; // 0x100000
3954    field @Deprecated public static final int BIND_ALLOW_FOREGROUND_SERVICE_STARTS_FROM_BACKGROUND = 262144; // 0x40000
3955    field public static final String CLOUDSEARCH_SERVICE = "cloudsearch";
3956    field public static final String CONTENT_SUGGESTIONS_SERVICE = "content_suggestions";
3957    field public static final String CONTEXTHUB_SERVICE = "contexthub";
3958    field public static final String ETHERNET_SERVICE = "ethernet";
3959    field public static final String EUICC_CARD_SERVICE = "euicc_card";
3960    field public static final String FONT_SERVICE = "font";
3961    field public static final String HDMI_CONTROL_SERVICE = "hdmi_control";
3962    field public static final String MEDIA_TRANSCODING_SERVICE = "media_transcoding";
3963    field public static final String MUSIC_RECOGNITION_SERVICE = "music_recognition";
3964    field public static final String NEARBY_SERVICE = "nearby";
3965    field public static final String NETD_SERVICE = "netd";
3966    field @Deprecated public static final String NETWORK_SCORE_SERVICE = "network_score";
3967    field public static final String OEM_LOCK_SERVICE = "oem_lock";
3968    field public static final String PERMISSION_CONTROLLER_SERVICE = "permission_controller";
3969    field public static final String PERMISSION_SERVICE = "permission";
3970    field public static final String PERSISTENT_DATA_BLOCK_SERVICE = "persistent_data_block";
3971    field public static final String REBOOT_READINESS_SERVICE = "reboot_readiness";
3972    field public static final String ROLLBACK_SERVICE = "rollback";
3973    field public static final String SAFETY_CENTER_SERVICE = "safety_center";
3974    field public static final String SEARCH_UI_SERVICE = "search_ui";
3975    field public static final String SECURE_ELEMENT_SERVICE = "secure_element";
3976    field public static final String SMARTSPACE_SERVICE = "smartspace";
3977    field public static final String STATS_MANAGER = "stats";
3978    field public static final String SYSTEM_CONFIG_SERVICE = "system_config";
3979    field public static final String SYSTEM_UPDATE_SERVICE = "system_update";
3980    field public static final String TETHERING_SERVICE = "tethering";
3981    field public static final String TRANSLATION_MANAGER_SERVICE = "translation";
3982    field public static final String UI_TRANSLATION_SERVICE = "ui_translation";
3983    field public static final String UWB_SERVICE = "uwb";
3984    field public static final String VR_SERVICE = "vrmanager";
3985    field public static final String WALLPAPER_EFFECTS_GENERATION_SERVICE = "wallpaper_effects_generation";
3986    field public static final String WIFI_NL80211_SERVICE = "wifinl80211";
3987    field @Deprecated public static final String WIFI_RTT_SERVICE = "rttmanager";
3988    field public static final String WIFI_SCANNING_SERVICE = "wifiscanner";
3989  }
3990
3991  public final class ContextParams {
3992    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public java.util.Set<java.lang.String> getRenouncedPermissions();
3993  }
3994
3995  public static final class ContextParams.Builder {
3996    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public android.content.ContextParams.Builder setRenouncedPermissions(@Nullable java.util.Set<java.lang.String>);
3997  }
3998
3999  public class ContextWrapper extends android.content.Context {
4000    method public android.content.Context createCredentialProtectedStorageContext();
4001    method @Nullable public java.io.File getPreloadsFileCache();
4002    method public boolean isCredentialProtectedStorage();
4003    method public void sendBroadcast(android.content.Intent, @Nullable String, @Nullable android.os.Bundle);
4004    method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, @Nullable String, @Nullable android.os.Bundle);
4005    method public void sendOrderedBroadcast(android.content.Intent, @Nullable String, @Nullable android.os.Bundle, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
4006  }
4007
4008  public class Intent implements java.lang.Cloneable android.os.Parcelable {
4009    field public static final String ACTION_ACTIVITY_RECOGNIZER = "android.intent.action.ACTIVITY_RECOGNIZER";
4010    field public static final String ACTION_BATTERY_LEVEL_CHANGED = "android.intent.action.BATTERY_LEVEL_CHANGED";
4011    field public static final String ACTION_CALL_EMERGENCY = "android.intent.action.CALL_EMERGENCY";
4012    field public static final String ACTION_CALL_PRIVILEGED = "android.intent.action.CALL_PRIVILEGED";
4013    field public static final String ACTION_DEVICE_CUSTOMIZATION_READY = "android.intent.action.DEVICE_CUSTOMIZATION_READY";
4014    field public static final String ACTION_DIAL_EMERGENCY = "android.intent.action.DIAL_EMERGENCY";
4015    field public static final String ACTION_DOMAINS_NEED_VERIFICATION = "android.intent.action.DOMAINS_NEED_VERIFICATION";
4016    field public static final String ACTION_FACTORY_RESET = "android.intent.action.FACTORY_RESET";
4017    field public static final String ACTION_GLOBAL_BUTTON = "android.intent.action.GLOBAL_BUTTON";
4018    field public static final String ACTION_INCIDENT_REPORT_READY = "android.intent.action.INCIDENT_REPORT_READY";
4019    field public static final String ACTION_INSTALL_INSTANT_APP_PACKAGE = "android.intent.action.INSTALL_INSTANT_APP_PACKAGE";
4020    field public static final String ACTION_INSTANT_APP_RESOLVER_SETTINGS = "android.intent.action.INSTANT_APP_RESOLVER_SETTINGS";
4021    field @Deprecated public static final String ACTION_INTENT_FILTER_NEEDS_VERIFICATION = "android.intent.action.INTENT_FILTER_NEEDS_VERIFICATION";
4022    field public static final String ACTION_LOAD_DATA = "android.intent.action.LOAD_DATA";
4023    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_MANAGE_APP_PERMISSION = "android.intent.action.MANAGE_APP_PERMISSION";
4024    field public static final String ACTION_MANAGE_APP_PERMISSIONS = "android.intent.action.MANAGE_APP_PERMISSIONS";
4025    field @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public static final String ACTION_MANAGE_DEFAULT_APP = "android.intent.action.MANAGE_DEFAULT_APP";
4026    field public static final String ACTION_MANAGE_PERMISSIONS = "android.intent.action.MANAGE_PERMISSIONS";
4027    field public static final String ACTION_MANAGE_PERMISSION_APPS = "android.intent.action.MANAGE_PERMISSION_APPS";
4028    field @RequiresPermission(android.Manifest.permission.START_VIEW_PERMISSION_USAGE) public static final String ACTION_MANAGE_PERMISSION_USAGE = "android.intent.action.MANAGE_PERMISSION_USAGE";
4029    field @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public static final String ACTION_MANAGE_SPECIAL_APP_ACCESSES = "android.intent.action.MANAGE_SPECIAL_APP_ACCESSES";
4030    field public static final String ACTION_MASTER_CLEAR_NOTIFICATION = "android.intent.action.MASTER_CLEAR_NOTIFICATION";
4031    field public static final String ACTION_PACKAGE_NEEDS_INTEGRITY_VERIFICATION = "android.intent.action.PACKAGE_NEEDS_INTEGRITY_VERIFICATION";
4032    field public static final String ACTION_PACKAGE_UNSUSPENDED_MANUALLY = "android.intent.action.PACKAGE_UNSUSPENDED_MANUALLY";
4033    field public static final String ACTION_PENDING_INCIDENT_REPORTS_CHANGED = "android.intent.action.PENDING_INCIDENT_REPORTS_CHANGED";
4034    field public static final String ACTION_PRE_BOOT_COMPLETED = "android.intent.action.PRE_BOOT_COMPLETED";
4035    field public static final String ACTION_QUERY_PACKAGE_RESTART = "android.intent.action.QUERY_PACKAGE_RESTART";
4036    field public static final String ACTION_RESOLVE_INSTANT_APP_PACKAGE = "android.intent.action.RESOLVE_INSTANT_APP_PACKAGE";
4037    field @RequiresPermission(android.Manifest.permission.REVIEW_ACCESSIBILITY_SERVICES) public static final String ACTION_REVIEW_ACCESSIBILITY_SERVICES = "android.intent.action.REVIEW_ACCESSIBILITY_SERVICES";
4038    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_ONGOING_PERMISSION_USAGE = "android.intent.action.REVIEW_ONGOING_PERMISSION_USAGE";
4039    field public static final String ACTION_REVIEW_PERMISSIONS = "android.intent.action.REVIEW_PERMISSIONS";
4040    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_PERMISSION_HISTORY = "android.intent.action.REVIEW_PERMISSION_HISTORY";
4041    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_PERMISSION_USAGE = "android.intent.action.REVIEW_PERMISSION_USAGE";
4042    field public static final String ACTION_ROLLBACK_COMMITTED = "android.intent.action.ROLLBACK_COMMITTED";
4043    field public static final String ACTION_SHOW_SUSPENDED_APP_DETAILS = "android.intent.action.SHOW_SUSPENDED_APP_DETAILS";
4044    field @Deprecated public static final String ACTION_SIM_STATE_CHANGED = "android.intent.action.SIM_STATE_CHANGED";
4045    field public static final String ACTION_SPLIT_CONFIGURATION_CHANGED = "android.intent.action.SPLIT_CONFIGURATION_CHANGED";
4046    field public static final String ACTION_UPGRADE_SETUP = "android.intent.action.UPGRADE_SETUP";
4047    field public static final String ACTION_USER_ADDED = "android.intent.action.USER_ADDED";
4048    field public static final String ACTION_USER_REMOVED = "android.intent.action.USER_REMOVED";
4049    field public static final String ACTION_USER_SWITCHED = "android.intent.action.USER_SWITCHED";
4050    field @RequiresPermission(android.Manifest.permission.START_VIEW_APP_FEATURES) public static final String ACTION_VIEW_APP_FEATURES = "android.intent.action.VIEW_APP_FEATURES";
4051    field @RequiresPermission(android.Manifest.permission.MANAGE_SENSOR_PRIVACY) public static final String ACTION_VIEW_SAFETY_CENTER_QS = "android.intent.action.VIEW_SAFETY_CENTER_QS";
4052    field public static final String ACTION_VOICE_ASSIST = "android.intent.action.VOICE_ASSIST";
4053    field public static final String CATEGORY_LEANBACK_SETTINGS = "android.intent.category.LEANBACK_SETTINGS";
4054    field public static final String EXTRA_CALLING_PACKAGE = "android.intent.extra.CALLING_PACKAGE";
4055    field public static final String EXTRA_FORCE_FACTORY_RESET = "android.intent.extra.FORCE_FACTORY_RESET";
4056    field public static final String EXTRA_INSTANT_APP_ACTION = "android.intent.extra.INSTANT_APP_ACTION";
4057    field public static final String EXTRA_INSTANT_APP_BUNDLES = "android.intent.extra.INSTANT_APP_BUNDLES";
4058    field public static final String EXTRA_INSTANT_APP_EXTRAS = "android.intent.extra.INSTANT_APP_EXTRAS";
4059    field public static final String EXTRA_INSTANT_APP_FAILURE = "android.intent.extra.INSTANT_APP_FAILURE";
4060    field public static final String EXTRA_INSTANT_APP_HOSTNAME = "android.intent.extra.INSTANT_APP_HOSTNAME";
4061    field public static final String EXTRA_INSTANT_APP_SUCCESS = "android.intent.extra.INSTANT_APP_SUCCESS";
4062    field public static final String EXTRA_INSTANT_APP_TOKEN = "android.intent.extra.INSTANT_APP_TOKEN";
4063    field public static final String EXTRA_LONG_VERSION_CODE = "android.intent.extra.LONG_VERSION_CODE";
4064    field public static final String EXTRA_ORIGINATING_UID = "android.intent.extra.ORIGINATING_UID";
4065    field public static final String EXTRA_PACKAGES = "android.intent.extra.PACKAGES";
4066    field public static final String EXTRA_PERMISSION_NAME = "android.intent.extra.PERMISSION_NAME";
4067    field public static final String EXTRA_REASON = "android.intent.extra.REASON";
4068    field public static final String EXTRA_REMOTE_CALLBACK = "android.intent.extra.REMOTE_CALLBACK";
4069    field public static final String EXTRA_RESULT_NEEDED = "android.intent.extra.RESULT_NEEDED";
4070    field public static final String EXTRA_ROLE_NAME = "android.intent.extra.ROLE_NAME";
4071    field public static final String EXTRA_SHOWING_ATTRIBUTION = "android.intent.extra.SHOWING_ATTRIBUTION";
4072    field public static final String EXTRA_UNKNOWN_INSTANT_APP = "android.intent.extra.UNKNOWN_INSTANT_APP";
4073    field public static final String EXTRA_USER_HANDLE = "android.intent.extra.user_handle";
4074    field public static final String EXTRA_VERIFICATION_BUNDLE = "android.intent.extra.VERIFICATION_BUNDLE";
4075    field public static final int FLAG_RECEIVER_INCLUDE_BACKGROUND = 16777216; // 0x1000000
4076    field public static final int FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT = 67108864; // 0x4000000
4077    field public static final String METADATA_SETUP_VERSION = "android.SETUP_VERSION";
4078  }
4079
4080  public class IntentFilter implements android.os.Parcelable {
4081    method public final int getOrder();
4082    method public final void setOrder(int);
4083  }
4084
4085}
4086
4087package android.content.integrity {
4088
4089  public class AppIntegrityManager {
4090    method @NonNull public String getCurrentRuleSetProvider();
4091    method @NonNull public String getCurrentRuleSetVersion();
4092    method public void updateRuleSet(@NonNull android.content.integrity.RuleSet, @NonNull android.content.IntentSender);
4093    field public static final String EXTRA_STATUS = "android.content.integrity.extra.STATUS";
4094    field public static final int STATUS_FAILURE = 1; // 0x1
4095    field public static final int STATUS_SUCCESS = 0; // 0x0
4096  }
4097
4098  public abstract class IntegrityFormula {
4099    method @NonNull public static android.content.integrity.IntegrityFormula all(@NonNull android.content.integrity.IntegrityFormula...);
4100    method @NonNull public static android.content.integrity.IntegrityFormula any(@NonNull android.content.integrity.IntegrityFormula...);
4101    method @NonNull public static android.content.integrity.IntegrityFormula not(@NonNull android.content.integrity.IntegrityFormula);
4102  }
4103
4104  public static final class IntegrityFormula.Application {
4105    method @NonNull public static android.content.integrity.IntegrityFormula certificateLineageContains(@NonNull String);
4106    method @NonNull public static android.content.integrity.IntegrityFormula certificatesContain(@NonNull String);
4107    method @NonNull public static android.content.integrity.IntegrityFormula isPreInstalled();
4108    method @NonNull public static android.content.integrity.IntegrityFormula packageNameEquals(@NonNull String);
4109    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeEquals(@NonNull long);
4110    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeGreaterThan(@NonNull long);
4111    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeGreaterThanOrEqualTo(@NonNull long);
4112  }
4113
4114  public static final class IntegrityFormula.Installer {
4115    method @NonNull public static android.content.integrity.IntegrityFormula certificatesContain(@NonNull String);
4116    method @NonNull public static android.content.integrity.IntegrityFormula notAllowedByManifest();
4117    method @NonNull public static android.content.integrity.IntegrityFormula packageNameEquals(@NonNull String);
4118  }
4119
4120  public static final class IntegrityFormula.SourceStamp {
4121    method @NonNull public static android.content.integrity.IntegrityFormula notTrusted();
4122    method @NonNull public static android.content.integrity.IntegrityFormula stampCertificateHashEquals(@NonNull String);
4123  }
4124
4125  public final class Rule implements android.os.Parcelable {
4126    ctor public Rule(@NonNull android.content.integrity.IntegrityFormula, int);
4127    method public int describeContents();
4128    method public int getEffect();
4129    method @NonNull public android.content.integrity.IntegrityFormula getFormula();
4130    method public void writeToParcel(@NonNull android.os.Parcel, int);
4131    field @NonNull public static final android.os.Parcelable.Creator<android.content.integrity.Rule> CREATOR;
4132    field public static final int DENY = 0; // 0x0
4133    field public static final int FORCE_ALLOW = 1; // 0x1
4134  }
4135
4136  public class RuleSet {
4137    method @NonNull public java.util.List<android.content.integrity.Rule> getRules();
4138    method @NonNull public String getVersion();
4139  }
4140
4141  public static class RuleSet.Builder {
4142    ctor public RuleSet.Builder();
4143    method @NonNull public android.content.integrity.RuleSet.Builder addRules(@NonNull java.util.List<android.content.integrity.Rule>);
4144    method @NonNull public android.content.integrity.RuleSet build();
4145    method @NonNull public android.content.integrity.RuleSet.Builder setVersion(@NonNull String);
4146  }
4147
4148}
4149
4150package android.content.om {
4151
4152  public final class OverlayInfo implements android.os.Parcelable {
4153    method public int describeContents();
4154    method @Nullable public String getCategory();
4155    method @NonNull public String getPackageName();
4156    method @Nullable public String getTargetOverlayableName();
4157    method @NonNull public String getTargetPackageName();
4158    method public int getUserId();
4159    method public boolean isEnabled();
4160    method public void writeToParcel(android.os.Parcel, int);
4161    field @NonNull public static final android.os.Parcelable.Creator<android.content.om.OverlayInfo> CREATOR;
4162  }
4163
4164  public class OverlayManager {
4165    method @Nullable public android.content.om.OverlayInfo getOverlayInfo(@NonNull String, @NonNull android.os.UserHandle);
4166    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);
4167    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;
4168    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;
4169  }
4170
4171}
4172
4173package android.content.pm {
4174
4175  public class ApplicationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
4176    method public boolean isEncryptionAware();
4177    method public boolean isInstantApp();
4178    method public boolean isOem();
4179    method public boolean isProduct();
4180    method public boolean isVendor();
4181    field public String credentialProtectedDataDir;
4182    field public int targetSandboxVersion;
4183  }
4184
4185  public class CrossProfileApps {
4186    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);
4187    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);
4188  }
4189
4190  public class DataLoaderParams {
4191    method @NonNull public static final android.content.pm.DataLoaderParams forIncremental(@NonNull android.content.ComponentName, @NonNull String);
4192    method @NonNull public static final android.content.pm.DataLoaderParams forStreaming(@NonNull android.content.ComponentName, @NonNull String);
4193    method @NonNull public final String getArguments();
4194    method @NonNull public final android.content.ComponentName getComponentName();
4195    method @NonNull public final int getType();
4196  }
4197
4198  public final class InstallationFile {
4199    method public long getLengthBytes();
4200    method public int getLocation();
4201    method @Nullable public byte[] getMetadata();
4202    method @NonNull public String getName();
4203    method @Nullable public byte[] getSignature();
4204  }
4205
4206  public final class InstantAppInfo implements android.os.Parcelable {
4207    ctor public InstantAppInfo(android.content.pm.ApplicationInfo, String[], String[]);
4208    ctor public InstantAppInfo(String, CharSequence, String[], String[]);
4209    method public int describeContents();
4210    method @Nullable public android.content.pm.ApplicationInfo getApplicationInfo();
4211    method @Nullable public String[] getGrantedPermissions();
4212    method @NonNull public String getPackageName();
4213    method @Nullable public String[] getRequestedPermissions();
4214    method @NonNull public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.pm.PackageManager);
4215    method @NonNull public CharSequence loadLabel(@NonNull android.content.pm.PackageManager);
4216    method public void writeToParcel(android.os.Parcel, int);
4217    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppInfo> CREATOR;
4218  }
4219
4220  public final class InstantAppIntentFilter implements android.os.Parcelable {
4221    ctor public InstantAppIntentFilter(@Nullable String, @NonNull java.util.List<android.content.IntentFilter>);
4222    method public int describeContents();
4223    method public java.util.List<android.content.IntentFilter> getFilters();
4224    method public String getSplitName();
4225    method public void writeToParcel(android.os.Parcel, int);
4226    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppIntentFilter> CREATOR;
4227  }
4228
4229  public final class InstantAppRequestInfo implements android.os.Parcelable {
4230    ctor public InstantAppRequestInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, boolean, @NonNull String);
4231    method public int describeContents();
4232    method @Nullable public int[] getHostDigestPrefix();
4233    method @NonNull public android.content.Intent getIntent();
4234    method @NonNull public String getToken();
4235    method @NonNull public android.os.UserHandle getUserHandle();
4236    method public boolean isRequesterInstantApp();
4237    method public void writeToParcel(@NonNull android.os.Parcel, int);
4238    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppRequestInfo> CREATOR;
4239  }
4240
4241  public final class InstantAppResolveInfo implements android.os.Parcelable {
4242    ctor public InstantAppResolveInfo(@NonNull android.content.pm.InstantAppResolveInfo.InstantAppDigest, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>, int);
4243    ctor public InstantAppResolveInfo(@NonNull android.content.pm.InstantAppResolveInfo.InstantAppDigest, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>, long, @Nullable android.os.Bundle);
4244    ctor public InstantAppResolveInfo(@NonNull String, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>);
4245    ctor public InstantAppResolveInfo(@Nullable android.os.Bundle);
4246    method public int describeContents();
4247    method public byte[] getDigestBytes();
4248    method public int getDigestPrefix();
4249    method @Nullable public android.os.Bundle getExtras();
4250    method public java.util.List<android.content.pm.InstantAppIntentFilter> getIntentFilters();
4251    method public long getLongVersionCode();
4252    method public String getPackageName();
4253    method @Deprecated public int getVersionCode();
4254    method public boolean shouldLetInstallerDecide();
4255    method public void writeToParcel(android.os.Parcel, int);
4256    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppResolveInfo> CREATOR;
4257  }
4258
4259  public static final class InstantAppResolveInfo.InstantAppDigest implements android.os.Parcelable {
4260    ctor public InstantAppResolveInfo.InstantAppDigest(@NonNull String);
4261    method public int describeContents();
4262    method public byte[][] getDigestBytes();
4263    method public int[] getDigestPrefix();
4264    method public void writeToParcel(android.os.Parcel, int);
4265    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppResolveInfo.InstantAppDigest> CREATOR;
4266    field public static final android.content.pm.InstantAppResolveInfo.InstantAppDigest UNDEFINED;
4267  }
4268
4269  public final class IntentFilterVerificationInfo implements android.os.Parcelable {
4270    method public int describeContents();
4271    method public java.util.Set<java.lang.String> getDomains();
4272    method public String getPackageName();
4273    method public int getStatus();
4274    method public void writeToParcel(android.os.Parcel, int);
4275    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.IntentFilterVerificationInfo> CREATOR;
4276  }
4277
4278  public class LauncherApps {
4279    method @Nullable public android.content.pm.LauncherApps.AppUsageLimit getAppUsageLimit(@NonNull String, @NonNull android.os.UserHandle);
4280  }
4281
4282  public static final class LauncherApps.AppUsageLimit implements android.os.Parcelable {
4283    method public int describeContents();
4284    method public long getTotalUsageLimit();
4285    method public long getUsageRemaining();
4286    method public void writeToParcel(android.os.Parcel, int);
4287    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.LauncherApps.AppUsageLimit> CREATOR;
4288  }
4289
4290  public static class LauncherApps.ShortcutQuery {
4291    field public static final int FLAG_GET_PERSISTED_DATA = 4096; // 0x1000
4292    field @RequiresPermission(android.Manifest.permission.ACCESS_SHORTCUTS) public static final int FLAG_GET_PERSONS_DATA = 2048; // 0x800
4293  }
4294
4295  public class PackageInstaller {
4296    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setPermissionsResult(int, boolean);
4297    field public static final int DATA_LOADER_TYPE_INCREMENTAL = 2; // 0x2
4298    field public static final int DATA_LOADER_TYPE_NONE = 0; // 0x0
4299    field public static final int DATA_LOADER_TYPE_STREAMING = 1; // 0x1
4300    field public static final String EXTRA_DATA_LOADER_TYPE = "android.content.pm.extra.DATA_LOADER_TYPE";
4301    field public static final int LOCATION_DATA_APP = 0; // 0x0
4302    field public static final int LOCATION_MEDIA_DATA = 2; // 0x2
4303    field public static final int LOCATION_MEDIA_OBB = 1; // 0x1
4304  }
4305
4306  public static class PackageInstaller.Session implements java.io.Closeable {
4307    method @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public void addFile(int, @NonNull String, long, @NonNull byte[], @Nullable byte[]);
4308    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void commitTransferred(@NonNull android.content.IntentSender);
4309    method @Nullable @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public android.content.pm.DataLoaderParams getDataLoaderParams();
4310    method @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public void removeFile(int, @NonNull String);
4311  }
4312
4313  public static class PackageInstaller.SessionInfo implements android.os.Parcelable {
4314    method public boolean getAllocateAggressive();
4315    method @Deprecated public boolean getAllowDowngrade();
4316    method public int getAutoRevokePermissionsMode();
4317    method public boolean getDontKillApp();
4318    method public boolean getEnableRollback();
4319    method @Nullable public String[] getGrantedRuntimePermissions();
4320    method public boolean getInstallAsFullApp(boolean);
4321    method public boolean getInstallAsInstantApp(boolean);
4322    method public boolean getInstallAsVirtualPreload();
4323    method public boolean getRequestDowngrade();
4324    method public int getRollbackDataPolicy();
4325    method @NonNull public java.util.Set<java.lang.String> getWhitelistedRestrictedPermissions();
4326  }
4327
4328  public static class PackageInstaller.SessionParams implements android.os.Parcelable {
4329    method @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public void setAllocateAggressive(boolean);
4330    method @Deprecated public void setAllowDowngrade(boolean);
4331    method @RequiresPermission(allOf={android.Manifest.permission.INSTALL_PACKAGES, "com.android.permission.USE_INSTALLER_V2"}) public void setDataLoaderParams(@NonNull android.content.pm.DataLoaderParams);
4332    method public void setDontKillApp(boolean);
4333    method public void setEnableRollback(boolean);
4334    method public void setEnableRollback(boolean, int);
4335    method @RequiresPermission(android.Manifest.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS) public void setGrantedRuntimePermissions(String[]);
4336    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setInstallAsApex();
4337    method public void setInstallAsInstantApp(boolean);
4338    method public void setInstallAsVirtualPreload();
4339    method public void setRequestDowngrade(boolean);
4340    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setStaged();
4341  }
4342
4343  public class PackageItemInfo {
4344    method public static void forceSafeLabels();
4345    method @Deprecated @NonNull public CharSequence loadSafeLabel(@NonNull android.content.pm.PackageManager);
4346    method @NonNull public CharSequence loadSafeLabel(@NonNull android.content.pm.PackageManager, @FloatRange(from=0) float, int);
4347  }
4348
4349  public abstract class PackageManager {
4350    method @RequiresPermission("android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS") public abstract void addOnPermissionsChangeListener(@NonNull android.content.pm.PackageManager.OnPermissionsChangedListener);
4351    method public abstract boolean arePermissionsIndividuallyControlled();
4352    method @NonNull public abstract java.util.List<android.content.IntentFilter> getAllIntentFilters(@NonNull String);
4353    method @Deprecated @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;
4354    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;
4355    method @NonNull public android.content.pm.dex.ArtManager getArtManager();
4356    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_SHARED_LIBRARIES) public java.util.List<android.content.pm.SharedLibraryInfo> getDeclaredSharedLibraries(@NonNull String, int);
4357    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);
4358    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract String getDefaultBrowserPackageNameAsUser(int);
4359    method @Nullable @RequiresPermission(android.Manifest.permission.SET_HARMFUL_APP_WARNINGS) public CharSequence getHarmfulAppWarning(@NonNull String);
4360    method @Nullable public String getIncidentReportApproverPackageName();
4361    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract java.util.List<android.content.pm.PackageInfo> getInstalledPackagesAsUser(int, int);
4362    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);
4363    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public abstract android.graphics.drawable.Drawable getInstantAppIcon(String);
4364    method @Nullable public abstract android.content.ComponentName getInstantAppInstallerComponent();
4365    method @Nullable public abstract android.content.ComponentName getInstantAppResolverSettingsComponent();
4366    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public abstract java.util.List<android.content.pm.InstantAppInfo> getInstantApps();
4367    method @Deprecated @NonNull public abstract java.util.List<android.content.pm.IntentFilterVerificationInfo> getIntentFilterVerifications(@NonNull String);
4368    method @Deprecated @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract int getIntentVerificationStatusAsUser(@NonNull String, int);
4369    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);
4370    method @NonNull @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] getUnsuspendablePackages(@NonNull String[]);
4371    method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public abstract void grantRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
4372    method @Deprecated public abstract int installExistingPackage(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
4373    method @Deprecated public abstract int installExistingPackage(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException;
4374    method @Deprecated @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);
4375    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);
4376    method @Deprecated @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);
4377    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);
4378    method @Deprecated @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);
4379    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);
4380    method @Deprecated @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);
4381    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);
4382    method public abstract void registerDexModule(@NonNull String, @Nullable android.content.pm.PackageManager.DexModuleRegisterCallback);
4383    method @RequiresPermission("android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS") public abstract void removeOnPermissionsChangeListener(@NonNull android.content.pm.PackageManager.OnPermissionsChangedListener);
4384    method public void replacePreferredActivity(@NonNull android.content.IntentFilter, int, @NonNull java.util.List<android.content.ComponentName>, @NonNull android.content.ComponentName);
4385    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public abstract void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
4386    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle, @NonNull String);
4387    method public void sendDeviceCustomizationReadyBroadcast();
4388    method @RequiresPermission(allOf={android.Manifest.permission.SET_PREFERRED_APPLICATIONS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public abstract boolean setDefaultBrowserPackageNameAsUser(@Nullable String, int);
4389    method @NonNull @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] setDistractingPackageRestrictions(@NonNull String[], int);
4390    method @RequiresPermission(android.Manifest.permission.SET_HARMFUL_APP_WARNINGS) public void setHarmfulAppWarning(@NonNull String, @Nullable CharSequence);
4391    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);
4392    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);
4393    method @RequiresPermission(value=android.Manifest.permission.CHANGE_COMPONENT_ENABLED_STATE, conditional=true) public void setSyntheticAppDetailsActivityEnabled(@NonNull String, boolean);
4394    method public void setSystemAppState(@NonNull String, int);
4395    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public abstract void setUpdateAvailable(@NonNull String, boolean);
4396    method @Deprecated @RequiresPermission(android.Manifest.permission.SET_PREFERRED_APPLICATIONS) public abstract boolean updateIntentVerificationStatusAsUser(@NonNull String, int, int);
4397    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);
4398    method @Deprecated @RequiresPermission(android.Manifest.permission.INTENT_FILTER_VERIFICATION_AGENT) public abstract void verifyIntentFilter(int, int, @NonNull java.util.List<java.lang.String>);
4399    field public static final String ACTION_REQUEST_PERMISSIONS = "android.content.pm.action.REQUEST_PERMISSIONS";
4400    field public static final String ACTION_REQUEST_PERMISSIONS_FOR_OTHER = "android.content.pm.action.REQUEST_PERMISSIONS_FOR_OTHER";
4401    field public static final String EXTRA_REQUEST_PERMISSIONS_LEGACY_ACCESS_PERMISSION_NAMES = "android.content.pm.extra.REQUEST_PERMISSIONS_LEGACY_ACCESS_PERMISSION_NAMES";
4402    field public static final String EXTRA_REQUEST_PERMISSIONS_NAMES = "android.content.pm.extra.REQUEST_PERMISSIONS_NAMES";
4403    field public static final String EXTRA_REQUEST_PERMISSIONS_RESULTS = "android.content.pm.extra.REQUEST_PERMISSIONS_RESULTS";
4404    field public static final String FEATURE_BROADCAST_RADIO = "android.hardware.broadcastradio";
4405    field public static final String FEATURE_CONTEXT_HUB = "android.hardware.context_hub";
4406    field public static final String FEATURE_EROFS = "android.software.erofs";
4407    field public static final String FEATURE_EROFS_LEGACY = "android.software.erofs_legacy";
4408    field public static final String FEATURE_GAME_SERVICE = "android.software.game_service";
4409    field public static final String FEATURE_INCREMENTAL_DELIVERY = "android.software.incremental_delivery";
4410    field public static final String FEATURE_REBOOT_ESCROW = "android.hardware.reboot_escrow";
4411    field public static final String FEATURE_TELEPHONY_CARRIERLOCK = "android.hardware.telephony.carrierlock";
4412    field public static final String FEATURE_TELEPHONY_IMS_SINGLE_REGISTRATION = "android.hardware.telephony.ims.singlereg";
4413    field public static final int FLAGS_PERMISSION_RESERVED_PERMISSION_CONTROLLER = -268435456; // 0xf0000000
4414    field public static final int FLAG_PERMISSION_APPLY_RESTRICTION = 16384; // 0x4000
4415    field public static final int FLAG_PERMISSION_AUTO_REVOKED = 131072; // 0x20000
4416    field public static final int FLAG_PERMISSION_GRANTED_BY_DEFAULT = 32; // 0x20
4417    field public static final int FLAG_PERMISSION_GRANTED_BY_ROLE = 32768; // 0x8000
4418    field public static final int FLAG_PERMISSION_ONE_TIME = 65536; // 0x10000
4419    field public static final int FLAG_PERMISSION_POLICY_FIXED = 4; // 0x4
4420    field public static final int FLAG_PERMISSION_RESTRICTION_INSTALLER_EXEMPT = 2048; // 0x800
4421    field public static final int FLAG_PERMISSION_RESTRICTION_SYSTEM_EXEMPT = 4096; // 0x1000
4422    field public static final int FLAG_PERMISSION_RESTRICTION_UPGRADE_EXEMPT = 8192; // 0x2000
4423    field public static final int FLAG_PERMISSION_REVIEW_REQUIRED = 64; // 0x40
4424    field public static final int FLAG_PERMISSION_REVOKED_COMPAT = 8; // 0x8
4425    field @Deprecated public static final int FLAG_PERMISSION_REVOKE_ON_UPGRADE = 8; // 0x8
4426    field public static final int FLAG_PERMISSION_REVOKE_WHEN_REQUESTED = 128; // 0x80
4427    field public static final int FLAG_PERMISSION_SELECTED_LOCATION_ACCURACY = 524288; // 0x80000
4428    field public static final int FLAG_PERMISSION_SYSTEM_FIXED = 16; // 0x10
4429    field public static final int FLAG_PERMISSION_USER_FIXED = 2; // 0x2
4430    field public static final int FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED = 512; // 0x200
4431    field public static final int FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED = 256; // 0x100
4432    field public static final int FLAG_PERMISSION_USER_SET = 1; // 0x1
4433    field public static final int INSTALL_FAILED_ALREADY_EXISTS = -1; // 0xffffffff
4434    field public static final int INSTALL_FAILED_CONFLICTING_PROVIDER = -13; // 0xfffffff3
4435    field public static final int INSTALL_FAILED_CONTAINER_ERROR = -18; // 0xffffffee
4436    field public static final int INSTALL_FAILED_CPU_ABI_INCOMPATIBLE = -16; // 0xfffffff0
4437    field public static final int INSTALL_FAILED_DEXOPT = -11; // 0xfffffff5
4438    field public static final int INSTALL_FAILED_DUPLICATE_PACKAGE = -5; // 0xfffffffb
4439    field public static final int INSTALL_FAILED_INSUFFICIENT_STORAGE = -4; // 0xfffffffc
4440    field public static final int INSTALL_FAILED_INTERNAL_ERROR = -110; // 0xffffff92
4441    field public static final int INSTALL_FAILED_INVALID_APK = -2; // 0xfffffffe
4442    field public static final int INSTALL_FAILED_INVALID_INSTALL_LOCATION = -19; // 0xffffffed
4443    field public static final int INSTALL_FAILED_INVALID_URI = -3; // 0xfffffffd
4444    field public static final int INSTALL_FAILED_MEDIA_UNAVAILABLE = -20; // 0xffffffec
4445    field public static final int INSTALL_FAILED_MISSING_FEATURE = -17; // 0xffffffef
4446    field public static final int INSTALL_FAILED_MISSING_SHARED_LIBRARY = -9; // 0xfffffff7
4447    field public static final int INSTALL_FAILED_NEWER_SDK = -14; // 0xfffffff2
4448    field public static final int INSTALL_FAILED_NO_SHARED_USER = -6; // 0xfffffffa
4449    field public static final int INSTALL_FAILED_OLDER_SDK = -12; // 0xfffffff4
4450    field public static final int INSTALL_FAILED_PACKAGE_CHANGED = -23; // 0xffffffe9
4451    field public static final int INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE = -26; // 0xffffffe6
4452    field public static final int INSTALL_FAILED_REPLACE_COULDNT_DELETE = -10; // 0xfffffff6
4453    field public static final int INSTALL_FAILED_SANDBOX_VERSION_DOWNGRADE = -27; // 0xffffffe5
4454    field public static final int INSTALL_FAILED_SHARED_USER_INCOMPATIBLE = -8; // 0xfffffff8
4455    field public static final int INSTALL_FAILED_TEST_ONLY = -15; // 0xfffffff1
4456    field public static final int INSTALL_FAILED_UPDATE_INCOMPATIBLE = -7; // 0xfffffff9
4457    field public static final int INSTALL_FAILED_VERIFICATION_FAILURE = -22; // 0xffffffea
4458    field public static final int INSTALL_FAILED_VERIFICATION_TIMEOUT = -21; // 0xffffffeb
4459    field public static final int INSTALL_PARSE_FAILED_BAD_MANIFEST = -101; // 0xffffff9b
4460    field public static final int INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME = -106; // 0xffffff96
4461    field public static final int INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID = -107; // 0xffffff95
4462    field public static final int INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING = -105; // 0xffffff97
4463    field public static final int INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES = -104; // 0xffffff98
4464    field public static final int INSTALL_PARSE_FAILED_MANIFEST_EMPTY = -109; // 0xffffff93
4465    field public static final int INSTALL_PARSE_FAILED_MANIFEST_MALFORMED = -108; // 0xffffff94
4466    field public static final int INSTALL_PARSE_FAILED_NOT_APK = -100; // 0xffffff9c
4467    field public static final int INSTALL_PARSE_FAILED_NO_CERTIFICATES = -103; // 0xffffff99
4468    field public static final int INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION = -102; // 0xffffff9a
4469    field public static final int INSTALL_SUCCEEDED = 1; // 0x1
4470    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS = 2; // 0x2
4471    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS_ASK = 4; // 0x4
4472    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ASK = 1; // 0x1
4473    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER = 3; // 0x3
4474    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_UNDEFINED = 0; // 0x0
4475    field @Deprecated public static final int INTENT_FILTER_VERIFICATION_FAILURE = -1; // 0xffffffff
4476    field @Deprecated public static final int INTENT_FILTER_VERIFICATION_SUCCESS = 1; // 0x1
4477    field @Deprecated public static final int MASK_PERMISSION_FLAGS = 255; // 0xff
4478    field public static final int MATCH_ANY_USER = 4194304; // 0x400000
4479    field public static final int MATCH_FACTORY_ONLY = 2097152; // 0x200000
4480    field public static final int MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS = 536870912; // 0x20000000
4481    field public static final int MATCH_INSTANT = 8388608; // 0x800000
4482    field public static final int MODULE_APEX_NAME = 1; // 0x1
4483    field public static final int RESTRICTION_HIDE_FROM_SUGGESTIONS = 1; // 0x1
4484    field public static final int RESTRICTION_HIDE_NOTIFICATIONS = 2; // 0x2
4485    field public static final int RESTRICTION_NONE = 0; // 0x0
4486    field public static final int ROLLBACK_DATA_POLICY_RESTORE = 0; // 0x0
4487    field public static final int ROLLBACK_DATA_POLICY_RETAIN = 2; // 0x2
4488    field public static final int ROLLBACK_DATA_POLICY_WIPE = 1; // 0x1
4489    field public static final int SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_HIDDEN = 0; // 0x0
4490    field public static final int SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_VISIBLE = 1; // 0x1
4491    field public static final int SYSTEM_APP_STATE_INSTALLED = 2; // 0x2
4492    field public static final int SYSTEM_APP_STATE_UNINSTALLED = 3; // 0x3
4493  }
4494
4495  public abstract static class PackageManager.DexModuleRegisterCallback {
4496    ctor public PackageManager.DexModuleRegisterCallback();
4497    method public abstract void onDexModuleRegistered(String, boolean, String);
4498  }
4499
4500  public static interface PackageManager.OnPermissionsChangedListener {
4501    method public void onPermissionsChanged(int);
4502  }
4503
4504  @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 {
4505  }
4506
4507  public class PermissionGroupInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
4508    field @StringRes public final int backgroundRequestDetailResourceId;
4509    field @StringRes public final int backgroundRequestResourceId;
4510    field @StringRes public final int requestDetailResourceId;
4511    field @StringRes public int requestRes;
4512  }
4513
4514  public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
4515    field public static final int FLAG_REMOVED = 2; // 0x2
4516    field public static final int PROTECTION_FLAG_APP_PREDICTOR = 2097152; // 0x200000
4517    field public static final int PROTECTION_FLAG_COMPANION = 8388608; // 0x800000
4518    field public static final int PROTECTION_FLAG_CONFIGURATOR = 524288; // 0x80000
4519    field @Deprecated public static final int PROTECTION_FLAG_DOCUMENTER = 262144; // 0x40000
4520    field public static final int PROTECTION_FLAG_INCIDENT_REPORT_APPROVER = 1048576; // 0x100000
4521    field public static final int PROTECTION_FLAG_KNOWN_SIGNER = 134217728; // 0x8000000
4522    field public static final int PROTECTION_FLAG_OEM = 16384; // 0x4000
4523    field public static final int PROTECTION_FLAG_RECENTS = 33554432; // 0x2000000
4524    field public static final int PROTECTION_FLAG_RETAIL_DEMO = 16777216; // 0x1000000
4525    field public static final int PROTECTION_FLAG_ROLE = 67108864; // 0x4000000
4526    field public static final int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER = 65536; // 0x10000
4527    field @Deprecated public static final int PROTECTION_FLAG_WELLBEING = 131072; // 0x20000
4528    field @Nullable public final String backgroundPermission;
4529    field @StringRes public int requestRes;
4530  }
4531
4532  public class ResolveInfo implements android.os.Parcelable {
4533    field public boolean handleAllWebDataURI;
4534  }
4535
4536  public final class ShortcutInfo implements android.os.Parcelable {
4537    method @Nullable public android.app.Person[] getPersons();
4538  }
4539
4540  public class ShortcutManager {
4541    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_PREDICTIONS) @WorkerThread public java.util.List<android.content.pm.ShortcutManager.ShareShortcutInfo> getShareTargets(@NonNull android.content.IntentFilter);
4542    method public boolean hasShareTargets(@NonNull String);
4543  }
4544
4545  public static final class ShortcutManager.ShareShortcutInfo implements android.os.Parcelable {
4546    method public int describeContents();
4547    method @NonNull public android.content.pm.ShortcutInfo getShortcutInfo();
4548    method @NonNull public android.content.ComponentName getTargetComponent();
4549    method public void writeToParcel(@NonNull android.os.Parcel, int);
4550    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ShortcutManager.ShareShortcutInfo> CREATOR;
4551  }
4552
4553  public final class SuspendDialogInfo implements android.os.Parcelable {
4554    method public int describeContents();
4555    method public void writeToParcel(android.os.Parcel, int);
4556    field public static final int BUTTON_ACTION_MORE_DETAILS = 0; // 0x0
4557    field public static final int BUTTON_ACTION_UNSUSPEND = 1; // 0x1
4558    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.SuspendDialogInfo> CREATOR;
4559  }
4560
4561  public static final class SuspendDialogInfo.Builder {
4562    ctor public SuspendDialogInfo.Builder();
4563    method @NonNull public android.content.pm.SuspendDialogInfo build();
4564    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setIcon(@DrawableRes int);
4565    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setMessage(@NonNull String);
4566    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setMessage(@StringRes int);
4567    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonAction(int);
4568    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonText(@StringRes int);
4569    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonText(@NonNull String);
4570    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setTitle(@StringRes int);
4571    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setTitle(@NonNull String);
4572  }
4573
4574}
4575
4576package android.content.pm.dex {
4577
4578  public class ArtManager {
4579    method @RequiresPermission(allOf={android.Manifest.permission.READ_RUNTIME_PROFILES, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean isRuntimeProfilingEnabled(int);
4580    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);
4581    field public static final int PROFILE_APPS = 0; // 0x0
4582    field public static final int PROFILE_BOOT_IMAGE = 1; // 0x1
4583    field public static final int SNAPSHOT_FAILED_CODE_PATH_NOT_FOUND = 1; // 0x1
4584    field public static final int SNAPSHOT_FAILED_INTERNAL_ERROR = 2; // 0x2
4585    field public static final int SNAPSHOT_FAILED_PACKAGE_NOT_FOUND = 0; // 0x0
4586  }
4587
4588  public abstract static class ArtManager.SnapshotRuntimeProfileCallback {
4589    ctor public ArtManager.SnapshotRuntimeProfileCallback();
4590    method public abstract void onError(int);
4591    method public abstract void onSuccess(android.os.ParcelFileDescriptor);
4592  }
4593
4594}
4595
4596package android.content.pm.permission {
4597
4598  @Deprecated public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
4599    ctor @Deprecated public RuntimePermissionPresentationInfo(CharSequence, boolean, boolean);
4600    method @Deprecated public int describeContents();
4601    method @Deprecated @NonNull public CharSequence getLabel();
4602    method @Deprecated public boolean isGranted();
4603    method @Deprecated public boolean isStandard();
4604    method @Deprecated public void writeToParcel(android.os.Parcel, int);
4605    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.content.pm.permission.RuntimePermissionPresentationInfo> CREATOR;
4606  }
4607
4608}
4609
4610package android.content.pm.verify.domain {
4611
4612  public final class DomainOwner implements android.os.Parcelable {
4613    ctor public DomainOwner(@NonNull String, boolean);
4614    method public int describeContents();
4615    method @NonNull public String getPackageName();
4616    method public boolean isOverrideable();
4617    method public void writeToParcel(@NonNull android.os.Parcel, int);
4618    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainOwner> CREATOR;
4619  }
4620
4621  public final class DomainVerificationInfo implements android.os.Parcelable {
4622    method public int describeContents();
4623    method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getHostToStateMap();
4624    method @NonNull public java.util.UUID getIdentifier();
4625    method @NonNull public String getPackageName();
4626    method public void writeToParcel(@NonNull android.os.Parcel, int);
4627    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainVerificationInfo> CREATOR;
4628    field public static final int STATE_FIRST_VERIFIER_DEFINED = 1024; // 0x400
4629    field public static final int STATE_MODIFIABLE_UNVERIFIED = 3; // 0x3
4630    field public static final int STATE_MODIFIABLE_VERIFIED = 4; // 0x4
4631    field public static final int STATE_NO_RESPONSE = 0; // 0x0
4632    field public static final int STATE_SUCCESS = 1; // 0x1
4633    field public static final int STATE_UNMODIFIABLE = 2; // 0x2
4634  }
4635
4636  public final class DomainVerificationManager {
4637    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;
4638    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public java.util.SortedSet<android.content.pm.verify.domain.DomainOwner> getOwnersForDomain(@NonNull String);
4639    method @NonNull @RequiresPermission(android.Manifest.permission.DOMAIN_VERIFICATION_AGENT) public java.util.List<java.lang.String> queryValidVerificationPackageNames();
4640    method @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public void setDomainVerificationLinkHandlingAllowed(@NonNull String, boolean) throws android.content.pm.PackageManager.NameNotFoundException;
4641    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;
4642    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;
4643    field public static final int ERROR_DOMAIN_SET_ID_INVALID = 1; // 0x1
4644    field public static final int ERROR_UNABLE_TO_APPROVE = 3; // 0x3
4645    field public static final int ERROR_UNKNOWN_DOMAIN = 2; // 0x2
4646    field public static final String EXTRA_VERIFICATION_REQUEST = "android.content.pm.verify.domain.extra.VERIFICATION_REQUEST";
4647    field public static final int STATUS_OK = 0; // 0x0
4648  }
4649
4650  public final class DomainVerificationRequest implements android.os.Parcelable {
4651    method public int describeContents();
4652    method @NonNull public java.util.Set<java.lang.String> getPackageNames();
4653    method public void writeToParcel(@NonNull android.os.Parcel, int);
4654    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainVerificationRequest> CREATOR;
4655  }
4656
4657  public final class DomainVerificationUserState implements android.os.Parcelable {
4658    method @NonNull public java.util.UUID getIdentifier();
4659  }
4660
4661}
4662
4663package android.content.rollback {
4664
4665  public final class PackageRollbackInfo implements android.os.Parcelable {
4666    method public int describeContents();
4667    method @NonNull public String getPackageName();
4668    method @NonNull public android.content.pm.VersionedPackage getVersionRolledBackFrom();
4669    method @NonNull public android.content.pm.VersionedPackage getVersionRolledBackTo();
4670    method public void writeToParcel(android.os.Parcel, int);
4671    field @NonNull public static final android.os.Parcelable.Creator<android.content.rollback.PackageRollbackInfo> CREATOR;
4672  }
4673
4674  public final class RollbackInfo implements android.os.Parcelable {
4675    method public int describeContents();
4676    method @NonNull public java.util.List<android.content.pm.VersionedPackage> getCausePackages();
4677    method public int getCommittedSessionId();
4678    method @NonNull public java.util.List<android.content.rollback.PackageRollbackInfo> getPackages();
4679    method public int getRollbackId();
4680    method public boolean isStaged();
4681    method public void writeToParcel(android.os.Parcel, int);
4682    field @NonNull public static final android.os.Parcelable.Creator<android.content.rollback.RollbackInfo> CREATOR;
4683  }
4684
4685  public final class RollbackManager {
4686    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);
4687    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_ROLLBACKS, "android.permission.TEST_MANAGE_ROLLBACKS"}) public java.util.List<android.content.rollback.RollbackInfo> getAvailableRollbacks();
4688    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_ROLLBACKS, "android.permission.TEST_MANAGE_ROLLBACKS"}) public java.util.List<android.content.rollback.RollbackInfo> getRecentlyCommittedRollbacks();
4689    field public static final String EXTRA_STATUS = "android.content.rollback.extra.STATUS";
4690    field public static final String EXTRA_STATUS_MESSAGE = "android.content.rollback.extra.STATUS_MESSAGE";
4691    field public static final int STATUS_FAILURE = 1; // 0x1
4692    field public static final int STATUS_FAILURE_INSTALL = 3; // 0x3
4693    field public static final int STATUS_FAILURE_ROLLBACK_UNAVAILABLE = 2; // 0x2
4694    field public static final int STATUS_SUCCESS = 0; // 0x0
4695  }
4696
4697}
4698
4699package android.database {
4700
4701  public abstract class ContentObserver {
4702    method public void onChange(boolean, @NonNull java.util.Collection<android.net.Uri>, int, @NonNull android.os.UserHandle);
4703  }
4704
4705}
4706
4707package android.debug {
4708
4709  public class AdbManager {
4710    method @RequiresPermission(android.Manifest.permission.MANAGE_DEBUGGING) public boolean isAdbWifiQrSupported();
4711    method @RequiresPermission(android.Manifest.permission.MANAGE_DEBUGGING) public boolean isAdbWifiSupported();
4712  }
4713
4714}
4715
4716package android.graphics.fonts {
4717
4718  public final class FontFamilyUpdateRequest {
4719    method @NonNull public java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.FontFamily> getFontFamilies();
4720    method @NonNull public java.util.List<android.graphics.fonts.FontFileUpdateRequest> getFontFileUpdateRequests();
4721  }
4722
4723  public static final class FontFamilyUpdateRequest.Builder {
4724    ctor public FontFamilyUpdateRequest.Builder();
4725    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Builder addFontFamily(@NonNull android.graphics.fonts.FontFamilyUpdateRequest.FontFamily);
4726    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Builder addFontFileUpdateRequest(@NonNull android.graphics.fonts.FontFileUpdateRequest);
4727    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest build();
4728  }
4729
4730  public static final class FontFamilyUpdateRequest.Font {
4731    method @NonNull public java.util.List<android.graphics.fonts.FontVariationAxis> getAxes();
4732    method @IntRange(from=0) public int getIndex();
4733    method @NonNull public String getPostScriptName();
4734    method @NonNull public android.graphics.fonts.FontStyle getStyle();
4735  }
4736
4737  public static final class FontFamilyUpdateRequest.Font.Builder {
4738    ctor public FontFamilyUpdateRequest.Font.Builder(@NonNull String, @NonNull android.graphics.fonts.FontStyle);
4739    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font build();
4740    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font.Builder setAxes(@NonNull java.util.List<android.graphics.fonts.FontVariationAxis>);
4741    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font.Builder setIndex(@IntRange(from=0) int);
4742  }
4743
4744  public static final class FontFamilyUpdateRequest.FontFamily {
4745    method @NonNull public java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.Font> getFonts();
4746    method @NonNull public String getName();
4747  }
4748
4749  public static final class FontFamilyUpdateRequest.FontFamily.Builder {
4750    ctor public FontFamilyUpdateRequest.FontFamily.Builder(@NonNull String, @NonNull java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.Font>);
4751    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.FontFamily.Builder addFont(@NonNull android.graphics.fonts.FontFamilyUpdateRequest.Font);
4752    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.FontFamily build();
4753  }
4754
4755  public final class FontFileUpdateRequest {
4756    ctor public FontFileUpdateRequest(@NonNull android.os.ParcelFileDescriptor, @NonNull byte[]);
4757    method @NonNull public android.os.ParcelFileDescriptor getParcelFileDescriptor();
4758    method @NonNull public byte[] getSignature();
4759  }
4760
4761  public class FontManager {
4762    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_FONTS) public android.text.FontConfig getFontConfig();
4763    method @RequiresPermission(android.Manifest.permission.UPDATE_FONTS) public int updateFontFamily(@NonNull android.graphics.fonts.FontFamilyUpdateRequest, @IntRange(from=0) int);
4764    field public static final int RESULT_ERROR_DOWNGRADING = -5; // 0xfffffffb
4765    field public static final int RESULT_ERROR_FAILED_TO_WRITE_FONT_FILE = -1; // 0xffffffff
4766    field public static final int RESULT_ERROR_FAILED_UPDATE_CONFIG = -6; // 0xfffffffa
4767    field public static final int RESULT_ERROR_FONT_NOT_FOUND = -9; // 0xfffffff7
4768    field public static final int RESULT_ERROR_FONT_UPDATER_DISABLED = -7; // 0xfffffff9
4769    field public static final int RESULT_ERROR_INVALID_FONT_FILE = -3; // 0xfffffffd
4770    field public static final int RESULT_ERROR_INVALID_FONT_NAME = -4; // 0xfffffffc
4771    field public static final int RESULT_ERROR_VERIFICATION_FAILURE = -2; // 0xfffffffe
4772    field public static final int RESULT_ERROR_VERSION_MISMATCH = -8; // 0xfffffff8
4773    field public static final int RESULT_SUCCESS = 0; // 0x0
4774  }
4775
4776}
4777
4778package android.hardware {
4779
4780  public final class Sensor {
4781    method public java.util.UUID getUuid();
4782    method public boolean isDataInjectionSupported();
4783    field public static final String STRING_TYPE_DYNAMIC_SENSOR_META = "android.sensor.dynamic_sensor_meta";
4784    field public static final String STRING_TYPE_WRIST_TILT_GESTURE = "android.sensor.wrist_tilt_gesture";
4785    field public static final int TYPE_DYNAMIC_SENSOR_META = 32; // 0x20
4786    field public static final int TYPE_WRIST_TILT_GESTURE = 26; // 0x1a
4787  }
4788
4789  public abstract class SensorManager {
4790    method public boolean initDataInjection(boolean);
4791    method public boolean injectSensorData(android.hardware.Sensor, float[], int, long);
4792  }
4793
4794  public final class SensorPrivacyManager {
4795    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(int, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
4796    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
4797    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(@NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
4798    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
4799    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public boolean areAnySensorPrivacyTogglesEnabled(int);
4800    method @Deprecated @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public boolean isSensorPrivacyEnabled(int);
4801    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public boolean isSensorPrivacyEnabled(int, int);
4802    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void removeSensorPrivacyListener(int, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
4803    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void removeSensorPrivacyListener(@NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
4804    method @RequiresPermission(android.Manifest.permission.MANAGE_SENSOR_PRIVACY) public void setSensorPrivacy(int, boolean);
4805  }
4806
4807  public static interface SensorPrivacyManager.OnSensorPrivacyChangedListener {
4808    method public default void onSensorPrivacyChanged(@NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener.SensorPrivacyChangedParams);
4809    method @Deprecated public void onSensorPrivacyChanged(int, boolean);
4810  }
4811
4812  public static class SensorPrivacyManager.OnSensorPrivacyChangedListener.SensorPrivacyChangedParams {
4813    method public int getSensor();
4814    method public int getToggleType();
4815    method public boolean isEnabled();
4816  }
4817
4818}
4819
4820package android.hardware.biometrics {
4821
4822  public static interface BiometricManager.Authenticators {
4823    field @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static final int BIOMETRIC_CONVENIENCE = 4095; // 0xfff
4824    field @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static final int EMPTY_SET = 0; // 0x0
4825  }
4826
4827}
4828
4829package android.hardware.camera2 {
4830
4831  public abstract class CameraDevice implements java.lang.AutoCloseable {
4832    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;
4833    field public static final int SESSION_OPERATION_MODE_CONSTRAINED_HIGH_SPEED = 1; // 0x1
4834    field public static final int SESSION_OPERATION_MODE_NORMAL = 0; // 0x0
4835    field public static final int SESSION_OPERATION_MODE_VENDOR_START = 32768; // 0x8000
4836  }
4837
4838  public final class CameraManager {
4839    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;
4840  }
4841
4842  public abstract static class CameraManager.AvailabilityCallback {
4843    method @RequiresPermission(android.Manifest.permission.CAMERA_OPEN_CLOSE_LISTENER) public void onCameraClosed(@NonNull String);
4844    method @RequiresPermission(android.Manifest.permission.CAMERA_OPEN_CLOSE_LISTENER) public void onCameraOpened(@NonNull String, @NonNull String);
4845  }
4846
4847}
4848
4849package android.hardware.camera2.params {
4850
4851  public final class OutputConfiguration implements android.os.Parcelable {
4852    ctor public OutputConfiguration(@NonNull android.view.Surface, int);
4853    ctor public OutputConfiguration(int, @NonNull android.view.Surface, int);
4854    method public int getRotation();
4855    field public static final int ROTATION_0 = 0; // 0x0
4856    field public static final int ROTATION_180 = 2; // 0x2
4857    field public static final int ROTATION_270 = 3; // 0x3
4858    field public static final int ROTATION_90 = 1; // 0x1
4859  }
4860
4861}
4862
4863package android.hardware.display {
4864
4865  public final class AmbientBrightnessDayStats implements android.os.Parcelable {
4866    method public int describeContents();
4867    method public float[] getBucketBoundaries();
4868    method public java.time.LocalDate getLocalDate();
4869    method public float[] getStats();
4870    method public void writeToParcel(android.os.Parcel, int);
4871    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.AmbientBrightnessDayStats> CREATOR;
4872  }
4873
4874  public final class BrightnessChangeEvent implements android.os.Parcelable {
4875    method public int describeContents();
4876    method public void writeToParcel(android.os.Parcel, int);
4877    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessChangeEvent> CREATOR;
4878    field public final float batteryLevel;
4879    field public final float brightness;
4880    field public final long colorSampleDuration;
4881    field public final int colorTemperature;
4882    field @Nullable public final long[] colorValueBuckets;
4883    field public final boolean isDefaultBrightnessConfig;
4884    field public final boolean isUserSetBrightness;
4885    field public final float lastBrightness;
4886    field public final long[] luxTimestamps;
4887    field public final float[] luxValues;
4888    field public final boolean nightMode;
4889    field public final String packageName;
4890    field public final float powerBrightnessFactor;
4891    field public final boolean reduceBrightColors;
4892    field public final float reduceBrightColorsOffset;
4893    field public final int reduceBrightColorsStrength;
4894    field public final long timeStamp;
4895    field @NonNull public final String uniqueDisplayId;
4896  }
4897
4898  public final class BrightnessConfiguration implements android.os.Parcelable {
4899    method public int describeContents();
4900    method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByCategory(int);
4901    method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByPackageName(@NonNull String);
4902    method public android.util.Pair<float[],float[]> getCurve();
4903    method public float getShortTermModelLowerLuxMultiplier();
4904    method public long getShortTermModelTimeoutMillis();
4905    method public float getShortTermModelUpperLuxMultiplier();
4906    method public boolean shouldCollectColorSamples();
4907    method public void writeToParcel(android.os.Parcel, int);
4908    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessConfiguration> CREATOR;
4909    field public static final long SHORT_TERM_TIMEOUT_UNSET = -1L; // 0xffffffffffffffffL
4910  }
4911
4912  public static class BrightnessConfiguration.Builder {
4913    ctor public BrightnessConfiguration.Builder(float[], float[]);
4914    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByCategory(int, @NonNull android.hardware.display.BrightnessCorrection);
4915    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByPackageName(@NonNull String, @NonNull android.hardware.display.BrightnessCorrection);
4916    method @NonNull public android.hardware.display.BrightnessConfiguration build();
4917    method public int getMaxCorrectionsByCategory();
4918    method public int getMaxCorrectionsByPackageName();
4919    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setDescription(@Nullable String);
4920    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelLowerLuxMultiplier(@FloatRange(from=0.0f) float);
4921    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelTimeoutMillis(long);
4922    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelUpperLuxMultiplier(@FloatRange(from=0.0f) float);
4923    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShouldCollectColorSamples(boolean);
4924  }
4925
4926  public final class BrightnessCorrection implements android.os.Parcelable {
4927    method @FloatRange(from=0.0) public float apply(@FloatRange(from=0.0) float);
4928    method @NonNull public static android.hardware.display.BrightnessCorrection createScaleAndTranslateLog(float, float);
4929    method public int describeContents();
4930    method public void writeToParcel(android.os.Parcel, int);
4931    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessCorrection> CREATOR;
4932  }
4933
4934  public final class ColorDisplayManager {
4935    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public int getNightDisplayAutoMode();
4936    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public int getTransformCapabilities();
4937    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setAppSaturationLevel(@NonNull String, @IntRange(from=0, to=100) int);
4938    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayAutoMode(int);
4939    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayCustomEndTime(@NonNull java.time.LocalTime);
4940    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayCustomStartTime(@NonNull java.time.LocalTime);
4941    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setSaturationLevel(@IntRange(from=0, to=100) int);
4942    field public static final int AUTO_MODE_CUSTOM_TIME = 1; // 0x1
4943    field public static final int AUTO_MODE_DISABLED = 0; // 0x0
4944    field public static final int AUTO_MODE_TWILIGHT = 2; // 0x2
4945    field public static final int CAPABILITY_HARDWARE_ACCELERATION_GLOBAL = 2; // 0x2
4946    field public static final int CAPABILITY_HARDWARE_ACCELERATION_PER_APP = 4; // 0x4
4947    field public static final int CAPABILITY_NONE = 0; // 0x0
4948    field public static final int CAPABILITY_PROTECTED_CONTENT = 1; // 0x1
4949  }
4950
4951  public final class DisplayManager {
4952    method @RequiresPermission(android.Manifest.permission.ACCESS_AMBIENT_LIGHT_STATS) public java.util.List<android.hardware.display.AmbientBrightnessDayStats> getAmbientBrightnessStats();
4953    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getBrightnessConfiguration();
4954    method @Nullable @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getBrightnessConfigurationForDisplay(@NonNull String);
4955    method @RequiresPermission(android.Manifest.permission.BRIGHTNESS_SLIDER_USAGE) public java.util.List<android.hardware.display.BrightnessChangeEvent> getBrightnessEvents();
4956    method @Nullable @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getDefaultBrightnessConfiguration();
4957    method public android.util.Pair<float[],float[]> getMinimumBrightnessCurve();
4958    method public android.graphics.Point getStableDisplaySize();
4959    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public void setBrightnessConfiguration(android.hardware.display.BrightnessConfiguration);
4960    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public void setBrightnessConfigurationForDisplay(@NonNull android.hardware.display.BrightnessConfiguration, @NonNull String);
4961    method @Deprecated @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_SATURATION) public void setSaturationLevel(float);
4962    field public static final int VIRTUAL_DISPLAY_FLAG_TRUSTED = 1024; // 0x400
4963  }
4964
4965}
4966
4967package android.hardware.hdmi {
4968
4969  public abstract class HdmiClient {
4970    method public android.hardware.hdmi.HdmiDeviceInfo getActiveSource();
4971    method public void selectDevice(int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiClient.OnDeviceSelectedListener);
4972    method public void sendKeyEvent(int, boolean);
4973    method public void sendVendorCommand(int, byte[], boolean);
4974    method public void setVendorCommandListener(@NonNull android.hardware.hdmi.HdmiControlManager.VendorCommandListener);
4975    method public void setVendorCommandListener(@NonNull android.hardware.hdmi.HdmiControlManager.VendorCommandListener, int);
4976  }
4977
4978  public static interface HdmiClient.OnDeviceSelectedListener {
4979    method public void onDeviceSelected(@android.hardware.hdmi.HdmiControlManager.ControlCallbackResult int, int);
4980  }
4981
4982  public final class HdmiControlManager {
4983    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHdmiCecEnabledChangeListener(@NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
4984    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHdmiCecEnabledChangeListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
4985    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHotplugEventListener(android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
4986    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHotplugEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
4987    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.Integer> getAllowedCecSettingIntValues(@NonNull String);
4988    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.String> getAllowedCecSettingStringValues(@NonNull String);
4989    method @Nullable public android.hardware.hdmi.HdmiClient getClient(int);
4990    method @NonNull public java.util.List<android.hardware.hdmi.HdmiDeviceInfo> getConnectedDevices();
4991    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecEnabled();
4992    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecVersion();
4993    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecVolumeControlEnabled();
4994    method public int getPhysicalAddress();
4995    method @Nullable public android.hardware.hdmi.HdmiPlaybackClient getPlaybackClient();
4996    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public String getPowerControlMode();
4997    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public String getPowerStateChangeOnActiveSourceLost();
4998    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getRoutingControl();
4999    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getSadPresenceInQuery(@NonNull String);
5000    method @Nullable public android.hardware.hdmi.HdmiSwitchClient getSwitchClient();
5001    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getSystemAudioControl();
5002    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getSystemAudioModeMuting();
5003    method @Nullable public android.hardware.hdmi.HdmiTvClient getTvClient();
5004    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getTvSendStandbyOnSleep();
5005    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getTvWakeOnOneTouchPlay();
5006    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.String> getUserCecSettings();
5007    method public boolean isDeviceConnected(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
5008    method public void powerOffDevice(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
5009    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void removeHdmiCecEnabledChangeListener(@NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
5010    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void removeHotplugEventListener(android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
5011    method public void setActiveSource(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
5012    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecEnabled(@NonNull int);
5013    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecVersion(@NonNull int);
5014    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecVolumeControlEnabled(int);
5015    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setPowerControlMode(@NonNull String);
5016    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setPowerStateChangeOnActiveSourceLost(@NonNull String);
5017    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setRoutingControl(@NonNull int);
5018    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSadPresenceInQuery(@NonNull String, int);
5019    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSadsPresenceInQuery(@NonNull java.util.List<java.lang.String>, int);
5020    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setStandbyMode(boolean);
5021    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSystemAudioControl(@NonNull int);
5022    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSystemAudioModeMuting(@NonNull int);
5023    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setTvSendStandbyOnSleep(@NonNull int);
5024    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setTvWakeOnOneTouchPlay(@NonNull int);
5025    field public static final String ACTION_OSD_MESSAGE = "android.hardware.hdmi.action.OSD_MESSAGE";
5026    field public static final int AVR_VOLUME_MUTED = 101; // 0x65
5027    field public static final String CEC_SETTING_NAME_HDMI_CEC_ENABLED = "hdmi_cec_enabled";
5028    field public static final String CEC_SETTING_NAME_HDMI_CEC_VERSION = "hdmi_cec_version";
5029    field public static final String CEC_SETTING_NAME_POWER_CONTROL_MODE = "power_control_mode";
5030    field public static final String CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST = "power_state_change_on_active_source_lost";
5031    field public static final String CEC_SETTING_NAME_QUERY_SAD_AAC = "query_sad_aac";
5032    field public static final String CEC_SETTING_NAME_QUERY_SAD_ATRAC = "query_sad_atrac";
5033    field public static final String CEC_SETTING_NAME_QUERY_SAD_DD = "query_sad_dd";
5034    field public static final String CEC_SETTING_NAME_QUERY_SAD_DDP = "query_sad_ddp";
5035    field public static final String CEC_SETTING_NAME_QUERY_SAD_DST = "query_sad_dst";
5036    field public static final String CEC_SETTING_NAME_QUERY_SAD_DTS = "query_sad_dts";
5037    field public static final String CEC_SETTING_NAME_QUERY_SAD_DTSHD = "query_sad_dtshd";
5038    field public static final String CEC_SETTING_NAME_QUERY_SAD_LPCM = "query_sad_lpcm";
5039    field public static final String CEC_SETTING_NAME_QUERY_SAD_MAX = "query_sad_max";
5040    field public static final String CEC_SETTING_NAME_QUERY_SAD_MP3 = "query_sad_mp3";
5041    field public static final String CEC_SETTING_NAME_QUERY_SAD_MPEG1 = "query_sad_mpeg1";
5042    field public static final String CEC_SETTING_NAME_QUERY_SAD_MPEG2 = "query_sad_mpeg2";
5043    field public static final String CEC_SETTING_NAME_QUERY_SAD_ONEBITAUDIO = "query_sad_onebitaudio";
5044    field public static final String CEC_SETTING_NAME_QUERY_SAD_TRUEHD = "query_sad_truehd";
5045    field public static final String CEC_SETTING_NAME_QUERY_SAD_WMAPRO = "query_sad_wmapro";
5046    field public static final String CEC_SETTING_NAME_ROUTING_CONTROL = "routing_control";
5047    field public static final String CEC_SETTING_NAME_SYSTEM_AUDIO_CONTROL = "system_audio_control";
5048    field public static final String CEC_SETTING_NAME_SYSTEM_AUDIO_MODE_MUTING = "system_audio_mode_muting";
5049    field public static final String CEC_SETTING_NAME_TV_SEND_STANDBY_ON_SLEEP = "tv_send_standby_on_sleep";
5050    field public static final String CEC_SETTING_NAME_TV_WAKE_ON_ONE_TOUCH_PLAY = "tv_wake_on_one_touch_play";
5051    field public static final String CEC_SETTING_NAME_VOLUME_CONTROL_MODE = "volume_control_enabled";
5052    field public static final int CLEAR_TIMER_STATUS_CEC_DISABLE = 162; // 0xa2
5053    field public static final int CLEAR_TIMER_STATUS_CHECK_RECORDER_CONNECTION = 160; // 0xa0
5054    field public static final int CLEAR_TIMER_STATUS_FAIL_TO_CLEAR_SELECTED_SOURCE = 161; // 0xa1
5055    field public static final int CLEAR_TIMER_STATUS_TIMER_CLEARED = 128; // 0x80
5056    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_NO_INFO_AVAILABLE = 2; // 0x2
5057    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_NO_MATCHING = 1; // 0x1
5058    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_RECORDING = 0; // 0x0
5059    field public static final int CONTROL_STATE_CHANGED_REASON_SETTING = 1; // 0x1
5060    field public static final int CONTROL_STATE_CHANGED_REASON_STANDBY = 3; // 0x3
5061    field public static final int CONTROL_STATE_CHANGED_REASON_START = 0; // 0x0
5062    field public static final int CONTROL_STATE_CHANGED_REASON_WAKEUP = 2; // 0x2
5063    field public static final int DEVICE_EVENT_ADD_DEVICE = 1; // 0x1
5064    field public static final int DEVICE_EVENT_REMOVE_DEVICE = 2; // 0x2
5065    field public static final int DEVICE_EVENT_UPDATE_DEVICE = 3; // 0x3
5066    field public static final String EXTRA_MESSAGE_EXTRA_PARAM1 = "android.hardware.hdmi.extra.MESSAGE_EXTRA_PARAM1";
5067    field public static final String EXTRA_MESSAGE_ID = "android.hardware.hdmi.extra.MESSAGE_ID";
5068    field public static final int HDMI_CEC_CONTROL_DISABLED = 0; // 0x0
5069    field public static final int HDMI_CEC_CONTROL_ENABLED = 1; // 0x1
5070    field public static final int HDMI_CEC_VERSION_1_4_B = 5; // 0x5
5071    field public static final int HDMI_CEC_VERSION_2_0 = 6; // 0x6
5072    field public static final int ONE_TOUCH_RECORD_ALREADY_RECORDING = 18; // 0x12
5073    field public static final int ONE_TOUCH_RECORD_CEC_DISABLED = 51; // 0x33
5074    field public static final int ONE_TOUCH_RECORD_CHECK_RECORDER_CONNECTION = 49; // 0x31
5075    field public static final int ONE_TOUCH_RECORD_DISALLOW_TO_COPY = 13; // 0xd
5076    field public static final int ONE_TOUCH_RECORD_DISALLOW_TO_FUTHER_COPIES = 14; // 0xe
5077    field public static final int ONE_TOUCH_RECORD_FAIL_TO_RECORD_DISPLAYED_SCREEN = 50; // 0x32
5078    field public static final int ONE_TOUCH_RECORD_INVALID_EXTERNAL_PHYSICAL_ADDRESS = 10; // 0xa
5079    field public static final int ONE_TOUCH_RECORD_INVALID_EXTERNAL_PLUG_NUMBER = 9; // 0x9
5080    field public static final int ONE_TOUCH_RECORD_MEDIA_PROBLEM = 21; // 0x15
5081    field public static final int ONE_TOUCH_RECORD_MEDIA_PROTECTED = 19; // 0x13
5082    field public static final int ONE_TOUCH_RECORD_NOT_ENOUGH_SPACE = 22; // 0x16
5083    field public static final int ONE_TOUCH_RECORD_NO_MEDIA = 16; // 0x10
5084    field public static final int ONE_TOUCH_RECORD_NO_OR_INSUFFICIENT_CA_ENTITLEMENTS = 12; // 0xc
5085    field public static final int ONE_TOUCH_RECORD_NO_SOURCE_SIGNAL = 20; // 0x14
5086    field public static final int ONE_TOUCH_RECORD_OTHER_REASON = 31; // 0x1f
5087    field public static final int ONE_TOUCH_RECORD_PARENT_LOCK_ON = 23; // 0x17
5088    field public static final int ONE_TOUCH_RECORD_PLAYING = 17; // 0x11
5089    field public static final int ONE_TOUCH_RECORD_PREVIOUS_RECORDING_IN_PROGRESS = 48; // 0x30
5090    field public static final int ONE_TOUCH_RECORD_RECORDING_ALREADY_TERMINATED = 27; // 0x1b
5091    field public static final int ONE_TOUCH_RECORD_RECORDING_ANALOGUE_SERVICE = 3; // 0x3
5092    field public static final int ONE_TOUCH_RECORD_RECORDING_CURRENTLY_SELECTED_SOURCE = 1; // 0x1
5093    field public static final int ONE_TOUCH_RECORD_RECORDING_DIGITAL_SERVICE = 2; // 0x2
5094    field public static final int ONE_TOUCH_RECORD_RECORDING_EXTERNAL_INPUT = 4; // 0x4
5095    field public static final int ONE_TOUCH_RECORD_RECORDING_TERMINATED_NORMALLY = 26; // 0x1a
5096    field public static final int ONE_TOUCH_RECORD_UNABLE_ANALOGUE_SERVICE = 6; // 0x6
5097    field public static final int ONE_TOUCH_RECORD_UNABLE_DIGITAL_SERVICE = 5; // 0x5
5098    field public static final int ONE_TOUCH_RECORD_UNABLE_SELECTED_SERVICE = 7; // 0x7
5099    field public static final int ONE_TOUCH_RECORD_UNSUPPORTED_CA = 11; // 0xb
5100    field public static final int OSD_MESSAGE_ARC_CONNECTED_INVALID_PORT = 1; // 0x1
5101    field public static final int OSD_MESSAGE_AVR_VOLUME_CHANGED = 2; // 0x2
5102    field public static final String POWER_CONTROL_MODE_BROADCAST = "broadcast";
5103    field public static final String POWER_CONTROL_MODE_NONE = "none";
5104    field public static final String POWER_CONTROL_MODE_TV = "to_tv";
5105    field public static final String POWER_CONTROL_MODE_TV_AND_AUDIO_SYSTEM = "to_tv_and_audio_system";
5106    field public static final String POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_NONE = "none";
5107    field public static final String POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW = "standby_now";
5108    field public static final int POWER_STATUS_ON = 0; // 0x0
5109    field public static final int POWER_STATUS_STANDBY = 1; // 0x1
5110    field public static final int POWER_STATUS_TRANSIENT_TO_ON = 2; // 0x2
5111    field public static final int POWER_STATUS_TRANSIENT_TO_STANDBY = 3; // 0x3
5112    field public static final int POWER_STATUS_UNKNOWN = -1; // 0xffffffff
5113    field public static final int QUERY_SAD_DISABLED = 0; // 0x0
5114    field public static final int QUERY_SAD_ENABLED = 1; // 0x1
5115    field @Deprecated public static final int RESULT_ALREADY_IN_PROGRESS = 4; // 0x4
5116    field public static final int RESULT_COMMUNICATION_FAILED = 7; // 0x7
5117    field public static final int RESULT_EXCEPTION = 5; // 0x5
5118    field public static final int RESULT_INCORRECT_MODE = 6; // 0x6
5119    field public static final int RESULT_SOURCE_NOT_AVAILABLE = 2; // 0x2
5120    field public static final int RESULT_SUCCESS = 0; // 0x0
5121    field public static final int RESULT_TARGET_NOT_AVAILABLE = 3; // 0x3
5122    field public static final int RESULT_TIMEOUT = 1; // 0x1
5123    field public static final int ROUTING_CONTROL_DISABLED = 0; // 0x0
5124    field public static final int ROUTING_CONTROL_ENABLED = 1; // 0x1
5125    field public static final int SYSTEM_AUDIO_CONTROL_DISABLED = 0; // 0x0
5126    field public static final int SYSTEM_AUDIO_CONTROL_ENABLED = 1; // 0x1
5127    field public static final int SYSTEM_AUDIO_MODE_MUTING_DISABLED = 0; // 0x0
5128    field public static final int SYSTEM_AUDIO_MODE_MUTING_ENABLED = 1; // 0x1
5129    field public static final int TIMER_RECORDING_RESULT_EXTRA_CEC_DISABLED = 3; // 0x3
5130    field public static final int TIMER_RECORDING_RESULT_EXTRA_CHECK_RECORDER_CONNECTION = 1; // 0x1
5131    field public static final int TIMER_RECORDING_RESULT_EXTRA_FAIL_TO_RECORD_SELECTED_SOURCE = 2; // 0x2
5132    field public static final int TIMER_RECORDING_RESULT_EXTRA_NO_ERROR = 0; // 0x0
5133    field public static final int TIMER_RECORDING_TYPE_ANALOGUE = 2; // 0x2
5134    field public static final int TIMER_RECORDING_TYPE_DIGITAL = 1; // 0x1
5135    field public static final int TIMER_RECORDING_TYPE_EXTERNAL = 3; // 0x3
5136    field public static final int TIMER_STATUS_MEDIA_INFO_NOT_PRESENT = 2; // 0x2
5137    field public static final int TIMER_STATUS_MEDIA_INFO_PRESENT_NOT_PROTECTED = 0; // 0x0
5138    field public static final int TIMER_STATUS_MEDIA_INFO_PRESENT_PROTECTED = 1; // 0x1
5139    field public static final int TIMER_STATUS_NOT_PROGRAMMED_CA_NOT_SUPPORTED = 6; // 0x6
5140    field public static final int TIMER_STATUS_NOT_PROGRAMMED_CLOCK_FAILURE = 10; // 0xa
5141    field public static final int TIMER_STATUS_NOT_PROGRAMMED_DATE_OUT_OF_RANGE = 2; // 0x2
5142    field public static final int TIMER_STATUS_NOT_PROGRAMMED_DUPLICATED = 14; // 0xe
5143    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_EXTERNAL_PHYSICAL_NUMBER = 5; // 0x5
5144    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_EXTERNAL_PLUG_NUMBER = 4; // 0x4
5145    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_SEQUENCE = 3; // 0x3
5146    field public static final int TIMER_STATUS_NOT_PROGRAMMED_NO_CA_ENTITLEMENTS = 7; // 0x7
5147    field public static final int TIMER_STATUS_NOT_PROGRAMMED_NO_FREE_TIME = 1; // 0x1
5148    field public static final int TIMER_STATUS_NOT_PROGRAMMED_PARENTAL_LOCK_ON = 9; // 0x9
5149    field public static final int TIMER_STATUS_NOT_PROGRAMMED_UNSUPPORTED_RESOLUTION = 8; // 0x8
5150    field public static final int TIMER_STATUS_PROGRAMMED_INFO_ENOUGH_SPACE = 8; // 0x8
5151    field public static final int TIMER_STATUS_PROGRAMMED_INFO_MIGHT_NOT_ENOUGH_SPACE = 11; // 0xb
5152    field public static final int TIMER_STATUS_PROGRAMMED_INFO_NOT_ENOUGH_SPACE = 9; // 0x9
5153    field public static final int TIMER_STATUS_PROGRAMMED_INFO_NO_MEDIA_INFO = 10; // 0xa
5154    field public static final int TV_SEND_STANDBY_ON_SLEEP_DISABLED = 0; // 0x0
5155    field public static final int TV_SEND_STANDBY_ON_SLEEP_ENABLED = 1; // 0x1
5156    field public static final int TV_WAKE_ON_ONE_TOUCH_PLAY_DISABLED = 0; // 0x0
5157    field public static final int TV_WAKE_ON_ONE_TOUCH_PLAY_ENABLED = 1; // 0x1
5158    field public static final int VOLUME_CONTROL_DISABLED = 0; // 0x0
5159    field public static final int VOLUME_CONTROL_ENABLED = 1; // 0x1
5160  }
5161
5162  public static interface HdmiControlManager.CecSettingChangeListener {
5163    method public void onChange(@NonNull String);
5164  }
5165
5166  @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 {
5167  }
5168
5169  public static interface HdmiControlManager.HotplugEventListener {
5170    method public void onReceived(android.hardware.hdmi.HdmiHotplugEvent);
5171  }
5172
5173  public static interface HdmiControlManager.VendorCommandListener {
5174    method public void onControlStateChanged(boolean, int);
5175    method public void onReceived(int, int, byte[], boolean);
5176  }
5177
5178  public class HdmiDeviceInfo implements android.os.Parcelable {
5179    ctor @Deprecated public HdmiDeviceInfo();
5180    method public int describeContents();
5181    method public int getAdopterId();
5182    method public int getDeviceId();
5183    method public int getDevicePowerStatus();
5184    method public int getDeviceType();
5185    method public String getDisplayName();
5186    method public int getId();
5187    method public int getLogicalAddress();
5188    method public int getPhysicalAddress();
5189    method public int getPortId();
5190    method public int getVendorId();
5191    method public static int idForCecDevice(int);
5192    method public static int idForHardware(int);
5193    method public static int idForMhlDevice(int);
5194    method public boolean isCecDevice();
5195    method public boolean isInactivated();
5196    method public boolean isMhlDevice();
5197    method public boolean isSourceType();
5198    method public void writeToParcel(android.os.Parcel, int);
5199    field public static final int ADDR_INTERNAL = 0; // 0x0
5200    field public static final int ADDR_INVALID = -1; // 0xffffffff
5201    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiDeviceInfo> CREATOR;
5202    field public static final int DEVICE_AUDIO_SYSTEM = 5; // 0x5
5203    field public static final int DEVICE_INACTIVE = -1; // 0xffffffff
5204    field public static final int DEVICE_PLAYBACK = 4; // 0x4
5205    field public static final int DEVICE_RECORDER = 1; // 0x1
5206    field public static final int DEVICE_RESERVED = 2; // 0x2
5207    field public static final int DEVICE_TUNER = 3; // 0x3
5208    field public static final int DEVICE_TV = 0; // 0x0
5209    field public static final int ID_INVALID = 65535; // 0xffff
5210    field public static final android.hardware.hdmi.HdmiDeviceInfo INACTIVE_DEVICE;
5211    field public static final int PATH_INTERNAL = 0; // 0x0
5212    field public static final int PATH_INVALID = 65535; // 0xffff
5213    field public static final int PORT_INVALID = -1; // 0xffffffff
5214    field public static final int VENDOR_ID_UNKNOWN = 16777215; // 0xffffff
5215  }
5216
5217  public final class HdmiHotplugEvent implements android.os.Parcelable {
5218    method public int describeContents();
5219    method public int getPort();
5220    method public boolean isConnected();
5221    method public void writeToParcel(android.os.Parcel, int);
5222    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiHotplugEvent> CREATOR;
5223  }
5224
5225  public final class HdmiPlaybackClient extends android.hardware.hdmi.HdmiClient {
5226    method public int getDeviceType();
5227    method public void oneTouchPlay(android.hardware.hdmi.HdmiPlaybackClient.OneTouchPlayCallback);
5228    method public void queryDisplayStatus(android.hardware.hdmi.HdmiPlaybackClient.DisplayStatusCallback);
5229    method public void sendStandby();
5230  }
5231
5232  public static interface HdmiPlaybackClient.DisplayStatusCallback {
5233    method public void onComplete(int);
5234  }
5235
5236  public static interface HdmiPlaybackClient.OneTouchPlayCallback {
5237    method public void onComplete(int);
5238  }
5239
5240  public final class HdmiPortInfo implements android.os.Parcelable {
5241    ctor public HdmiPortInfo(int, int, int, boolean, boolean, boolean);
5242    method public int describeContents();
5243    method public int getAddress();
5244    method public int getId();
5245    method public int getType();
5246    method public boolean isArcSupported();
5247    method public boolean isCecSupported();
5248    method public boolean isMhlSupported();
5249    method public void writeToParcel(android.os.Parcel, int);
5250    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiPortInfo> CREATOR;
5251    field public static final int PORT_INPUT = 0; // 0x0
5252    field public static final int PORT_OUTPUT = 1; // 0x1
5253  }
5254
5255  public abstract class HdmiRecordListener {
5256    ctor public HdmiRecordListener();
5257    method public void onClearTimerRecordingResult(int, int);
5258    method public void onOneTouchRecordResult(int, int);
5259    method public abstract android.hardware.hdmi.HdmiRecordSources.RecordSource onOneTouchRecordSourceRequested(int);
5260    method public void onTimerRecordingResult(int, android.hardware.hdmi.HdmiRecordListener.TimerStatusData);
5261  }
5262
5263  public static class HdmiRecordListener.TimerStatusData {
5264    method public int getDurationHour();
5265    method public int getDurationMinute();
5266    method public int getExtraError();
5267    method public int getMediaInfo();
5268    method public int getNotProgammedError();
5269    method public int getProgrammedInfo();
5270    method public boolean isOverlapped();
5271    method public boolean isProgrammed();
5272  }
5273
5274  public final class HdmiRecordSources {
5275    method public static boolean checkRecordSource(byte[]);
5276    method public static android.hardware.hdmi.HdmiRecordSources.OwnSource ofOwnSource();
5277  }
5278
5279  public static final class HdmiRecordSources.AnalogueServiceSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
5280  }
5281
5282  public static final class HdmiRecordSources.DigitalServiceSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
5283  }
5284
5285  public static final class HdmiRecordSources.ExternalPhysicalAddress extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
5286  }
5287
5288  public static final class HdmiRecordSources.ExternalPlugData extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
5289  }
5290
5291  public static final class HdmiRecordSources.OwnSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
5292  }
5293
5294  public abstract static class HdmiRecordSources.RecordSource {
5295  }
5296
5297  public class HdmiSwitchClient extends android.hardware.hdmi.HdmiClient {
5298    method public int getDeviceType();
5299    method @NonNull public java.util.List<android.hardware.hdmi.HdmiPortInfo> getPortInfo();
5300    method public void selectPort(int, @NonNull android.hardware.hdmi.HdmiSwitchClient.OnSelectListener);
5301    method public void selectPort(int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiSwitchClient.OnSelectListener);
5302  }
5303
5304  public static interface HdmiSwitchClient.OnSelectListener {
5305    method public void onSelect(@android.hardware.hdmi.HdmiControlManager.ControlCallbackResult int);
5306  }
5307
5308  public class HdmiTimerRecordSources {
5309    method public static boolean checkTimerRecordSource(int, byte[]);
5310    method public static android.hardware.hdmi.HdmiTimerRecordSources.Duration durationOf(int, int);
5311    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofAnalogueSource(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.AnalogueServiceSource);
5312    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofDigitalSource(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.DigitalServiceSource);
5313    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofExternalPhysicalAddress(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.ExternalPhysicalAddress);
5314    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofExternalPlug(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.ExternalPlugData);
5315    method public static android.hardware.hdmi.HdmiTimerRecordSources.Time timeOf(int, int);
5316    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo timerInfoOf(int, int, android.hardware.hdmi.HdmiTimerRecordSources.Time, android.hardware.hdmi.HdmiTimerRecordSources.Duration, int);
5317    field public static final int RECORDING_SEQUENCE_REPEAT_FRIDAY = 32; // 0x20
5318    field public static final int RECORDING_SEQUENCE_REPEAT_MONDAY = 2; // 0x2
5319    field public static final int RECORDING_SEQUENCE_REPEAT_ONCE_ONLY = 0; // 0x0
5320    field public static final int RECORDING_SEQUENCE_REPEAT_SATUREDAY = 64; // 0x40
5321    field public static final int RECORDING_SEQUENCE_REPEAT_SUNDAY = 1; // 0x1
5322    field public static final int RECORDING_SEQUENCE_REPEAT_THURSDAY = 16; // 0x10
5323    field public static final int RECORDING_SEQUENCE_REPEAT_TUESDAY = 4; // 0x4
5324    field public static final int RECORDING_SEQUENCE_REPEAT_WEDNESDAY = 8; // 0x8
5325  }
5326
5327  public static final class HdmiTimerRecordSources.Duration {
5328  }
5329
5330  public static final class HdmiTimerRecordSources.Time {
5331  }
5332
5333  public static final class HdmiTimerRecordSources.TimerInfo {
5334  }
5335
5336  public static final class HdmiTimerRecordSources.TimerRecordSource {
5337  }
5338
5339  public final class HdmiTvClient extends android.hardware.hdmi.HdmiClient {
5340    method public void clearTimerRecording(int, int, android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource);
5341    method @Deprecated public void deviceSelect(int, @NonNull android.hardware.hdmi.HdmiTvClient.SelectCallback);
5342    method @Deprecated public java.util.List<android.hardware.hdmi.HdmiDeviceInfo> getDeviceList();
5343    method public int getDeviceType();
5344    method public void portSelect(int, @NonNull android.hardware.hdmi.HdmiTvClient.SelectCallback);
5345    method public void sendMhlVendorCommand(int, int, int, byte[]);
5346    method public void sendStandby(int);
5347    method public void setHdmiMhlVendorCommandListener(android.hardware.hdmi.HdmiTvClient.HdmiMhlVendorCommandListener);
5348    method public void setInputChangeListener(android.hardware.hdmi.HdmiTvClient.InputChangeListener);
5349    method public void setRecordListener(@NonNull android.hardware.hdmi.HdmiRecordListener);
5350    method public void setSystemAudioMode(boolean, android.hardware.hdmi.HdmiTvClient.SelectCallback);
5351    method public void setSystemAudioMute(boolean);
5352    method public void setSystemAudioVolume(int, int, int);
5353    method public void startOneTouchRecord(int, @NonNull android.hardware.hdmi.HdmiRecordSources.RecordSource);
5354    method public void startTimerRecording(int, int, android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource);
5355    method public void stopOneTouchRecord(int);
5356    field public static final int VENDOR_DATA_SIZE = 16; // 0x10
5357  }
5358
5359  public static interface HdmiTvClient.HdmiMhlVendorCommandListener {
5360    method public void onReceived(int, int, int, byte[]);
5361  }
5362
5363  public static interface HdmiTvClient.InputChangeListener {
5364    method public void onChanged(android.hardware.hdmi.HdmiDeviceInfo);
5365  }
5366
5367  public static interface HdmiTvClient.SelectCallback {
5368    method public void onComplete(int);
5369  }
5370
5371}
5372
5373package android.hardware.input {
5374
5375  public final class VirtualKeyEvent implements android.os.Parcelable {
5376    method public int describeContents();
5377    method public int getAction();
5378    method public int getKeyCode();
5379    method public void writeToParcel(@NonNull android.os.Parcel, int);
5380    field public static final int ACTION_DOWN = 0; // 0x0
5381    field public static final int ACTION_UP = 1; // 0x1
5382    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualKeyEvent> CREATOR;
5383  }
5384
5385  public static final class VirtualKeyEvent.Builder {
5386    ctor public VirtualKeyEvent.Builder();
5387    method @NonNull public android.hardware.input.VirtualKeyEvent build();
5388    method @NonNull public android.hardware.input.VirtualKeyEvent.Builder setAction(int);
5389    method @NonNull public android.hardware.input.VirtualKeyEvent.Builder setKeyCode(int);
5390  }
5391
5392  public class VirtualKeyboard implements java.io.Closeable {
5393    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close();
5394    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void sendKeyEvent(@NonNull android.hardware.input.VirtualKeyEvent);
5395  }
5396
5397  public class VirtualMouse implements java.io.Closeable {
5398    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close();
5399    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.graphics.PointF getCursorPosition();
5400    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void sendButtonEvent(@NonNull android.hardware.input.VirtualMouseButtonEvent);
5401    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void sendRelativeEvent(@NonNull android.hardware.input.VirtualMouseRelativeEvent);
5402    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void sendScrollEvent(@NonNull android.hardware.input.VirtualMouseScrollEvent);
5403  }
5404
5405  public final class VirtualMouseButtonEvent implements android.os.Parcelable {
5406    method public int describeContents();
5407    method public int getAction();
5408    method public int getButtonCode();
5409    method public void writeToParcel(@NonNull android.os.Parcel, int);
5410    field public static final int ACTION_BUTTON_PRESS = 11; // 0xb
5411    field public static final int ACTION_BUTTON_RELEASE = 12; // 0xc
5412    field public static final int BUTTON_BACK = 8; // 0x8
5413    field public static final int BUTTON_FORWARD = 16; // 0x10
5414    field public static final int BUTTON_PRIMARY = 1; // 0x1
5415    field public static final int BUTTON_SECONDARY = 2; // 0x2
5416    field public static final int BUTTON_TERTIARY = 4; // 0x4
5417    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualMouseButtonEvent> CREATOR;
5418  }
5419
5420  public static final class VirtualMouseButtonEvent.Builder {
5421    ctor public VirtualMouseButtonEvent.Builder();
5422    method @NonNull public android.hardware.input.VirtualMouseButtonEvent build();
5423    method @NonNull public android.hardware.input.VirtualMouseButtonEvent.Builder setAction(int);
5424    method @NonNull public android.hardware.input.VirtualMouseButtonEvent.Builder setButtonCode(int);
5425  }
5426
5427  public final class VirtualMouseRelativeEvent implements android.os.Parcelable {
5428    method public int describeContents();
5429    method public float getRelativeX();
5430    method public float getRelativeY();
5431    method public void writeToParcel(@NonNull android.os.Parcel, int);
5432    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualMouseRelativeEvent> CREATOR;
5433  }
5434
5435  public static final class VirtualMouseRelativeEvent.Builder {
5436    ctor public VirtualMouseRelativeEvent.Builder();
5437    method @NonNull public android.hardware.input.VirtualMouseRelativeEvent build();
5438    method @NonNull public android.hardware.input.VirtualMouseRelativeEvent.Builder setRelativeX(float);
5439    method @NonNull public android.hardware.input.VirtualMouseRelativeEvent.Builder setRelativeY(float);
5440  }
5441
5442  public final class VirtualMouseScrollEvent implements android.os.Parcelable {
5443    method public int describeContents();
5444    method public float getXAxisMovement();
5445    method public float getYAxisMovement();
5446    method public void writeToParcel(@NonNull android.os.Parcel, int);
5447    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualMouseScrollEvent> CREATOR;
5448  }
5449
5450  public static final class VirtualMouseScrollEvent.Builder {
5451    ctor public VirtualMouseScrollEvent.Builder();
5452    method @NonNull public android.hardware.input.VirtualMouseScrollEvent build();
5453    method @NonNull public android.hardware.input.VirtualMouseScrollEvent.Builder setXAxisMovement(@FloatRange(from=-1.0F, to=1.0f) float);
5454    method @NonNull public android.hardware.input.VirtualMouseScrollEvent.Builder setYAxisMovement(@FloatRange(from=-1.0F, to=1.0f) float);
5455  }
5456
5457  public final class VirtualTouchEvent implements android.os.Parcelable {
5458    method public int describeContents();
5459    method public int getAction();
5460    method public float getMajorAxisSize();
5461    method public int getPointerId();
5462    method public float getPressure();
5463    method public int getToolType();
5464    method public float getX();
5465    method public float getY();
5466    method public void writeToParcel(@NonNull android.os.Parcel, int);
5467    field public static final int ACTION_CANCEL = 3; // 0x3
5468    field public static final int ACTION_DOWN = 0; // 0x0
5469    field public static final int ACTION_MOVE = 2; // 0x2
5470    field public static final int ACTION_UP = 1; // 0x1
5471    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualTouchEvent> CREATOR;
5472    field public static final int TOOL_TYPE_FINGER = 1; // 0x1
5473    field public static final int TOOL_TYPE_PALM = 5; // 0x5
5474  }
5475
5476  public static final class VirtualTouchEvent.Builder {
5477    ctor public VirtualTouchEvent.Builder();
5478    method @NonNull public android.hardware.input.VirtualTouchEvent build();
5479    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setAction(int);
5480    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setMajorAxisSize(@FloatRange(from=0.0f) float);
5481    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setPointerId(int);
5482    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setPressure(@FloatRange(from=0.0f) float);
5483    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setToolType(int);
5484    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setX(float);
5485    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setY(float);
5486  }
5487
5488  public class VirtualTouchscreen implements java.io.Closeable {
5489    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close();
5490    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void sendTouchEvent(@NonNull android.hardware.input.VirtualTouchEvent);
5491  }
5492
5493}
5494
5495package android.hardware.lights {
5496
5497  public final class LightState implements android.os.Parcelable {
5498    ctor @Deprecated public LightState(@ColorInt int);
5499  }
5500
5501  public abstract class LightsManager {
5502    field @Deprecated public static final int LIGHT_TYPE_MICROPHONE = 8; // 0x8
5503  }
5504
5505  public static final class LightsRequest.Builder {
5506    method @Deprecated @NonNull public android.hardware.lights.LightsRequest.Builder setLight(@NonNull android.hardware.lights.Light, @NonNull android.hardware.lights.LightState);
5507  }
5508
5509}
5510
5511package android.hardware.location {
5512
5513  public class ContextHubClient implements java.io.Closeable {
5514    method public void close();
5515    method @NonNull public android.hardware.location.ContextHubInfo getAttachedHub();
5516    method @IntRange(from=0, to=65535) public int getId();
5517    method @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int sendMessageToNanoApp(@NonNull android.hardware.location.NanoAppMessage);
5518  }
5519
5520  public class ContextHubClientCallback {
5521    ctor public ContextHubClientCallback();
5522    method public void onClientAuthorizationChanged(@NonNull android.hardware.location.ContextHubClient, long, int);
5523    method public void onHubReset(android.hardware.location.ContextHubClient);
5524    method public void onMessageFromNanoApp(android.hardware.location.ContextHubClient, android.hardware.location.NanoAppMessage);
5525    method public void onNanoAppAborted(android.hardware.location.ContextHubClient, long, int);
5526    method public void onNanoAppDisabled(android.hardware.location.ContextHubClient, long);
5527    method public void onNanoAppEnabled(android.hardware.location.ContextHubClient, long);
5528    method public void onNanoAppLoaded(android.hardware.location.ContextHubClient, long);
5529    method public void onNanoAppUnloaded(android.hardware.location.ContextHubClient, long);
5530  }
5531
5532  public class ContextHubInfo implements android.os.Parcelable {
5533    ctor public ContextHubInfo();
5534    method public int describeContents();
5535    method public byte getChreApiMajorVersion();
5536    method public byte getChreApiMinorVersion();
5537    method public short getChrePatchVersion();
5538    method public long getChrePlatformId();
5539    method public int getId();
5540    method public int getMaxPacketLengthBytes();
5541    method public android.hardware.location.MemoryRegion[] getMemoryRegions();
5542    method public String getName();
5543    method public float getPeakMips();
5544    method public float getPeakPowerDrawMw();
5545    method public int getPlatformVersion();
5546    method public float getSleepPowerDrawMw();
5547    method public int getStaticSwVersion();
5548    method public float getStoppedPowerDrawMw();
5549    method public int[] getSupportedSensors();
5550    method public String getToolchain();
5551    method public int getToolchainVersion();
5552    method public String getVendor();
5553    method public void writeToParcel(android.os.Parcel, int);
5554    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.ContextHubInfo> CREATOR;
5555  }
5556
5557  public class ContextHubIntentEvent {
5558    method @NonNull public static android.hardware.location.ContextHubIntentEvent fromIntent(@NonNull android.content.Intent);
5559    method public int getClientAuthorizationState();
5560    method @NonNull public android.hardware.location.ContextHubInfo getContextHubInfo();
5561    method public int getEventType();
5562    method public int getNanoAppAbortCode();
5563    method public long getNanoAppId();
5564    method @NonNull public android.hardware.location.NanoAppMessage getNanoAppMessage();
5565  }
5566
5567  public final class ContextHubManager {
5568    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);
5569    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);
5570    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);
5571    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);
5572    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);
5573    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubTransaction<java.lang.Void> disableNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
5574    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubTransaction<java.lang.Void> enableNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
5575    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int[] findNanoAppOnHub(int, @NonNull android.hardware.location.NanoAppFilter);
5576    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int[] getContextHubHandles();
5577    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubInfo getContextHubInfo(int);
5578    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public java.util.List<android.hardware.location.ContextHubInfo> getContextHubs();
5579    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.NanoAppInstanceInfo getNanoAppInstanceInfo(int);
5580    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int loadNanoApp(int, @NonNull android.hardware.location.NanoApp);
5581    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);
5582    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);
5583    method @Deprecated public int registerCallback(@NonNull android.hardware.location.ContextHubManager.Callback);
5584    method @Deprecated public int registerCallback(android.hardware.location.ContextHubManager.Callback, android.os.Handler);
5585    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int sendMessage(int, int, @NonNull android.hardware.location.ContextHubMessage);
5586    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int unloadNanoApp(int);
5587    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubTransaction<java.lang.Void> unloadNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
5588    method @Deprecated public int unregisterCallback(@NonNull android.hardware.location.ContextHubManager.Callback);
5589    field public static final int AUTHORIZATION_DENIED = 0; // 0x0
5590    field public static final int AUTHORIZATION_DENIED_GRACE_PERIOD = 1; // 0x1
5591    field public static final int AUTHORIZATION_GRANTED = 2; // 0x2
5592    field public static final int EVENT_CLIENT_AUTHORIZATION = 7; // 0x7
5593    field public static final int EVENT_HUB_RESET = 6; // 0x6
5594    field public static final int EVENT_NANOAPP_ABORTED = 4; // 0x4
5595    field public static final int EVENT_NANOAPP_DISABLED = 3; // 0x3
5596    field public static final int EVENT_NANOAPP_ENABLED = 2; // 0x2
5597    field public static final int EVENT_NANOAPP_LOADED = 0; // 0x0
5598    field public static final int EVENT_NANOAPP_MESSAGE = 5; // 0x5
5599    field public static final int EVENT_NANOAPP_UNLOADED = 1; // 0x1
5600    field public static final String EXTRA_CLIENT_AUTHORIZATION_STATE = "android.hardware.location.extra.CLIENT_AUTHORIZATION_STATE";
5601    field public static final String EXTRA_CONTEXT_HUB_INFO = "android.hardware.location.extra.CONTEXT_HUB_INFO";
5602    field public static final String EXTRA_EVENT_TYPE = "android.hardware.location.extra.EVENT_TYPE";
5603    field public static final String EXTRA_MESSAGE = "android.hardware.location.extra.MESSAGE";
5604    field public static final String EXTRA_NANOAPP_ABORT_CODE = "android.hardware.location.extra.NANOAPP_ABORT_CODE";
5605    field public static final String EXTRA_NANOAPP_ID = "android.hardware.location.extra.NANOAPP_ID";
5606  }
5607
5608  @Deprecated public abstract static class ContextHubManager.Callback {
5609    ctor @Deprecated protected ContextHubManager.Callback();
5610    method @Deprecated public abstract void onMessageReceipt(int, int, @NonNull android.hardware.location.ContextHubMessage);
5611  }
5612
5613  @Deprecated public class ContextHubMessage implements android.os.Parcelable {
5614    ctor @Deprecated public ContextHubMessage(int, int, byte[]);
5615    method @Deprecated public int describeContents();
5616    method @Deprecated public byte[] getData();
5617    method @Deprecated public int getMsgType();
5618    method @Deprecated public int getVersion();
5619    method @Deprecated public void setMsgData(byte[]);
5620    method @Deprecated public void setMsgType(int);
5621    method @Deprecated public void setVersion(int);
5622    method @Deprecated public void writeToParcel(android.os.Parcel, int);
5623    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.ContextHubMessage> CREATOR;
5624  }
5625
5626  public class ContextHubTransaction<T> {
5627    method public int getType();
5628    method public void setOnCompleteListener(@NonNull android.hardware.location.ContextHubTransaction.OnCompleteListener<T>, @NonNull java.util.concurrent.Executor);
5629    method public void setOnCompleteListener(@NonNull android.hardware.location.ContextHubTransaction.OnCompleteListener<T>);
5630    method public static String typeToString(int, boolean);
5631    method public android.hardware.location.ContextHubTransaction.Response<T> waitForResponse(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException;
5632    field public static final int RESULT_FAILED_AT_HUB = 5; // 0x5
5633    field public static final int RESULT_FAILED_BAD_PARAMS = 2; // 0x2
5634    field public static final int RESULT_FAILED_BUSY = 4; // 0x4
5635    field public static final int RESULT_FAILED_HAL_UNAVAILABLE = 8; // 0x8
5636    field public static final int RESULT_FAILED_SERVICE_INTERNAL_FAILURE = 7; // 0x7
5637    field public static final int RESULT_FAILED_TIMEOUT = 6; // 0x6
5638    field public static final int RESULT_FAILED_UNINITIALIZED = 3; // 0x3
5639    field public static final int RESULT_FAILED_UNKNOWN = 1; // 0x1
5640    field public static final int RESULT_SUCCESS = 0; // 0x0
5641    field public static final int TYPE_DISABLE_NANOAPP = 3; // 0x3
5642    field public static final int TYPE_ENABLE_NANOAPP = 2; // 0x2
5643    field public static final int TYPE_LOAD_NANOAPP = 0; // 0x0
5644    field public static final int TYPE_QUERY_NANOAPPS = 4; // 0x4
5645    field public static final int TYPE_UNLOAD_NANOAPP = 1; // 0x1
5646  }
5647
5648  @java.lang.FunctionalInterface public static interface ContextHubTransaction.OnCompleteListener<L> {
5649    method public void onComplete(android.hardware.location.ContextHubTransaction<L>, android.hardware.location.ContextHubTransaction.Response<L>);
5650  }
5651
5652  public static class ContextHubTransaction.Response<R> {
5653    method public R getContents();
5654    method public int getResult();
5655  }
5656
5657  public final class GeofenceHardware {
5658    method public boolean addGeofence(int, int, android.hardware.location.GeofenceHardwareRequest, android.hardware.location.GeofenceHardwareCallback);
5659    method public int[] getMonitoringTypes();
5660    method public int getStatusOfMonitoringType(int);
5661    method public boolean pauseGeofence(int, int);
5662    method public boolean registerForMonitorStateChangeCallback(int, android.hardware.location.GeofenceHardwareMonitorCallback);
5663    method public boolean removeGeofence(int, int);
5664    method public boolean resumeGeofence(int, int, int);
5665    method public boolean unregisterForMonitorStateChangeCallback(int, android.hardware.location.GeofenceHardwareMonitorCallback);
5666    field public static final int GEOFENCE_ENTERED = 1; // 0x1
5667    field public static final int GEOFENCE_ERROR_ID_EXISTS = 2; // 0x2
5668    field public static final int GEOFENCE_ERROR_ID_UNKNOWN = 3; // 0x3
5669    field public static final int GEOFENCE_ERROR_INSUFFICIENT_MEMORY = 6; // 0x6
5670    field public static final int GEOFENCE_ERROR_INVALID_TRANSITION = 4; // 0x4
5671    field public static final int GEOFENCE_ERROR_TOO_MANY_GEOFENCES = 1; // 0x1
5672    field public static final int GEOFENCE_EXITED = 2; // 0x2
5673    field public static final int GEOFENCE_FAILURE = 5; // 0x5
5674    field public static final int GEOFENCE_SUCCESS = 0; // 0x0
5675    field public static final int GEOFENCE_UNCERTAIN = 4; // 0x4
5676    field public static final int MONITORING_TYPE_FUSED_HARDWARE = 1; // 0x1
5677    field public static final int MONITORING_TYPE_GPS_HARDWARE = 0; // 0x0
5678    field public static final int MONITOR_CURRENTLY_AVAILABLE = 0; // 0x0
5679    field public static final int MONITOR_CURRENTLY_UNAVAILABLE = 1; // 0x1
5680    field public static final int MONITOR_UNSUPPORTED = 2; // 0x2
5681    field public static final int SOURCE_TECHNOLOGY_BLUETOOTH = 16; // 0x10
5682    field public static final int SOURCE_TECHNOLOGY_CELL = 8; // 0x8
5683    field public static final int SOURCE_TECHNOLOGY_GNSS = 1; // 0x1
5684    field public static final int SOURCE_TECHNOLOGY_SENSORS = 4; // 0x4
5685    field public static final int SOURCE_TECHNOLOGY_WIFI = 2; // 0x2
5686  }
5687
5688  public abstract class GeofenceHardwareCallback {
5689    ctor public GeofenceHardwareCallback();
5690    method public void onGeofenceAdd(int, int);
5691    method public void onGeofencePause(int, int);
5692    method public void onGeofenceRemove(int, int);
5693    method public void onGeofenceResume(int, int);
5694    method public void onGeofenceTransition(int, int, android.location.Location, long, int);
5695  }
5696
5697  public abstract class GeofenceHardwareMonitorCallback {
5698    ctor public GeofenceHardwareMonitorCallback();
5699    method @Deprecated public void onMonitoringSystemChange(int, boolean, android.location.Location);
5700    method public void onMonitoringSystemChange(android.hardware.location.GeofenceHardwareMonitorEvent);
5701  }
5702
5703  public class GeofenceHardwareMonitorEvent implements android.os.Parcelable {
5704    ctor public GeofenceHardwareMonitorEvent(int, int, int, android.location.Location);
5705    method public int describeContents();
5706    method public android.location.Location getLocation();
5707    method public int getMonitoringStatus();
5708    method public int getMonitoringType();
5709    method public int getSourceTechnologies();
5710    method public void writeToParcel(android.os.Parcel, int);
5711    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.GeofenceHardwareMonitorEvent> CREATOR;
5712  }
5713
5714  public final class GeofenceHardwareRequest {
5715    ctor public GeofenceHardwareRequest();
5716    method public static android.hardware.location.GeofenceHardwareRequest createCircularGeofence(double, double, double);
5717    method public int getLastTransition();
5718    method public double getLatitude();
5719    method public double getLongitude();
5720    method public int getMonitorTransitions();
5721    method public int getNotificationResponsiveness();
5722    method public double getRadius();
5723    method public int getSourceTechnologies();
5724    method public int getUnknownTimer();
5725    method public void setLastTransition(int);
5726    method public void setMonitorTransitions(int);
5727    method public void setNotificationResponsiveness(int);
5728    method public void setSourceTechnologies(int);
5729    method public void setUnknownTimer(int);
5730  }
5731
5732  public class MemoryRegion implements android.os.Parcelable {
5733    ctor public MemoryRegion(android.os.Parcel);
5734    method public int describeContents();
5735    method public int getCapacityBytes();
5736    method public int getFreeCapacityBytes();
5737    method public boolean isExecutable();
5738    method public boolean isReadable();
5739    method public boolean isWritable();
5740    method public void writeToParcel(android.os.Parcel, int);
5741    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.MemoryRegion> CREATOR;
5742  }
5743
5744  @Deprecated public class NanoApp implements android.os.Parcelable {
5745    ctor @Deprecated public NanoApp();
5746    ctor @Deprecated public NanoApp(int, byte[]);
5747    ctor @Deprecated public NanoApp(long, byte[]);
5748    method @Deprecated public int describeContents();
5749    method @Deprecated public byte[] getAppBinary();
5750    method @Deprecated public long getAppId();
5751    method @Deprecated public int getAppVersion();
5752    method @Deprecated public String getName();
5753    method @Deprecated public int getNeededExecMemBytes();
5754    method @Deprecated public int getNeededReadMemBytes();
5755    method @Deprecated public int[] getNeededSensors();
5756    method @Deprecated public int getNeededWriteMemBytes();
5757    method @Deprecated public int[] getOutputEvents();
5758    method @Deprecated public String getPublisher();
5759    method @Deprecated public void setAppBinary(byte[]);
5760    method @Deprecated public void setAppId(long);
5761    method @Deprecated public void setAppVersion(int);
5762    method @Deprecated public void setName(String);
5763    method @Deprecated public void setNeededExecMemBytes(int);
5764    method @Deprecated public void setNeededReadMemBytes(int);
5765    method @Deprecated public void setNeededSensors(int[]);
5766    method @Deprecated public void setNeededWriteMemBytes(int);
5767    method @Deprecated public void setOutputEvents(int[]);
5768    method @Deprecated public void setPublisher(String);
5769    method @Deprecated public void writeToParcel(android.os.Parcel, int);
5770    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoApp> CREATOR;
5771  }
5772
5773  public final class NanoAppBinary implements android.os.Parcelable {
5774    ctor public NanoAppBinary(byte[]);
5775    method public int describeContents();
5776    method public byte[] getBinary();
5777    method public byte[] getBinaryNoHeader();
5778    method public int getFlags();
5779    method public int getHeaderVersion();
5780    method public long getHwHubType();
5781    method public long getNanoAppId();
5782    method public int getNanoAppVersion();
5783    method public byte getTargetChreApiMajorVersion();
5784    method public byte getTargetChreApiMinorVersion();
5785    method public boolean hasValidHeader();
5786    method public boolean isEncrypted();
5787    method public boolean isSigned();
5788    method public void writeToParcel(android.os.Parcel, int);
5789    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppBinary> CREATOR;
5790  }
5791
5792  @Deprecated public class NanoAppFilter implements android.os.Parcelable {
5793    ctor @Deprecated public NanoAppFilter(long, int, int, long);
5794    method @Deprecated public int describeContents();
5795    method @Deprecated public boolean testMatch(android.hardware.location.NanoAppInstanceInfo);
5796    method @Deprecated public void writeToParcel(android.os.Parcel, int);
5797    field @Deprecated public static final int APP_ANY = -1; // 0xffffffff
5798    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppFilter> CREATOR;
5799    field @Deprecated public static final int FLAGS_VERSION_ANY = -1; // 0xffffffff
5800    field @Deprecated public static final int FLAGS_VERSION_GREAT_THAN = 2; // 0x2
5801    field @Deprecated public static final int FLAGS_VERSION_LESS_THAN = 4; // 0x4
5802    field @Deprecated public static final int FLAGS_VERSION_STRICTLY_EQUAL = 8; // 0x8
5803    field @Deprecated public static final int HUB_ANY = -1; // 0xffffffff
5804    field @Deprecated public static final int VENDOR_ANY = -1; // 0xffffffff
5805  }
5806
5807  @Deprecated public class NanoAppInstanceInfo implements android.os.Parcelable {
5808    ctor @Deprecated public NanoAppInstanceInfo();
5809    method @Deprecated public int describeContents();
5810    method @Deprecated public long getAppId();
5811    method @Deprecated public int getAppVersion();
5812    method @Deprecated public int getContexthubId();
5813    method @Deprecated public int getHandle();
5814    method @Deprecated public String getName();
5815    method @Deprecated public int getNeededExecMemBytes();
5816    method @Deprecated public int getNeededReadMemBytes();
5817    method @Deprecated @NonNull public int[] getNeededSensors();
5818    method @Deprecated public int getNeededWriteMemBytes();
5819    method @Deprecated @NonNull public int[] getOutputEvents();
5820    method @Deprecated public String getPublisher();
5821    method @Deprecated public void writeToParcel(android.os.Parcel, int);
5822    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppInstanceInfo> CREATOR;
5823  }
5824
5825  public final class NanoAppMessage implements android.os.Parcelable {
5826    method public static android.hardware.location.NanoAppMessage createMessageFromNanoApp(long, int, byte[], boolean);
5827    method public static android.hardware.location.NanoAppMessage createMessageToNanoApp(long, int, byte[]);
5828    method public int describeContents();
5829    method public byte[] getMessageBody();
5830    method public int getMessageType();
5831    method public long getNanoAppId();
5832    method public boolean isBroadcastMessage();
5833    method public void writeToParcel(android.os.Parcel, int);
5834    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppMessage> CREATOR;
5835  }
5836
5837  public final class NanoAppRpcService implements android.os.Parcelable {
5838    ctor public NanoAppRpcService(long, int);
5839    method public int describeContents();
5840    method public long getId();
5841    method public int getVersion();
5842    method public void writeToParcel(@NonNull android.os.Parcel, int);
5843    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppRpcService> CREATOR;
5844  }
5845
5846  public final class NanoAppState implements android.os.Parcelable {
5847    ctor public NanoAppState(long, int, boolean);
5848    ctor public NanoAppState(long, int, boolean, @NonNull java.util.List<java.lang.String>);
5849    ctor public NanoAppState(long, int, boolean, @NonNull java.util.List<java.lang.String>, @NonNull java.util.List<android.hardware.location.NanoAppRpcService>);
5850    method public int describeContents();
5851    method public long getNanoAppId();
5852    method @NonNull public java.util.List<java.lang.String> getNanoAppPermissions();
5853    method public long getNanoAppVersion();
5854    method @NonNull public java.util.List<android.hardware.location.NanoAppRpcService> getRpcServices();
5855    method public boolean isEnabled();
5856    method public void writeToParcel(android.os.Parcel, int);
5857    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppState> CREATOR;
5858  }
5859
5860}
5861
5862package android.hardware.radio {
5863
5864  public final class Announcement implements android.os.Parcelable {
5865    method public int describeContents();
5866    method @NonNull public android.hardware.radio.ProgramSelector getSelector();
5867    method public int getType();
5868    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
5869    method public void writeToParcel(android.os.Parcel, int);
5870    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.Announcement> CREATOR;
5871    field public static final int TYPE_EMERGENCY = 1; // 0x1
5872    field public static final int TYPE_EVENT = 6; // 0x6
5873    field public static final int TYPE_MISC = 8; // 0x8
5874    field public static final int TYPE_NEWS = 5; // 0x5
5875    field public static final int TYPE_SPORT = 7; // 0x7
5876    field public static final int TYPE_TRAFFIC = 3; // 0x3
5877    field public static final int TYPE_WARNING = 2; // 0x2
5878    field public static final int TYPE_WEATHER = 4; // 0x4
5879  }
5880
5881  public static interface Announcement.OnListUpdatedListener {
5882    method public void onListUpdated(java.util.Collection<android.hardware.radio.Announcement>);
5883  }
5884
5885  public final class ProgramList implements java.lang.AutoCloseable {
5886    method public void addOnCompleteListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.radio.ProgramList.OnCompleteListener);
5887    method public void addOnCompleteListener(@NonNull android.hardware.radio.ProgramList.OnCompleteListener);
5888    method public void close();
5889    method @Nullable public android.hardware.radio.RadioManager.ProgramInfo get(@NonNull android.hardware.radio.ProgramSelector.Identifier);
5890    method public void registerListCallback(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.radio.ProgramList.ListCallback);
5891    method public void registerListCallback(@NonNull android.hardware.radio.ProgramList.ListCallback);
5892    method public void removeOnCompleteListener(@NonNull android.hardware.radio.ProgramList.OnCompleteListener);
5893    method @NonNull public java.util.List<android.hardware.radio.RadioManager.ProgramInfo> toList();
5894    method public void unregisterListCallback(@NonNull android.hardware.radio.ProgramList.ListCallback);
5895  }
5896
5897  public static final class ProgramList.Filter implements android.os.Parcelable {
5898    ctor public ProgramList.Filter(@NonNull java.util.Set<java.lang.Integer>, @NonNull java.util.Set<android.hardware.radio.ProgramSelector.Identifier>, boolean, boolean);
5899    method public boolean areCategoriesIncluded();
5900    method public boolean areModificationsExcluded();
5901    method public int describeContents();
5902    method @NonNull public java.util.Set<java.lang.Integer> getIdentifierTypes();
5903    method @NonNull public java.util.Set<android.hardware.radio.ProgramSelector.Identifier> getIdentifiers();
5904    method public void writeToParcel(android.os.Parcel, int);
5905    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramList.Filter> CREATOR;
5906  }
5907
5908  public abstract static class ProgramList.ListCallback {
5909    ctor public ProgramList.ListCallback();
5910    method public void onItemChanged(@NonNull android.hardware.radio.ProgramSelector.Identifier);
5911    method public void onItemRemoved(@NonNull android.hardware.radio.ProgramSelector.Identifier);
5912  }
5913
5914  public static interface ProgramList.OnCompleteListener {
5915    method public void onComplete();
5916  }
5917
5918  public final class ProgramSelector implements android.os.Parcelable {
5919    ctor public ProgramSelector(@android.hardware.radio.ProgramSelector.ProgramType int, @NonNull android.hardware.radio.ProgramSelector.Identifier, @Nullable android.hardware.radio.ProgramSelector.Identifier[], @Nullable long[]);
5920    method @NonNull public static android.hardware.radio.ProgramSelector createAmFmSelector(@android.hardware.radio.RadioManager.Band int, int);
5921    method @NonNull public static android.hardware.radio.ProgramSelector createAmFmSelector(@android.hardware.radio.RadioManager.Band int, int, int);
5922    method public int describeContents();
5923    method @NonNull public android.hardware.radio.ProgramSelector.Identifier[] getAllIds(@android.hardware.radio.ProgramSelector.IdentifierType int);
5924    method public long getFirstId(@android.hardware.radio.ProgramSelector.IdentifierType int);
5925    method @NonNull public android.hardware.radio.ProgramSelector.Identifier getPrimaryId();
5926    method @Deprecated @android.hardware.radio.ProgramSelector.ProgramType public int getProgramType();
5927    method @NonNull public android.hardware.radio.ProgramSelector.Identifier[] getSecondaryIds();
5928    method @Deprecated @NonNull public long[] getVendorIds();
5929    method @NonNull public android.hardware.radio.ProgramSelector withSecondaryPreferred(@NonNull android.hardware.radio.ProgramSelector.Identifier);
5930    method public void writeToParcel(android.os.Parcel, int);
5931    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramSelector> CREATOR;
5932    field public static final int IDENTIFIER_TYPE_AMFM_FREQUENCY = 1; // 0x1
5933    field public static final int IDENTIFIER_TYPE_DAB_ENSEMBLE = 6; // 0x6
5934    field public static final int IDENTIFIER_TYPE_DAB_FREQUENCY = 8; // 0x8
5935    field public static final int IDENTIFIER_TYPE_DAB_SCID = 7; // 0x7
5936    field public static final int IDENTIFIER_TYPE_DAB_SIDECC = 5; // 0x5
5937    field public static final int IDENTIFIER_TYPE_DAB_SID_EXT = 5; // 0x5
5938    field public static final int IDENTIFIER_TYPE_DRMO_FREQUENCY = 10; // 0xa
5939    field @Deprecated public static final int IDENTIFIER_TYPE_DRMO_MODULATION = 11; // 0xb
5940    field public static final int IDENTIFIER_TYPE_DRMO_SERVICE_ID = 9; // 0x9
5941    field public static final int IDENTIFIER_TYPE_HD_STATION_ID_EXT = 3; // 0x3
5942    field public static final int IDENTIFIER_TYPE_HD_STATION_NAME = 10004; // 0x2714
5943    field @Deprecated public static final int IDENTIFIER_TYPE_HD_SUBCHANNEL = 4; // 0x4
5944    field public static final int IDENTIFIER_TYPE_INVALID = 0; // 0x0
5945    field public static final int IDENTIFIER_TYPE_RDS_PI = 2; // 0x2
5946    field public static final int IDENTIFIER_TYPE_SXM_CHANNEL = 13; // 0xd
5947    field public static final int IDENTIFIER_TYPE_SXM_SERVICE_ID = 12; // 0xc
5948    field public static final int IDENTIFIER_TYPE_VENDOR_END = 1999; // 0x7cf
5949    field @Deprecated public static final int IDENTIFIER_TYPE_VENDOR_PRIMARY_END = 1999; // 0x7cf
5950    field @Deprecated public static final int IDENTIFIER_TYPE_VENDOR_PRIMARY_START = 1000; // 0x3e8
5951    field public static final int IDENTIFIER_TYPE_VENDOR_START = 1000; // 0x3e8
5952    field @Deprecated public static final int PROGRAM_TYPE_AM = 1; // 0x1
5953    field @Deprecated public static final int PROGRAM_TYPE_AM_HD = 3; // 0x3
5954    field @Deprecated public static final int PROGRAM_TYPE_DAB = 5; // 0x5
5955    field @Deprecated public static final int PROGRAM_TYPE_DRMO = 6; // 0x6
5956    field @Deprecated public static final int PROGRAM_TYPE_FM = 2; // 0x2
5957    field @Deprecated public static final int PROGRAM_TYPE_FM_HD = 4; // 0x4
5958    field @Deprecated public static final int PROGRAM_TYPE_INVALID = 0; // 0x0
5959    field @Deprecated public static final int PROGRAM_TYPE_SXM = 7; // 0x7
5960    field @Deprecated public static final int PROGRAM_TYPE_VENDOR_END = 1999; // 0x7cf
5961    field @Deprecated public static final int PROGRAM_TYPE_VENDOR_START = 1000; // 0x3e8
5962  }
5963
5964  public static final class ProgramSelector.Identifier implements android.os.Parcelable {
5965    ctor public ProgramSelector.Identifier(@android.hardware.radio.ProgramSelector.IdentifierType int, long);
5966    method public int describeContents();
5967    method @android.hardware.radio.ProgramSelector.IdentifierType public int getType();
5968    method public long getValue();
5969    method public boolean isCategoryType();
5970    method public void writeToParcel(android.os.Parcel, int);
5971    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramSelector.Identifier> CREATOR;
5972  }
5973
5974  @IntDef(prefix={"IDENTIFIER_TYPE_"}, value={android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_INVALID, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_AMFM_FREQUENCY, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_RDS_PI, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_HD_STATION_ID_EXT, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_HD_SUBCHANNEL, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_HD_STATION_NAME, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_SID_EXT, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_SIDECC, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_ENSEMBLE, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_SCID, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_FREQUENCY, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DRMO_SERVICE_ID, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DRMO_FREQUENCY, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DRMO_MODULATION, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_SXM_SERVICE_ID, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_SXM_CHANNEL}) @IntRange(from=android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_VENDOR_START, to=android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_VENDOR_END) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ProgramSelector.IdentifierType {
5975  }
5976
5977  @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 {
5978  }
5979
5980  public class RadioManager {
5981    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void addAnnouncementListener(@NonNull java.util.Set<java.lang.Integer>, @NonNull android.hardware.radio.Announcement.OnListUpdatedListener);
5982    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);
5983    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public int listModules(java.util.List<android.hardware.radio.RadioManager.ModuleProperties>);
5984    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);
5985    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void removeAnnouncementListener(@NonNull android.hardware.radio.Announcement.OnListUpdatedListener);
5986    field public static final int BAND_AM = 0; // 0x0
5987    field public static final int BAND_AM_HD = 3; // 0x3
5988    field public static final int BAND_FM = 1; // 0x1
5989    field public static final int BAND_FM_HD = 2; // 0x2
5990    field public static final int BAND_INVALID = -1; // 0xffffffff
5991    field public static final int CLASS_AM_FM = 0; // 0x0
5992    field public static final int CLASS_DT = 2; // 0x2
5993    field public static final int CLASS_SAT = 1; // 0x1
5994    field public static final int CONFIG_DAB_DAB_LINKING = 6; // 0x6
5995    field public static final int CONFIG_DAB_DAB_SOFT_LINKING = 8; // 0x8
5996    field public static final int CONFIG_DAB_FM_LINKING = 7; // 0x7
5997    field public static final int CONFIG_DAB_FM_SOFT_LINKING = 9; // 0x9
5998    field public static final int CONFIG_FORCE_ANALOG = 2; // 0x2
5999    field public static final int CONFIG_FORCE_DIGITAL = 3; // 0x3
6000    field public static final int CONFIG_FORCE_MONO = 1; // 0x1
6001    field public static final int CONFIG_RDS_AF = 4; // 0x4
6002    field public static final int CONFIG_RDS_REG = 5; // 0x5
6003    field public static final int REGION_ITU_1 = 0; // 0x0
6004    field public static final int REGION_ITU_2 = 1; // 0x1
6005    field public static final int REGION_JAPAN = 3; // 0x3
6006    field public static final int REGION_KOREA = 4; // 0x4
6007    field public static final int REGION_OIRT = 2; // 0x2
6008    field public static final int STATUS_BAD_VALUE = -22; // 0xffffffea
6009    field public static final int STATUS_DEAD_OBJECT = -32; // 0xffffffe0
6010    field public static final int STATUS_ERROR = -2147483648; // 0x80000000
6011    field public static final int STATUS_INVALID_OPERATION = -38; // 0xffffffda
6012    field public static final int STATUS_NO_INIT = -19; // 0xffffffed
6013    field public static final int STATUS_OK = 0; // 0x0
6014    field public static final int STATUS_PERMISSION_DENIED = -1; // 0xffffffff
6015    field public static final int STATUS_TIMED_OUT = -110; // 0xffffff92
6016  }
6017
6018  public static class RadioManager.AmBandConfig extends android.hardware.radio.RadioManager.BandConfig {
6019    method public boolean getStereo();
6020    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.AmBandConfig> CREATOR;
6021  }
6022
6023  public static class RadioManager.AmBandConfig.Builder {
6024    ctor public RadioManager.AmBandConfig.Builder(android.hardware.radio.RadioManager.AmBandDescriptor);
6025    ctor public RadioManager.AmBandConfig.Builder(android.hardware.radio.RadioManager.AmBandConfig);
6026    method public android.hardware.radio.RadioManager.AmBandConfig build();
6027    method public android.hardware.radio.RadioManager.AmBandConfig.Builder setStereo(boolean);
6028  }
6029
6030  public static class RadioManager.AmBandDescriptor extends android.hardware.radio.RadioManager.BandDescriptor {
6031    method public boolean isStereoSupported();
6032    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.AmBandDescriptor> CREATOR;
6033  }
6034
6035  @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 {
6036  }
6037
6038  public static class RadioManager.BandConfig implements android.os.Parcelable {
6039    method public int describeContents();
6040    method public int getLowerLimit();
6041    method public int getRegion();
6042    method public int getSpacing();
6043    method public int getType();
6044    method public int getUpperLimit();
6045    method public void writeToParcel(android.os.Parcel, int);
6046    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.BandConfig> CREATOR;
6047  }
6048
6049  public static class RadioManager.BandDescriptor implements android.os.Parcelable {
6050    method public int describeContents();
6051    method public int getLowerLimit();
6052    method public int getRegion();
6053    method public int getSpacing();
6054    method public int getType();
6055    method public int getUpperLimit();
6056    method public boolean isAmBand();
6057    method public boolean isFmBand();
6058    method public void writeToParcel(android.os.Parcel, int);
6059    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.BandDescriptor> CREATOR;
6060  }
6061
6062  public static class RadioManager.FmBandConfig extends android.hardware.radio.RadioManager.BandConfig {
6063    method public boolean getAf();
6064    method public boolean getEa();
6065    method public boolean getRds();
6066    method public boolean getStereo();
6067    method public boolean getTa();
6068    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.FmBandConfig> CREATOR;
6069  }
6070
6071  public static class RadioManager.FmBandConfig.Builder {
6072    ctor public RadioManager.FmBandConfig.Builder(android.hardware.radio.RadioManager.FmBandDescriptor);
6073    ctor public RadioManager.FmBandConfig.Builder(android.hardware.radio.RadioManager.FmBandConfig);
6074    method public android.hardware.radio.RadioManager.FmBandConfig build();
6075    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setAf(boolean);
6076    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setEa(boolean);
6077    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setRds(boolean);
6078    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setStereo(boolean);
6079    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setTa(boolean);
6080  }
6081
6082  public static class RadioManager.FmBandDescriptor extends android.hardware.radio.RadioManager.BandDescriptor {
6083    method public boolean isAfSupported();
6084    method public boolean isEaSupported();
6085    method public boolean isRdsSupported();
6086    method public boolean isStereoSupported();
6087    method public boolean isTaSupported();
6088    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.FmBandDescriptor> CREATOR;
6089  }
6090
6091  public static class RadioManager.ModuleProperties implements android.os.Parcelable {
6092    method public int describeContents();
6093    method public android.hardware.radio.RadioManager.BandDescriptor[] getBands();
6094    method public int getClassId();
6095    method @Nullable public java.util.Map<java.lang.String,java.lang.Integer> getDabFrequencyTable();
6096    method public int getId();
6097    method public String getImplementor();
6098    method public int getNumAudioSources();
6099    method public int getNumTuners();
6100    method public String getProduct();
6101    method public String getSerial();
6102    method @NonNull public String getServiceName();
6103    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
6104    method public String getVersion();
6105    method public boolean isBackgroundScanningSupported();
6106    method public boolean isCaptureSupported();
6107    method public boolean isInitializationRequired();
6108    method public boolean isProgramIdentifierSupported(@android.hardware.radio.ProgramSelector.IdentifierType int);
6109    method public boolean isProgramTypeSupported(@android.hardware.radio.ProgramSelector.ProgramType int);
6110    method public void writeToParcel(android.os.Parcel, int);
6111    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.ModuleProperties> CREATOR;
6112  }
6113
6114  public static class RadioManager.ProgramInfo implements android.os.Parcelable {
6115    method public int describeContents();
6116    method @Deprecated public int getChannel();
6117    method @Nullable public android.hardware.radio.ProgramSelector.Identifier getLogicallyTunedTo();
6118    method public android.hardware.radio.RadioMetadata getMetadata();
6119    method @Nullable public android.hardware.radio.ProgramSelector.Identifier getPhysicallyTunedTo();
6120    method @Nullable public java.util.Collection<android.hardware.radio.ProgramSelector.Identifier> getRelatedContent();
6121    method @NonNull public android.hardware.radio.ProgramSelector getSelector();
6122    method public int getSignalStrength();
6123    method @Deprecated public int getSubChannel();
6124    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
6125    method @Deprecated public boolean isDigital();
6126    method public boolean isLive();
6127    method public boolean isMuted();
6128    method public boolean isStereo();
6129    method public boolean isTrafficAnnouncementActive();
6130    method public boolean isTrafficProgram();
6131    method public boolean isTuned();
6132    method public void writeToParcel(android.os.Parcel, int);
6133    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.ProgramInfo> CREATOR;
6134  }
6135
6136  public final class RadioMetadata implements android.os.Parcelable {
6137    method public boolean containsKey(String);
6138    method public int describeContents();
6139    method @Deprecated public android.graphics.Bitmap getBitmap(String);
6140    method public android.hardware.radio.RadioMetadata.Clock getClock(String);
6141    method public int getInt(String);
6142    method public String getString(String);
6143    method public java.util.Set<java.lang.String> keySet();
6144    method public int size();
6145    method public void writeToParcel(android.os.Parcel, int);
6146    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioMetadata> CREATOR;
6147    field public static final String METADATA_KEY_ALBUM = "android.hardware.radio.metadata.ALBUM";
6148    field public static final String METADATA_KEY_ART = "android.hardware.radio.metadata.ART";
6149    field public static final String METADATA_KEY_ARTIST = "android.hardware.radio.metadata.ARTIST";
6150    field public static final String METADATA_KEY_CLOCK = "android.hardware.radio.metadata.CLOCK";
6151    field public static final String METADATA_KEY_DAB_COMPONENT_NAME = "android.hardware.radio.metadata.DAB_COMPONENT_NAME";
6152    field public static final String METADATA_KEY_DAB_COMPONENT_NAME_SHORT = "android.hardware.radio.metadata.DAB_COMPONENT_NAME_SHORT";
6153    field public static final String METADATA_KEY_DAB_ENSEMBLE_NAME = "android.hardware.radio.metadata.DAB_ENSEMBLE_NAME";
6154    field public static final String METADATA_KEY_DAB_ENSEMBLE_NAME_SHORT = "android.hardware.radio.metadata.DAB_ENSEMBLE_NAME_SHORT";
6155    field public static final String METADATA_KEY_DAB_SERVICE_NAME = "android.hardware.radio.metadata.DAB_SERVICE_NAME";
6156    field public static final String METADATA_KEY_DAB_SERVICE_NAME_SHORT = "android.hardware.radio.metadata.DAB_SERVICE_NAME_SHORT";
6157    field public static final String METADATA_KEY_GENRE = "android.hardware.radio.metadata.GENRE";
6158    field public static final String METADATA_KEY_ICON = "android.hardware.radio.metadata.ICON";
6159    field public static final String METADATA_KEY_PROGRAM_NAME = "android.hardware.radio.metadata.PROGRAM_NAME";
6160    field public static final String METADATA_KEY_RBDS_PTY = "android.hardware.radio.metadata.RBDS_PTY";
6161    field public static final String METADATA_KEY_RDS_PI = "android.hardware.radio.metadata.RDS_PI";
6162    field public static final String METADATA_KEY_RDS_PS = "android.hardware.radio.metadata.RDS_PS";
6163    field public static final String METADATA_KEY_RDS_PTY = "android.hardware.radio.metadata.RDS_PTY";
6164    field public static final String METADATA_KEY_RDS_RT = "android.hardware.radio.metadata.RDS_RT";
6165    field public static final String METADATA_KEY_TITLE = "android.hardware.radio.metadata.TITLE";
6166  }
6167
6168  public static final class RadioMetadata.Builder {
6169    ctor public RadioMetadata.Builder();
6170    ctor public RadioMetadata.Builder(android.hardware.radio.RadioMetadata);
6171    method public android.hardware.radio.RadioMetadata build();
6172    method public android.hardware.radio.RadioMetadata.Builder putBitmap(String, android.graphics.Bitmap);
6173    method public android.hardware.radio.RadioMetadata.Builder putClock(String, long, int);
6174    method public android.hardware.radio.RadioMetadata.Builder putInt(String, int);
6175    method public android.hardware.radio.RadioMetadata.Builder putString(String, String);
6176  }
6177
6178  public static final class RadioMetadata.Clock implements android.os.Parcelable {
6179    ctor public RadioMetadata.Clock(long, int);
6180    method public int describeContents();
6181    method public int getTimezoneOffsetMinutes();
6182    method public long getUtcEpochSeconds();
6183    method public void writeToParcel(android.os.Parcel, int);
6184    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioMetadata.Clock> CREATOR;
6185  }
6186
6187  public abstract class RadioTuner {
6188    ctor public RadioTuner();
6189    method public abstract int cancel();
6190    method public abstract void cancelAnnouncement();
6191    method public abstract void close();
6192    method @Deprecated public abstract int getConfiguration(android.hardware.radio.RadioManager.BandConfig[]);
6193    method @Nullable public android.hardware.radio.ProgramList getDynamicProgramList(@Nullable android.hardware.radio.ProgramList.Filter);
6194    method public abstract boolean getMute();
6195    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getParameters(@NonNull java.util.List<java.lang.String>);
6196    method @Deprecated public abstract int getProgramInformation(android.hardware.radio.RadioManager.ProgramInfo[]);
6197    method @Deprecated @NonNull public abstract java.util.List<android.hardware.radio.RadioManager.ProgramInfo> getProgramList(@Nullable java.util.Map<java.lang.String,java.lang.String>);
6198    method public abstract boolean hasControl();
6199    method @Deprecated public abstract boolean isAnalogForced();
6200    method @Deprecated public abstract boolean isAntennaConnected();
6201    method public boolean isConfigFlagSet(int);
6202    method public boolean isConfigFlagSupported(int);
6203    method public abstract int scan(int, boolean);
6204    method @Deprecated public abstract void setAnalogForced(boolean);
6205    method public void setConfigFlag(int, boolean);
6206    method @Deprecated public abstract int setConfiguration(android.hardware.radio.RadioManager.BandConfig);
6207    method public abstract int setMute(boolean);
6208    method @NonNull public java.util.Map<java.lang.String,java.lang.String> setParameters(@NonNull java.util.Map<java.lang.String,java.lang.String>);
6209    method public abstract boolean startBackgroundScan();
6210    method public abstract int step(int, boolean);
6211    method @Deprecated public abstract int tune(int, int);
6212    method public abstract void tune(@NonNull android.hardware.radio.ProgramSelector);
6213    field public static final int DIRECTION_DOWN = 1; // 0x1
6214    field public static final int DIRECTION_UP = 0; // 0x0
6215    field @Deprecated public static final int ERROR_BACKGROUND_SCAN_FAILED = 6; // 0x6
6216    field @Deprecated public static final int ERROR_BACKGROUND_SCAN_UNAVAILABLE = 5; // 0x5
6217    field @Deprecated public static final int ERROR_CANCELLED = 2; // 0x2
6218    field @Deprecated public static final int ERROR_CONFIG = 4; // 0x4
6219    field @Deprecated public static final int ERROR_HARDWARE_FAILURE = 0; // 0x0
6220    field @Deprecated public static final int ERROR_SCAN_TIMEOUT = 3; // 0x3
6221    field @Deprecated public static final int ERROR_SERVER_DIED = 1; // 0x1
6222  }
6223
6224  public abstract static class RadioTuner.Callback {
6225    ctor public RadioTuner.Callback();
6226    method public void onAntennaState(boolean);
6227    method public void onBackgroundScanAvailabilityChange(boolean);
6228    method public void onBackgroundScanComplete();
6229    method @Deprecated public void onConfigurationChanged(android.hardware.radio.RadioManager.BandConfig);
6230    method public void onControlChanged(boolean);
6231    method public void onEmergencyAnnouncement(boolean);
6232    method @Deprecated public void onError(int);
6233    method @Deprecated public void onMetadataChanged(android.hardware.radio.RadioMetadata);
6234    method public void onParametersUpdated(@NonNull java.util.Map<java.lang.String,java.lang.String>);
6235    method public void onProgramInfoChanged(android.hardware.radio.RadioManager.ProgramInfo);
6236    method public void onProgramListChanged();
6237    method public void onTrafficAnnouncement(boolean);
6238    method public void onTuneFailed(int, @Nullable android.hardware.radio.ProgramSelector);
6239  }
6240
6241}
6242
6243package android.hardware.soundtrigger {
6244
6245  public class SoundTrigger {
6246    field public static final int RECOGNITION_MODE_GENERIC = 8; // 0x8
6247    field public static final int RECOGNITION_MODE_USER_AUTHENTICATION = 4; // 0x4
6248    field public static final int RECOGNITION_MODE_USER_IDENTIFICATION = 2; // 0x2
6249    field public static final int RECOGNITION_MODE_VOICE_TRIGGER = 1; // 0x1
6250    field public static final int STATUS_OK = 0; // 0x0
6251  }
6252
6253  public static final class SoundTrigger.Keyphrase implements android.os.Parcelable {
6254    ctor public SoundTrigger.Keyphrase(int, int, @NonNull java.util.Locale, @NonNull String, @Nullable int[]);
6255    method public int getId();
6256    method @NonNull public java.util.Locale getLocale();
6257    method public int getRecognitionModes();
6258    method @NonNull public String getText();
6259    method @NonNull public int[] getUsers();
6260    method @NonNull public static android.hardware.soundtrigger.SoundTrigger.Keyphrase readFromParcel(@NonNull android.os.Parcel);
6261    method public void writeToParcel(@NonNull android.os.Parcel, int);
6262    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.Keyphrase> CREATOR;
6263  }
6264
6265  public static final class SoundTrigger.KeyphraseRecognitionExtra implements android.os.Parcelable {
6266    method public int describeContents();
6267    method @IntRange(from=0, to=100) public int getCoarseConfidenceLevel();
6268    method public int getKeyphraseId();
6269    method public int getRecognitionModes();
6270    method public void writeToParcel(@NonNull android.os.Parcel, int);
6271    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.KeyphraseRecognitionExtra> CREATOR;
6272  }
6273
6274  public static final class SoundTrigger.KeyphraseSoundModel extends android.hardware.soundtrigger.SoundTrigger.SoundModel implements android.os.Parcelable {
6275    ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[], int);
6276    ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[]);
6277    method @NonNull public android.hardware.soundtrigger.SoundTrigger.Keyphrase[] getKeyphrases();
6278    method @NonNull public static android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel readFromParcel(@NonNull android.os.Parcel);
6279    method public void writeToParcel(@NonNull android.os.Parcel, int);
6280    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel> CREATOR;
6281  }
6282
6283  public static final class SoundTrigger.ModelParamRange implements android.os.Parcelable {
6284    method public int getEnd();
6285    method public int getStart();
6286    method public void writeToParcel(@NonNull android.os.Parcel, int);
6287    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModelParamRange> CREATOR;
6288  }
6289
6290  public static final class SoundTrigger.ModuleProperties implements android.os.Parcelable {
6291    method public int describeContents();
6292    method public int getAudioCapabilities();
6293    method @NonNull public String getDescription();
6294    method public int getId();
6295    method @NonNull public String getImplementor();
6296    method public int getMaxBufferMillis();
6297    method public int getMaxKeyphrases();
6298    method public int getMaxSoundModels();
6299    method public int getMaxUsers();
6300    method public int getPowerConsumptionMw();
6301    method public int getRecognitionModes();
6302    method @NonNull public String getSupportedModelArch();
6303    method @NonNull public java.util.UUID getUuid();
6304    method public int getVersion();
6305    method public boolean isCaptureTransitionSupported();
6306    method public boolean isConcurrentCaptureSupported();
6307    method public boolean isTriggerReturnedInEvent();
6308    method public void writeToParcel(android.os.Parcel, int);
6309    field public static final int AUDIO_CAPABILITY_ECHO_CANCELLATION = 1; // 0x1
6310    field public static final int AUDIO_CAPABILITY_NOISE_SUPPRESSION = 2; // 0x2
6311    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModuleProperties> CREATOR;
6312  }
6313
6314  public static class SoundTrigger.RecognitionEvent {
6315    method @Nullable public android.media.AudioFormat getCaptureFormat();
6316    method public int getCaptureSession();
6317    method public byte[] getData();
6318    method public boolean isCaptureAvailable();
6319  }
6320
6321  public static class SoundTrigger.SoundModel {
6322    method @NonNull public byte[] getData();
6323    method public int getType();
6324    method @NonNull public java.util.UUID getUuid();
6325    method @NonNull public java.util.UUID getVendorUuid();
6326    method public int getVersion();
6327    field public static final int TYPE_GENERIC_SOUND = 1; // 0x1
6328    field public static final int TYPE_KEYPHRASE = 0; // 0x0
6329  }
6330
6331}
6332
6333package android.hardware.usb {
6334
6335  public class UsbDeviceConnection {
6336    method public boolean resetDevice();
6337  }
6338
6339  public class UsbManager {
6340    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public long getCurrentFunctions();
6341    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_USB) public java.util.List<android.hardware.usb.UsbPort> getPorts();
6342    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void grantPermission(android.hardware.usb.UsbDevice, String);
6343    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void resetUsbGadget();
6344    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void setCurrentFunctions(long);
6345    field @RequiresPermission(android.Manifest.permission.MANAGE_USB) public static final String ACTION_USB_ACCESSORY_HANDSHAKE = "android.hardware.usb.action.USB_ACCESSORY_HANDSHAKE";
6346    field @RequiresPermission(android.Manifest.permission.MANAGE_USB) public static final String ACTION_USB_PORT_CHANGED = "android.hardware.usb.action.USB_PORT_CHANGED";
6347    field public static final String ACTION_USB_STATE = "android.hardware.usb.action.USB_STATE";
6348    field public static final String EXTRA_ACCESSORY_HANDSHAKE_END = "android.hardware.usb.extra.ACCESSORY_HANDSHAKE_END";
6349    field public static final String EXTRA_ACCESSORY_START = "android.hardware.usb.extra.ACCESSORY_START";
6350    field public static final String EXTRA_ACCESSORY_STRING_COUNT = "android.hardware.usb.extra.ACCESSORY_STRING_COUNT";
6351    field public static final String EXTRA_ACCESSORY_UEVENT_TIME = "android.hardware.usb.extra.ACCESSORY_UEVENT_TIME";
6352    field public static final long FUNCTION_ACCESSORY = 2L; // 0x2L
6353    field public static final long FUNCTION_ADB = 1L; // 0x1L
6354    field public static final long FUNCTION_AUDIO_SOURCE = 64L; // 0x40L
6355    field public static final long FUNCTION_MIDI = 8L; // 0x8L
6356    field public static final long FUNCTION_MTP = 4L; // 0x4L
6357    field public static final long FUNCTION_NCM = 1024L; // 0x400L
6358    field public static final long FUNCTION_NONE = 0L; // 0x0L
6359    field public static final long FUNCTION_PTP = 16L; // 0x10L
6360    field public static final long FUNCTION_RNDIS = 32L; // 0x20L
6361    field public static final String USB_CONFIGURED = "configured";
6362    field public static final String USB_CONNECTED = "connected";
6363    field public static final String USB_FUNCTION_NCM = "ncm";
6364    field public static final String USB_FUNCTION_RNDIS = "rndis";
6365  }
6366
6367  public final class UsbPort {
6368    method @CheckResult @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int enableLimitPowerTransfer(boolean);
6369    method @CheckResult @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int enableUsbData(boolean);
6370    method @CheckResult @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int enableUsbDataWhileDocked();
6371    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USB) public android.hardware.usb.UsbPortStatus getStatus();
6372    method @CheckResult @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void resetUsbPort(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
6373    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void setRoles(int, int);
6374    field public static final int ENABLE_LIMIT_POWER_TRANSFER_ERROR_INTERNAL = 1; // 0x1
6375    field public static final int ENABLE_LIMIT_POWER_TRANSFER_ERROR_NOT_SUPPORTED = 2; // 0x2
6376    field public static final int ENABLE_LIMIT_POWER_TRANSFER_ERROR_OTHER = 4; // 0x4
6377    field public static final int ENABLE_LIMIT_POWER_TRANSFER_ERROR_PORT_MISMATCH = 3; // 0x3
6378    field public static final int ENABLE_LIMIT_POWER_TRANSFER_SUCCESS = 0; // 0x0
6379    field public static final int ENABLE_USB_DATA_ERROR_INTERNAL = 1; // 0x1
6380    field public static final int ENABLE_USB_DATA_ERROR_NOT_SUPPORTED = 2; // 0x2
6381    field public static final int ENABLE_USB_DATA_ERROR_OTHER = 4; // 0x4
6382    field public static final int ENABLE_USB_DATA_ERROR_PORT_MISMATCH = 3; // 0x3
6383    field public static final int ENABLE_USB_DATA_SUCCESS = 0; // 0x0
6384    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_ERROR_DATA_ENABLED = 4; // 0x4
6385    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_ERROR_INTERNAL = 1; // 0x1
6386    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_ERROR_NOT_SUPPORTED = 2; // 0x2
6387    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_ERROR_OTHER = 5; // 0x5
6388    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_ERROR_PORT_MISMATCH = 3; // 0x3
6389    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_SUCCESS = 0; // 0x0
6390    field public static final int RESET_USB_PORT_ERROR_INTERNAL = 1; // 0x1
6391    field public static final int RESET_USB_PORT_ERROR_NOT_SUPPORTED = 2; // 0x2
6392    field public static final int RESET_USB_PORT_ERROR_OTHER = 4; // 0x4
6393    field public static final int RESET_USB_PORT_ERROR_PORT_MISMATCH = 3; // 0x3
6394    field public static final int RESET_USB_PORT_SUCCESS = 0; // 0x0
6395  }
6396
6397  public final class UsbPortStatus implements android.os.Parcelable {
6398    method public int describeContents();
6399    method public int getCurrentDataRole();
6400    method public int getCurrentMode();
6401    method public int getCurrentPowerRole();
6402    method public int getPowerBrickConnectionStatus();
6403    method public int getSupportedRoleCombinations();
6404    method public int getUsbDataStatus();
6405    method public boolean isConnected();
6406    method public boolean isPowerTransferLimited();
6407    method public boolean isRoleCombinationSupported(int, int);
6408    method public void writeToParcel(android.os.Parcel, int);
6409    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbPortStatus> CREATOR;
6410    field public static final int DATA_ROLE_DEVICE = 2; // 0x2
6411    field public static final int DATA_ROLE_HOST = 1; // 0x1
6412    field public static final int DATA_ROLE_NONE = 0; // 0x0
6413    field public static final int DATA_STATUS_DISABLED_CONTAMINANT = 4; // 0x4
6414    field public static final int DATA_STATUS_DISABLED_DEBUG = 32; // 0x20
6415    field public static final int DATA_STATUS_DISABLED_DOCK = 8; // 0x8
6416    field public static final int DATA_STATUS_DISABLED_FORCE = 16; // 0x10
6417    field public static final int DATA_STATUS_DISABLED_OVERHEAT = 2; // 0x2
6418    field public static final int DATA_STATUS_ENABLED = 1; // 0x1
6419    field public static final int DATA_STATUS_UNKNOWN = 0; // 0x0
6420    field public static final int MODE_AUDIO_ACCESSORY = 4; // 0x4
6421    field public static final int MODE_DEBUG_ACCESSORY = 8; // 0x8
6422    field public static final int MODE_DFP = 2; // 0x2
6423    field public static final int MODE_NONE = 0; // 0x0
6424    field public static final int MODE_UFP = 1; // 0x1
6425    field public static final int POWER_BRICK_STATUS_CONNECTED = 1; // 0x1
6426    field public static final int POWER_BRICK_STATUS_DISCONNECTED = 2; // 0x2
6427    field public static final int POWER_BRICK_STATUS_UNKNOWN = 0; // 0x0
6428    field public static final int POWER_ROLE_NONE = 0; // 0x0
6429    field public static final int POWER_ROLE_SINK = 2; // 0x2
6430    field public static final int POWER_ROLE_SOURCE = 1; // 0x1
6431  }
6432
6433}
6434
6435package android.location {
6436
6437  public abstract class BatchedLocationCallback {
6438    ctor public BatchedLocationCallback();
6439    method public void onLocationBatch(java.util.List<android.location.Location>);
6440  }
6441
6442  public final class CorrelationVector implements android.os.Parcelable {
6443    method public int describeContents();
6444    method @FloatRange(from=0.0f) public double getFrequencyOffsetMetersPerSecond();
6445    method @NonNull public int[] getMagnitude();
6446    method @FloatRange(from=0.0f) public double getSamplingStartMeters();
6447    method @FloatRange(from=0.0f, fromInclusive=false) public double getSamplingWidthMeters();
6448    method public void writeToParcel(@NonNull android.os.Parcel, int);
6449    field @NonNull public static final android.os.Parcelable.Creator<android.location.CorrelationVector> CREATOR;
6450  }
6451
6452  public static final class CorrelationVector.Builder {
6453    ctor public CorrelationVector.Builder();
6454    method @NonNull public android.location.CorrelationVector build();
6455    method @NonNull public android.location.CorrelationVector.Builder setFrequencyOffsetMetersPerSecond(@FloatRange(from=0.0f) double);
6456    method @NonNull public android.location.CorrelationVector.Builder setMagnitude(@NonNull int[]);
6457    method @NonNull public android.location.CorrelationVector.Builder setSamplingStartMeters(@FloatRange(from=0.0f) double);
6458    method @NonNull public android.location.CorrelationVector.Builder setSamplingWidthMeters(@FloatRange(from=0.0f, fromInclusive=false) double);
6459  }
6460
6461  public final class GnssCapabilities implements android.os.Parcelable {
6462    method public boolean hasGeofencing();
6463    method public boolean hasLowPowerMode();
6464    method public boolean hasMeasurementCorrections();
6465    method public boolean hasMeasurementCorrectionsExcessPathLength();
6466    method public boolean hasMeasurementCorrectionsForDriving();
6467    method public boolean hasMeasurementCorrectionsLosSats();
6468    method @Deprecated public boolean hasMeasurementCorrectionsReflectingPane();
6469    method public boolean hasMeasurementCorrectionsReflectingPlane();
6470    method public boolean hasMeasurementCorrelationVectors();
6471    method @Deprecated public boolean hasNavMessages();
6472    method @Deprecated public boolean hasSatelliteBlacklist();
6473    method public boolean hasSatelliteBlocklist();
6474    method public boolean hasSatellitePvt();
6475  }
6476
6477  public static final class GnssCapabilities.Builder {
6478    method @NonNull public android.location.GnssCapabilities.Builder setHasGeofencing(boolean);
6479    method @NonNull public android.location.GnssCapabilities.Builder setHasLowPowerMode(boolean);
6480    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrections(boolean);
6481    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrectionsExcessPathLength(boolean);
6482    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrectionsForDriving(boolean);
6483    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrectionsLosSats(boolean);
6484    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrectionsReflectingPlane(boolean);
6485    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrelationVectors(boolean);
6486    method @NonNull public android.location.GnssCapabilities.Builder setHasSatelliteBlocklist(boolean);
6487    method @NonNull public android.location.GnssCapabilities.Builder setHasSatellitePvt(boolean);
6488  }
6489
6490  public final class GnssExcessPathInfo implements android.os.Parcelable {
6491    method public int describeContents();
6492    method @FloatRange(from=0.0f) public float getAttenuationDb();
6493    method @FloatRange(from=0.0f) public float getExcessPathLengthMeters();
6494    method @FloatRange(from=0.0f) public float getExcessPathLengthUncertaintyMeters();
6495    method @NonNull public android.location.GnssReflectingPlane getReflectingPlane();
6496    method public boolean hasAttenuation();
6497    method public boolean hasExcessPathLength();
6498    method public boolean hasExcessPathLengthUncertainty();
6499    method public boolean hasReflectingPlane();
6500    method public void writeToParcel(@NonNull android.os.Parcel, int);
6501    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssExcessPathInfo> CREATOR;
6502  }
6503
6504  public static final class GnssExcessPathInfo.Builder {
6505    ctor public GnssExcessPathInfo.Builder();
6506    method @NonNull public android.location.GnssExcessPathInfo build();
6507    method @NonNull public android.location.GnssExcessPathInfo.Builder clearAttenuationDb();
6508    method @NonNull public android.location.GnssExcessPathInfo.Builder clearExcessPathLengthMeters();
6509    method @NonNull public android.location.GnssExcessPathInfo.Builder clearExcessPathLengthUncertaintyMeters();
6510    method @NonNull public android.location.GnssExcessPathInfo.Builder setAttenuationDb(@FloatRange(from=0.0f) float);
6511    method @NonNull public android.location.GnssExcessPathInfo.Builder setExcessPathLengthMeters(@FloatRange(from=0.0f) float);
6512    method @NonNull public android.location.GnssExcessPathInfo.Builder setExcessPathLengthUncertaintyMeters(@FloatRange(from=0.0f) float);
6513    method @NonNull public android.location.GnssExcessPathInfo.Builder setReflectingPlane(@Nullable android.location.GnssReflectingPlane);
6514  }
6515
6516  public final class GnssMeasurement implements android.os.Parcelable {
6517    method @Nullable public java.util.Collection<android.location.CorrelationVector> getCorrelationVectors();
6518    method @Nullable public android.location.SatellitePvt getSatellitePvt();
6519    method public boolean hasCorrelationVectors();
6520    method public boolean hasSatellitePvt();
6521  }
6522
6523  public final class GnssMeasurementCorrections implements android.os.Parcelable {
6524    method public int describeContents();
6525    method @FloatRange(from=-1000.0F, to=10000.0f) public double getAltitudeMeters();
6526    method @FloatRange(from=0.0f, to=360.0f) public float getEnvironmentBearingDegrees();
6527    method @FloatRange(from=0.0f, to=180.0f) public float getEnvironmentBearingUncertaintyDegrees();
6528    method @FloatRange(from=0.0f) public double getHorizontalPositionUncertaintyMeters();
6529    method @FloatRange(from=-90.0F, to=90.0f) public double getLatitudeDegrees();
6530    method @FloatRange(from=-180.0F, to=180.0f) public double getLongitudeDegrees();
6531    method @NonNull public java.util.List<android.location.GnssSingleSatCorrection> getSingleSatelliteCorrectionList();
6532    method @IntRange(from=0) public long getToaGpsNanosecondsOfWeek();
6533    method @FloatRange(from=0.0f) public double getVerticalPositionUncertaintyMeters();
6534    method public boolean hasEnvironmentBearing();
6535    method public void writeToParcel(@NonNull android.os.Parcel, int);
6536    field public static final android.os.Parcelable.Creator<android.location.GnssMeasurementCorrections> CREATOR;
6537  }
6538
6539  public static final class GnssMeasurementCorrections.Builder {
6540    ctor public GnssMeasurementCorrections.Builder();
6541    method @NonNull public android.location.GnssMeasurementCorrections build();
6542    method @NonNull public android.location.GnssMeasurementCorrections.Builder setAltitudeMeters(@FloatRange(from=-1000.0F, to=10000.0f) double);
6543    method @NonNull public android.location.GnssMeasurementCorrections.Builder setEnvironmentBearingDegrees(@FloatRange(from=0.0f, to=360.0f) float);
6544    method @NonNull public android.location.GnssMeasurementCorrections.Builder setEnvironmentBearingUncertaintyDegrees(@FloatRange(from=0.0f, to=180.0f) float);
6545    method @NonNull public android.location.GnssMeasurementCorrections.Builder setHorizontalPositionUncertaintyMeters(@FloatRange(from=0.0f) double);
6546    method @NonNull public android.location.GnssMeasurementCorrections.Builder setLatitudeDegrees(@FloatRange(from=-90.0F, to=90.0f) double);
6547    method @NonNull public android.location.GnssMeasurementCorrections.Builder setLongitudeDegrees(@FloatRange(from=-180.0F, to=180.0f) double);
6548    method @NonNull public android.location.GnssMeasurementCorrections.Builder setSingleSatelliteCorrectionList(@NonNull java.util.List<android.location.GnssSingleSatCorrection>);
6549    method @NonNull public android.location.GnssMeasurementCorrections.Builder setToaGpsNanosecondsOfWeek(@IntRange(from=0) long);
6550    method @NonNull public android.location.GnssMeasurementCorrections.Builder setVerticalPositionUncertaintyMeters(@FloatRange(from=0.0f) double);
6551  }
6552
6553  public final class GnssMeasurementRequest implements android.os.Parcelable {
6554    method public boolean isCorrelationVectorOutputsEnabled();
6555  }
6556
6557  public static final class GnssMeasurementRequest.Builder {
6558    method @NonNull public android.location.GnssMeasurementRequest.Builder setCorrelationVectorOutputsEnabled(boolean);
6559  }
6560
6561  public final class GnssReflectingPlane implements android.os.Parcelable {
6562    method public int describeContents();
6563    method @FloatRange(from=-1000.0F, to=10000.0f) public double getAltitudeMeters();
6564    method @FloatRange(from=0.0f, to=360.0f) public double getAzimuthDegrees();
6565    method @FloatRange(from=-90.0F, to=90.0f) public double getLatitudeDegrees();
6566    method @FloatRange(from=-180.0F, to=180.0f) public double getLongitudeDegrees();
6567    method public void writeToParcel(@NonNull android.os.Parcel, int);
6568    field public static final android.os.Parcelable.Creator<android.location.GnssReflectingPlane> CREATOR;
6569  }
6570
6571  public static final class GnssReflectingPlane.Builder {
6572    ctor public GnssReflectingPlane.Builder();
6573    method @NonNull public android.location.GnssReflectingPlane build();
6574    method @NonNull public android.location.GnssReflectingPlane.Builder setAltitudeMeters(@FloatRange(from=-1000.0F, to=10000.0f) double);
6575    method @NonNull public android.location.GnssReflectingPlane.Builder setAzimuthDegrees(@FloatRange(from=0.0f, to=360.0f) double);
6576    method @NonNull public android.location.GnssReflectingPlane.Builder setLatitudeDegrees(@FloatRange(from=-90.0F, to=90.0f) double);
6577    method @NonNull public android.location.GnssReflectingPlane.Builder setLongitudeDegrees(@FloatRange(from=-180.0F, to=180.0f) double);
6578  }
6579
6580  public final class GnssRequest implements android.os.Parcelable {
6581    method public int describeContents();
6582    method public boolean isFullTracking();
6583    method public void writeToParcel(@NonNull android.os.Parcel, int);
6584    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssRequest> CREATOR;
6585  }
6586
6587  public static final class GnssRequest.Builder {
6588    ctor public GnssRequest.Builder();
6589    ctor public GnssRequest.Builder(@NonNull android.location.GnssRequest);
6590    method @NonNull public android.location.GnssRequest build();
6591    method @NonNull public android.location.GnssRequest.Builder setFullTracking(boolean);
6592  }
6593
6594  public final class GnssSingleSatCorrection implements android.os.Parcelable {
6595    method public int describeContents();
6596    method @FloatRange(from=0.0f, fromInclusive=false) public float getCarrierFrequencyHz();
6597    method @FloatRange(from=0.0f) public float getCombinedAttenuationDb();
6598    method public int getConstellationType();
6599    method @FloatRange(from=0.0f) public float getExcessPathLengthMeters();
6600    method @FloatRange(from=0.0f) public float getExcessPathLengthUncertaintyMeters();
6601    method @NonNull public java.util.List<android.location.GnssExcessPathInfo> getGnssExcessPathInfoList();
6602    method @FloatRange(from=0.0f, to=1.0f) public float getProbabilityLineOfSight();
6603    method @Deprecated @Nullable public android.location.GnssReflectingPlane getReflectingPlane();
6604    method @IntRange(from=0) public int getSatelliteId();
6605    method public boolean hasCombinedAttenuation();
6606    method public boolean hasExcessPathLength();
6607    method public boolean hasExcessPathLengthUncertainty();
6608    method @Deprecated public boolean hasReflectingPlane();
6609    method public boolean hasValidSatelliteLineOfSight();
6610    method public void writeToParcel(@NonNull android.os.Parcel, int);
6611    field public static final android.os.Parcelable.Creator<android.location.GnssSingleSatCorrection> CREATOR;
6612  }
6613
6614  public static final class GnssSingleSatCorrection.Builder {
6615    ctor public GnssSingleSatCorrection.Builder();
6616    method @NonNull public android.location.GnssSingleSatCorrection build();
6617    method @NonNull public android.location.GnssSingleSatCorrection.Builder clearCombinedAttenuationDb();
6618    method @NonNull public android.location.GnssSingleSatCorrection.Builder clearExcessPathLengthMeters();
6619    method @NonNull public android.location.GnssSingleSatCorrection.Builder clearExcessPathLengthUncertaintyMeters();
6620    method @NonNull public android.location.GnssSingleSatCorrection.Builder clearProbabilityLineOfSight();
6621    method @NonNull public android.location.GnssSingleSatCorrection.Builder setCarrierFrequencyHz(@FloatRange(from=0.0f, fromInclusive=false) float);
6622    method @NonNull public android.location.GnssSingleSatCorrection.Builder setCombinedAttenuationDb(@FloatRange(from=0.0f) float);
6623    method @NonNull public android.location.GnssSingleSatCorrection.Builder setConstellationType(int);
6624    method @NonNull public android.location.GnssSingleSatCorrection.Builder setExcessPathLengthMeters(@FloatRange(from=0.0f) float);
6625    method @NonNull public android.location.GnssSingleSatCorrection.Builder setExcessPathLengthUncertaintyMeters(@FloatRange(from=0.0f) float);
6626    method @NonNull public android.location.GnssSingleSatCorrection.Builder setGnssExcessPathInfoList(@NonNull java.util.List<android.location.GnssExcessPathInfo>);
6627    method @NonNull public android.location.GnssSingleSatCorrection.Builder setProbabilityLineOfSight(@FloatRange(from=0.0f, to=1.0f) float);
6628    method @Deprecated @NonNull public android.location.GnssSingleSatCorrection.Builder setReflectingPlane(@Nullable android.location.GnssReflectingPlane);
6629    method @NonNull public android.location.GnssSingleSatCorrection.Builder setSatelliteId(@IntRange(from=0) int);
6630  }
6631
6632  @Deprecated public class GpsClock implements android.os.Parcelable {
6633    method @Deprecated public int describeContents();
6634    method @Deprecated public double getBiasInNs();
6635    method @Deprecated public double getBiasUncertaintyInNs();
6636    method @Deprecated public double getDriftInNsPerSec();
6637    method @Deprecated public double getDriftUncertaintyInNsPerSec();
6638    method @Deprecated public long getFullBiasInNs();
6639    method @Deprecated public short getLeapSecond();
6640    method @Deprecated public long getTimeInNs();
6641    method @Deprecated public double getTimeUncertaintyInNs();
6642    method @Deprecated public byte getType();
6643    method @Deprecated public boolean hasBiasInNs();
6644    method @Deprecated public boolean hasBiasUncertaintyInNs();
6645    method @Deprecated public boolean hasDriftInNsPerSec();
6646    method @Deprecated public boolean hasDriftUncertaintyInNsPerSec();
6647    method @Deprecated public boolean hasFullBiasInNs();
6648    method @Deprecated public boolean hasLeapSecond();
6649    method @Deprecated public boolean hasTimeUncertaintyInNs();
6650    method @Deprecated public void reset();
6651    method @Deprecated public void resetBiasInNs();
6652    method @Deprecated public void resetBiasUncertaintyInNs();
6653    method @Deprecated public void resetDriftInNsPerSec();
6654    method @Deprecated public void resetDriftUncertaintyInNsPerSec();
6655    method @Deprecated public void resetFullBiasInNs();
6656    method @Deprecated public void resetLeapSecond();
6657    method @Deprecated public void resetTimeUncertaintyInNs();
6658    method @Deprecated public void set(android.location.GpsClock);
6659    method @Deprecated public void setBiasInNs(double);
6660    method @Deprecated public void setBiasUncertaintyInNs(double);
6661    method @Deprecated public void setDriftInNsPerSec(double);
6662    method @Deprecated public void setDriftUncertaintyInNsPerSec(double);
6663    method @Deprecated public void setFullBiasInNs(long);
6664    method @Deprecated public void setLeapSecond(short);
6665    method @Deprecated public void setTimeInNs(long);
6666    method @Deprecated public void setTimeUncertaintyInNs(double);
6667    method @Deprecated public void setType(byte);
6668    method @Deprecated public void writeToParcel(android.os.Parcel, int);
6669    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsClock> CREATOR;
6670    field @Deprecated public static final byte TYPE_GPS_TIME = 2; // 0x2
6671    field @Deprecated public static final byte TYPE_LOCAL_HW_TIME = 1; // 0x1
6672    field @Deprecated public static final byte TYPE_UNKNOWN = 0; // 0x0
6673  }
6674
6675  @Deprecated public class GpsMeasurement implements android.os.Parcelable {
6676    method @Deprecated public int describeContents();
6677    method @Deprecated public double getAccumulatedDeltaRangeInMeters();
6678    method @Deprecated public short getAccumulatedDeltaRangeState();
6679    method @Deprecated public double getAccumulatedDeltaRangeUncertaintyInMeters();
6680    method @Deprecated public double getAzimuthInDeg();
6681    method @Deprecated public double getAzimuthUncertaintyInDeg();
6682    method @Deprecated public int getBitNumber();
6683    method @Deprecated public long getCarrierCycles();
6684    method @Deprecated public float getCarrierFrequencyInHz();
6685    method @Deprecated public double getCarrierPhase();
6686    method @Deprecated public double getCarrierPhaseUncertainty();
6687    method @Deprecated public double getCn0InDbHz();
6688    method @Deprecated public double getCodePhaseInChips();
6689    method @Deprecated public double getCodePhaseUncertaintyInChips();
6690    method @Deprecated public double getDopplerShiftInHz();
6691    method @Deprecated public double getDopplerShiftUncertaintyInHz();
6692    method @Deprecated public double getElevationInDeg();
6693    method @Deprecated public double getElevationUncertaintyInDeg();
6694    method @Deprecated public byte getLossOfLock();
6695    method @Deprecated public byte getMultipathIndicator();
6696    method @Deprecated public byte getPrn();
6697    method @Deprecated public double getPseudorangeInMeters();
6698    method @Deprecated public double getPseudorangeRateInMetersPerSec();
6699    method @Deprecated public double getPseudorangeRateUncertaintyInMetersPerSec();
6700    method @Deprecated public double getPseudorangeUncertaintyInMeters();
6701    method @Deprecated public long getReceivedGpsTowInNs();
6702    method @Deprecated public long getReceivedGpsTowUncertaintyInNs();
6703    method @Deprecated public double getSnrInDb();
6704    method @Deprecated public short getState();
6705    method @Deprecated public short getTimeFromLastBitInMs();
6706    method @Deprecated public double getTimeOffsetInNs();
6707    method @Deprecated public boolean hasAzimuthInDeg();
6708    method @Deprecated public boolean hasAzimuthUncertaintyInDeg();
6709    method @Deprecated public boolean hasBitNumber();
6710    method @Deprecated public boolean hasCarrierCycles();
6711    method @Deprecated public boolean hasCarrierFrequencyInHz();
6712    method @Deprecated public boolean hasCarrierPhase();
6713    method @Deprecated public boolean hasCarrierPhaseUncertainty();
6714    method @Deprecated public boolean hasCodePhaseInChips();
6715    method @Deprecated public boolean hasCodePhaseUncertaintyInChips();
6716    method @Deprecated public boolean hasDopplerShiftInHz();
6717    method @Deprecated public boolean hasDopplerShiftUncertaintyInHz();
6718    method @Deprecated public boolean hasElevationInDeg();
6719    method @Deprecated public boolean hasElevationUncertaintyInDeg();
6720    method @Deprecated public boolean hasPseudorangeInMeters();
6721    method @Deprecated public boolean hasPseudorangeUncertaintyInMeters();
6722    method @Deprecated public boolean hasSnrInDb();
6723    method @Deprecated public boolean hasTimeFromLastBitInMs();
6724    method @Deprecated public boolean isPseudorangeRateCorrected();
6725    method @Deprecated public boolean isUsedInFix();
6726    method @Deprecated public void reset();
6727    method @Deprecated public void resetAzimuthInDeg();
6728    method @Deprecated public void resetAzimuthUncertaintyInDeg();
6729    method @Deprecated public void resetBitNumber();
6730    method @Deprecated public void resetCarrierCycles();
6731    method @Deprecated public void resetCarrierFrequencyInHz();
6732    method @Deprecated public void resetCarrierPhase();
6733    method @Deprecated public void resetCarrierPhaseUncertainty();
6734    method @Deprecated public void resetCodePhaseInChips();
6735    method @Deprecated public void resetCodePhaseUncertaintyInChips();
6736    method @Deprecated public void resetDopplerShiftInHz();
6737    method @Deprecated public void resetDopplerShiftUncertaintyInHz();
6738    method @Deprecated public void resetElevationInDeg();
6739    method @Deprecated public void resetElevationUncertaintyInDeg();
6740    method @Deprecated public void resetPseudorangeInMeters();
6741    method @Deprecated public void resetPseudorangeUncertaintyInMeters();
6742    method @Deprecated public void resetSnrInDb();
6743    method @Deprecated public void resetTimeFromLastBitInMs();
6744    method @Deprecated public void set(android.location.GpsMeasurement);
6745    method @Deprecated public void setAccumulatedDeltaRangeInMeters(double);
6746    method @Deprecated public void setAccumulatedDeltaRangeState(short);
6747    method @Deprecated public void setAccumulatedDeltaRangeUncertaintyInMeters(double);
6748    method @Deprecated public void setAzimuthInDeg(double);
6749    method @Deprecated public void setAzimuthUncertaintyInDeg(double);
6750    method @Deprecated public void setBitNumber(int);
6751    method @Deprecated public void setCarrierCycles(long);
6752    method @Deprecated public void setCarrierFrequencyInHz(float);
6753    method @Deprecated public void setCarrierPhase(double);
6754    method @Deprecated public void setCarrierPhaseUncertainty(double);
6755    method @Deprecated public void setCn0InDbHz(double);
6756    method @Deprecated public void setCodePhaseInChips(double);
6757    method @Deprecated public void setCodePhaseUncertaintyInChips(double);
6758    method @Deprecated public void setDopplerShiftInHz(double);
6759    method @Deprecated public void setDopplerShiftUncertaintyInHz(double);
6760    method @Deprecated public void setElevationInDeg(double);
6761    method @Deprecated public void setElevationUncertaintyInDeg(double);
6762    method @Deprecated public void setLossOfLock(byte);
6763    method @Deprecated public void setMultipathIndicator(byte);
6764    method @Deprecated public void setPrn(byte);
6765    method @Deprecated public void setPseudorangeInMeters(double);
6766    method @Deprecated public void setPseudorangeRateInMetersPerSec(double);
6767    method @Deprecated public void setPseudorangeRateUncertaintyInMetersPerSec(double);
6768    method @Deprecated public void setPseudorangeUncertaintyInMeters(double);
6769    method @Deprecated public void setReceivedGpsTowInNs(long);
6770    method @Deprecated public void setReceivedGpsTowUncertaintyInNs(long);
6771    method @Deprecated public void setSnrInDb(double);
6772    method @Deprecated public void setState(short);
6773    method @Deprecated public void setTimeFromLastBitInMs(short);
6774    method @Deprecated public void setTimeOffsetInNs(double);
6775    method @Deprecated public void setUsedInFix(boolean);
6776    method @Deprecated public void writeToParcel(android.os.Parcel, int);
6777    field @Deprecated public static final short ADR_STATE_CYCLE_SLIP = 4; // 0x4
6778    field @Deprecated public static final short ADR_STATE_RESET = 2; // 0x2
6779    field @Deprecated public static final short ADR_STATE_UNKNOWN = 0; // 0x0
6780    field @Deprecated public static final short ADR_STATE_VALID = 1; // 0x1
6781    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurement> CREATOR;
6782    field @Deprecated public static final byte LOSS_OF_LOCK_CYCLE_SLIP = 2; // 0x2
6783    field @Deprecated public static final byte LOSS_OF_LOCK_OK = 1; // 0x1
6784    field @Deprecated public static final byte LOSS_OF_LOCK_UNKNOWN = 0; // 0x0
6785    field @Deprecated public static final byte MULTIPATH_INDICATOR_DETECTED = 1; // 0x1
6786    field @Deprecated public static final byte MULTIPATH_INDICATOR_NOT_USED = 2; // 0x2
6787    field @Deprecated public static final byte MULTIPATH_INDICATOR_UNKNOWN = 0; // 0x0
6788    field @Deprecated public static final short STATE_BIT_SYNC = 2; // 0x2
6789    field @Deprecated public static final short STATE_CODE_LOCK = 1; // 0x1
6790    field @Deprecated public static final short STATE_MSEC_AMBIGUOUS = 16; // 0x10
6791    field @Deprecated public static final short STATE_SUBFRAME_SYNC = 4; // 0x4
6792    field @Deprecated public static final short STATE_TOW_DECODED = 8; // 0x8
6793    field @Deprecated public static final short STATE_UNKNOWN = 0; // 0x0
6794  }
6795
6796  @Deprecated public class GpsMeasurementsEvent implements android.os.Parcelable {
6797    ctor @Deprecated public GpsMeasurementsEvent(android.location.GpsClock, android.location.GpsMeasurement[]);
6798    method @Deprecated public int describeContents();
6799    method @Deprecated @NonNull public android.location.GpsClock getClock();
6800    method @Deprecated @NonNull public java.util.Collection<android.location.GpsMeasurement> getMeasurements();
6801    method @Deprecated public void writeToParcel(android.os.Parcel, int);
6802    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurementsEvent> CREATOR;
6803    field @Deprecated public static final int STATUS_GPS_LOCATION_DISABLED = 2; // 0x2
6804    field @Deprecated public static final int STATUS_NOT_SUPPORTED = 0; // 0x0
6805    field @Deprecated public static final int STATUS_READY = 1; // 0x1
6806  }
6807
6808  @Deprecated public static interface GpsMeasurementsEvent.Listener {
6809    method @Deprecated public void onGpsMeasurementsReceived(android.location.GpsMeasurementsEvent);
6810    method @Deprecated public void onStatusChanged(int);
6811  }
6812
6813  @Deprecated public class GpsNavigationMessage implements android.os.Parcelable {
6814    method @Deprecated public int describeContents();
6815    method @Deprecated @NonNull public byte[] getData();
6816    method @Deprecated public short getMessageId();
6817    method @Deprecated public byte getPrn();
6818    method @Deprecated public short getStatus();
6819    method @Deprecated public short getSubmessageId();
6820    method @Deprecated public byte getType();
6821    method @Deprecated public void reset();
6822    method @Deprecated public void set(android.location.GpsNavigationMessage);
6823    method @Deprecated public void setData(byte[]);
6824    method @Deprecated public void setMessageId(short);
6825    method @Deprecated public void setPrn(byte);
6826    method @Deprecated public void setStatus(short);
6827    method @Deprecated public void setSubmessageId(short);
6828    method @Deprecated public void setType(byte);
6829    method @Deprecated public void writeToParcel(android.os.Parcel, int);
6830    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessage> CREATOR;
6831    field @Deprecated public static final short STATUS_PARITY_PASSED = 1; // 0x1
6832    field @Deprecated public static final short STATUS_PARITY_REBUILT = 2; // 0x2
6833    field @Deprecated public static final short STATUS_UNKNOWN = 0; // 0x0
6834    field @Deprecated public static final byte TYPE_CNAV2 = 4; // 0x4
6835    field @Deprecated public static final byte TYPE_L1CA = 1; // 0x1
6836    field @Deprecated public static final byte TYPE_L2CNAV = 2; // 0x2
6837    field @Deprecated public static final byte TYPE_L5CNAV = 3; // 0x3
6838    field @Deprecated public static final byte TYPE_UNKNOWN = 0; // 0x0
6839  }
6840
6841  @Deprecated public class GpsNavigationMessageEvent implements android.os.Parcelable {
6842    ctor @Deprecated public GpsNavigationMessageEvent(android.location.GpsNavigationMessage);
6843    method @Deprecated public int describeContents();
6844    method @Deprecated @NonNull public android.location.GpsNavigationMessage getNavigationMessage();
6845    method @Deprecated public void writeToParcel(android.os.Parcel, int);
6846    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessageEvent> CREATOR;
6847    field @Deprecated public static int STATUS_GPS_LOCATION_DISABLED;
6848    field @Deprecated public static int STATUS_NOT_SUPPORTED;
6849    field @Deprecated public static int STATUS_READY;
6850  }
6851
6852  @Deprecated public static interface GpsNavigationMessageEvent.Listener {
6853    method @Deprecated public void onGpsNavigationMessageReceived(android.location.GpsNavigationMessageEvent);
6854    method @Deprecated public void onStatusChanged(int);
6855  }
6856
6857  public final class LastLocationRequest implements android.os.Parcelable {
6858    method public int describeContents();
6859    method public boolean isAdasGnssBypass();
6860    method public boolean isHiddenFromAppOps();
6861    method public boolean isLocationSettingsIgnored();
6862    method public void writeToParcel(@NonNull android.os.Parcel, int);
6863    field @NonNull public static final android.os.Parcelable.Creator<android.location.LastLocationRequest> CREATOR;
6864  }
6865
6866  public static final class LastLocationRequest.Builder {
6867    ctor public LastLocationRequest.Builder();
6868    ctor public LastLocationRequest.Builder(@NonNull android.location.LastLocationRequest);
6869    method @NonNull public android.location.LastLocationRequest build();
6870    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public android.location.LastLocationRequest.Builder setAdasGnssBypass(boolean);
6871    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_APP_OPS_STATS) public android.location.LastLocationRequest.Builder setHiddenFromAppOps(boolean);
6872    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public android.location.LastLocationRequest.Builder setLocationSettingsIgnored(boolean);
6873  }
6874
6875  public class Location implements android.os.Parcelable {
6876    method public void makeComplete();
6877    method @Deprecated public void setIsFromMockProvider(boolean);
6878    field @Deprecated public static final String EXTRA_NO_GPS_LOCATION = "noGPSLocation";
6879  }
6880
6881  public class LocationManager {
6882    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void addProviderRequestChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.location.provider.ProviderRequest.ChangedListener);
6883    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void flushGnssBatch();
6884    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>);
6885    method @Nullable public String getExtraLocationControllerPackage();
6886    method @Deprecated public int getGnssBatchSize();
6887    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);
6888    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void injectGnssMeasurementCorrections(@NonNull android.location.GnssMeasurementCorrections);
6889    method public boolean isAdasGnssLocationEnabled();
6890    method public boolean isExtraLocationControllerPackageEnabled();
6891    method public boolean isLocationEnabledForUser(@NonNull android.os.UserHandle);
6892    method public boolean isProviderEnabledForUser(@NonNull String, @NonNull android.os.UserHandle);
6893    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@NonNull String);
6894    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@Nullable String, @NonNull String, @Nullable String);
6895    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);
6896    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);
6897    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void removeProviderRequestChangedListener(@NonNull android.location.provider.ProviderRequest.ChangedListener);
6898    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);
6899    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);
6900    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);
6901    method @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public void setAdasGnssLocationEnabled(boolean);
6902    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackage(@Nullable String);
6903    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackageEnabled(boolean);
6904    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setLocationEnabledForUser(boolean, @NonNull android.os.UserHandle);
6905    method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean setProviderEnabledForUser(@NonNull String, boolean, @NonNull android.os.UserHandle);
6906    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean unregisterGnssBatchedLocationCallback(@NonNull android.location.BatchedLocationCallback);
6907    field public static final String ACTION_ADAS_GNSS_ENABLED_CHANGED = "android.location.action.ADAS_GNSS_ENABLED_CHANGED";
6908    field public static final String EXTRA_ADAS_GNSS_ENABLED = "android.location.extra.ADAS_GNSS_ENABLED";
6909  }
6910
6911  public final class LocationRequest implements android.os.Parcelable {
6912    method @Deprecated @NonNull public static android.location.LocationRequest create();
6913    method @Deprecated @NonNull public static android.location.LocationRequest createFromDeprecatedCriteria(@NonNull android.location.Criteria, long, float, boolean);
6914    method @Deprecated @NonNull public static android.location.LocationRequest createFromDeprecatedProvider(@NonNull String, long, float, boolean);
6915    method @Deprecated public long getExpireAt();
6916    method @Deprecated public long getExpireIn();
6917    method @Deprecated public long getFastestInterval();
6918    method @Deprecated public boolean getHideFromAppOps();
6919    method @Deprecated public long getInterval();
6920    method @Deprecated public int getNumUpdates();
6921    method @Deprecated @NonNull public String getProvider();
6922    method @Deprecated public float getSmallestDisplacement();
6923    method @NonNull public android.os.WorkSource getWorkSource();
6924    method public boolean isAdasGnssBypass();
6925    method public boolean isHiddenFromAppOps();
6926    method public boolean isLocationSettingsIgnored();
6927    method public boolean isLowPower();
6928    method @Deprecated public boolean isLowPowerMode();
6929    method @Deprecated @NonNull public android.location.LocationRequest setExpireAt(long);
6930    method @Deprecated @NonNull public android.location.LocationRequest setExpireIn(long);
6931    method @Deprecated @NonNull public android.location.LocationRequest setFastestInterval(long);
6932    method @Deprecated public void setHideFromAppOps(boolean);
6933    method @Deprecated @NonNull public android.location.LocationRequest setInterval(long);
6934    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public android.location.LocationRequest setLocationSettingsIgnored(boolean);
6935    method @Deprecated @NonNull public android.location.LocationRequest setLowPowerMode(boolean);
6936    method @Deprecated @NonNull public android.location.LocationRequest setNumUpdates(int);
6937    method @Deprecated @NonNull public android.location.LocationRequest setProvider(@NonNull String);
6938    method @Deprecated @NonNull public android.location.LocationRequest setQuality(int);
6939    method @Deprecated @NonNull public android.location.LocationRequest setSmallestDisplacement(float);
6940    method @Deprecated public void setWorkSource(@Nullable android.os.WorkSource);
6941    field @Deprecated public static final int ACCURACY_BLOCK = 102; // 0x66
6942    field @Deprecated public static final int ACCURACY_CITY = 104; // 0x68
6943    field @Deprecated public static final int ACCURACY_FINE = 100; // 0x64
6944    field @Deprecated public static final int POWER_HIGH = 203; // 0xcb
6945    field @Deprecated public static final int POWER_LOW = 201; // 0xc9
6946    field @Deprecated public static final int POWER_NONE = 200; // 0xc8
6947  }
6948
6949  public static final class LocationRequest.Builder {
6950    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public android.location.LocationRequest.Builder setAdasGnssBypass(boolean);
6951    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_APP_OPS_STATS) public android.location.LocationRequest.Builder setHiddenFromAppOps(boolean);
6952    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public android.location.LocationRequest.Builder setLocationSettingsIgnored(boolean);
6953    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.location.LocationRequest.Builder setLowPower(boolean);
6954    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.location.LocationRequest.Builder setWorkSource(@Nullable android.os.WorkSource);
6955  }
6956
6957  public final class SatellitePvt implements android.os.Parcelable {
6958    method public int describeContents();
6959    method @Nullable public android.location.SatellitePvt.ClockInfo getClockInfo();
6960    method public int getEphemerisSource();
6961    method @FloatRange public double getIonoDelayMeters();
6962    method @IntRange(from=0, to=1023) public int getIssueOfDataClock();
6963    method @IntRange(from=0, to=255) public int getIssueOfDataEphemeris();
6964    method @Nullable public android.location.SatellitePvt.PositionEcef getPositionEcef();
6965    method @IntRange(from=0) public long getTimeOfClockSeconds();
6966    method @IntRange(from=0) public long getTimeOfEphemerisSeconds();
6967    method @FloatRange public double getTropoDelayMeters();
6968    method @Nullable public android.location.SatellitePvt.VelocityEcef getVelocityEcef();
6969    method public boolean hasIono();
6970    method public boolean hasIssueOfDataClock();
6971    method public boolean hasIssueOfDataEphemeris();
6972    method public boolean hasPositionVelocityClockInfo();
6973    method public boolean hasTimeOfClockSeconds();
6974    method public boolean hasTimeOfEphemerisSeconds();
6975    method public boolean hasTropo();
6976    method public void writeToParcel(@NonNull android.os.Parcel, int);
6977    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt> CREATOR;
6978    field public static final int EPHEMERIS_SOURCE_DEMODULATED = 0; // 0x0
6979    field public static final int EPHEMERIS_SOURCE_OTHER = 3; // 0x3
6980    field public static final int EPHEMERIS_SOURCE_SERVER_LONG_TERM = 2; // 0x2
6981    field public static final int EPHEMERIS_SOURCE_SERVER_NORMAL = 1; // 0x1
6982  }
6983
6984  public static final class SatellitePvt.Builder {
6985    ctor public SatellitePvt.Builder();
6986    method @NonNull public android.location.SatellitePvt build();
6987    method @NonNull public android.location.SatellitePvt.Builder setClockInfo(@NonNull android.location.SatellitePvt.ClockInfo);
6988    method @NonNull public android.location.SatellitePvt.Builder setEphemerisSource(int);
6989    method @NonNull public android.location.SatellitePvt.Builder setIonoDelayMeters(@FloatRange(from=0.0f, to=100.0f) double);
6990    method @NonNull public android.location.SatellitePvt.Builder setIssueOfDataClock(@IntRange(from=0, to=1023) int);
6991    method @NonNull public android.location.SatellitePvt.Builder setIssueOfDataEphemeris(@IntRange(from=0, to=255) int);
6992    method @NonNull public android.location.SatellitePvt.Builder setPositionEcef(@NonNull android.location.SatellitePvt.PositionEcef);
6993    method @NonNull public android.location.SatellitePvt.Builder setTimeOfClockSeconds(@IntRange(from=0) long);
6994    method @NonNull public android.location.SatellitePvt.Builder setTimeOfEphemerisSeconds(@IntRange(from=0) long);
6995    method @NonNull public android.location.SatellitePvt.Builder setTropoDelayMeters(@FloatRange(from=0.0f, to=100.0f) double);
6996    method @NonNull public android.location.SatellitePvt.Builder setVelocityEcef(@NonNull android.location.SatellitePvt.VelocityEcef);
6997  }
6998
6999  public static final class SatellitePvt.ClockInfo implements android.os.Parcelable {
7000    ctor public SatellitePvt.ClockInfo(double, double, double);
7001    method public int describeContents();
7002    method @FloatRange public double getClockDriftMetersPerSecond();
7003    method @FloatRange public double getHardwareCodeBiasMeters();
7004    method @FloatRange public double getTimeCorrectionMeters();
7005    method public void writeToParcel(@NonNull android.os.Parcel, int);
7006    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.ClockInfo> CREATOR;
7007  }
7008
7009  public static final class SatellitePvt.PositionEcef implements android.os.Parcelable {
7010    ctor public SatellitePvt.PositionEcef(double, double, double, double);
7011    method public int describeContents();
7012    method @FloatRange(from=0.0f, fromInclusive=false) public double getUreMeters();
7013    method @FloatRange public double getXMeters();
7014    method @FloatRange public double getYMeters();
7015    method @FloatRange public double getZMeters();
7016    method public void writeToParcel(@NonNull android.os.Parcel, int);
7017    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.PositionEcef> CREATOR;
7018  }
7019
7020  public static final class SatellitePvt.VelocityEcef implements android.os.Parcelable {
7021    ctor public SatellitePvt.VelocityEcef(double, double, double, double);
7022    method public int describeContents();
7023    method @FloatRange(from=0.0f, fromInclusive=false) public double getUreRateMetersPerSecond();
7024    method @FloatRange public double getXMetersPerSecond();
7025    method @FloatRange public double getYMetersPerSecond();
7026    method @FloatRange public double getZMetersPerSecond();
7027    method public void writeToParcel(@NonNull android.os.Parcel, int);
7028    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.VelocityEcef> CREATOR;
7029  }
7030
7031}
7032
7033package android.location.provider {
7034
7035  public abstract class LocationProviderBase {
7036    ctor public LocationProviderBase(@NonNull android.content.Context, @NonNull String, @NonNull android.location.provider.ProviderProperties);
7037    method @Nullable public final android.os.IBinder getBinder();
7038    method @NonNull public android.location.provider.ProviderProperties getProperties();
7039    method public boolean isAllowed();
7040    method public abstract void onFlush(@NonNull android.location.provider.LocationProviderBase.OnFlushCompleteCallback);
7041    method public abstract void onSendExtraCommand(@NonNull String, @Nullable android.os.Bundle);
7042    method public abstract void onSetRequest(@NonNull android.location.provider.ProviderRequest);
7043    method public void reportLocation(@NonNull android.location.Location);
7044    method public void reportLocations(@NonNull java.util.List<android.location.Location>);
7045    method public void setAllowed(boolean);
7046    method public void setProperties(@NonNull android.location.provider.ProviderProperties);
7047    field public static final String ACTION_FUSED_PROVIDER = "com.android.location.service.FusedLocationProvider";
7048    field public static final String ACTION_NETWORK_PROVIDER = "com.android.location.service.v3.NetworkLocationProvider";
7049  }
7050
7051  public static interface LocationProviderBase.OnFlushCompleteCallback {
7052    method public void onFlushComplete();
7053  }
7054
7055  public final class ProviderRequest implements android.os.Parcelable {
7056    method public int describeContents();
7057    method @IntRange(from=0) public long getIntervalMillis();
7058    method @IntRange(from=0) public long getMaxUpdateDelayMillis();
7059    method public int getQuality();
7060    method @NonNull public android.os.WorkSource getWorkSource();
7061    method public boolean isActive();
7062    method public boolean isLocationSettingsIgnored();
7063    method public boolean isLowPower();
7064    method public void writeToParcel(@NonNull android.os.Parcel, int);
7065    field @NonNull public static final android.os.Parcelable.Creator<android.location.provider.ProviderRequest> CREATOR;
7066    field @NonNull public static final android.location.provider.ProviderRequest EMPTY_REQUEST;
7067    field public static final long INTERVAL_DISABLED = 9223372036854775807L; // 0x7fffffffffffffffL
7068  }
7069
7070  public static final class ProviderRequest.Builder {
7071    ctor public ProviderRequest.Builder();
7072    method @NonNull public android.location.provider.ProviderRequest build();
7073    method @NonNull public android.location.provider.ProviderRequest.Builder setIntervalMillis(@IntRange(from=0) long);
7074    method @NonNull public android.location.provider.ProviderRequest.Builder setLocationSettingsIgnored(boolean);
7075    method @NonNull public android.location.provider.ProviderRequest.Builder setLowPower(boolean);
7076    method @NonNull public android.location.provider.ProviderRequest.Builder setMaxUpdateDelayMillis(@IntRange(from=0) long);
7077    method @NonNull public android.location.provider.ProviderRequest.Builder setQuality(int);
7078    method @NonNull public android.location.provider.ProviderRequest.Builder setWorkSource(@NonNull android.os.WorkSource);
7079  }
7080
7081  public static interface ProviderRequest.ChangedListener {
7082    method public void onProviderRequestChanged(@NonNull String, @NonNull android.location.provider.ProviderRequest);
7083  }
7084
7085}
7086
7087package android.media {
7088
7089  public final class AudioAttributes implements android.os.Parcelable {
7090    method public int getAllFlags();
7091    method public android.os.Bundle getBundle();
7092    method public int getCapturePreset();
7093    method public int getSystemUsage();
7094    method public static boolean isSystemUsage(int);
7095    field @RequiresPermission(android.Manifest.permission.ACCESS_ULTRASOUND) public static final int CONTENT_TYPE_ULTRASOUND = 1997; // 0x7cd
7096    field public static final int FLAG_BEACON = 8; // 0x8
7097    field public static final int FLAG_BYPASS_INTERRUPTION_POLICY = 64; // 0x40
7098    field public static final int FLAG_BYPASS_MUTE = 128; // 0x80
7099    field public static final int FLAG_HW_HOTWORD = 32; // 0x20
7100    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_ANNOUNCEMENT = 1003; // 0x3eb
7101    field @RequiresPermission(allOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public static final int USAGE_CALL_ASSISTANT = 17; // 0x11
7102    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_EMERGENCY = 1000; // 0x3e8
7103    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_SAFETY = 1001; // 0x3e9
7104    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_VEHICLE_STATUS = 1002; // 0x3ea
7105  }
7106
7107  public static class AudioAttributes.Builder {
7108    method public android.media.AudioAttributes.Builder addBundle(@NonNull android.os.Bundle);
7109    method public android.media.AudioAttributes.Builder setCapturePreset(int);
7110    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioAttributes.Builder setHotwordModeEnabled(boolean);
7111    method public android.media.AudioAttributes.Builder setInternalCapturePreset(int);
7112    method @NonNull public android.media.AudioAttributes.Builder setInternalContentType(int);
7113    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioAttributes.Builder setSystemUsage(int);
7114  }
7115
7116  public class AudioDescriptor implements android.os.Parcelable {
7117    ctor public AudioDescriptor(int, int, @NonNull byte[]);
7118  }
7119
7120  public final class AudioDeviceAttributes implements android.os.Parcelable {
7121    ctor public AudioDeviceAttributes(@NonNull android.media.AudioDeviceInfo);
7122    ctor public AudioDeviceAttributes(int, int, @NonNull String);
7123    ctor public AudioDeviceAttributes(int, int, @NonNull String, @NonNull String, @NonNull java.util.List<android.media.AudioProfile>, @NonNull java.util.List<android.media.AudioDescriptor>);
7124    method public int describeContents();
7125    method public boolean equalTypeAddress(@Nullable Object);
7126    method @NonNull public String getAddress();
7127    method @NonNull public java.util.List<android.media.AudioDescriptor> getAudioDescriptors();
7128    method @NonNull public java.util.List<android.media.AudioProfile> getAudioProfiles();
7129    method @NonNull public String getName();
7130    method public int getRole();
7131    method public int getType();
7132    method public void writeToParcel(@NonNull android.os.Parcel, int);
7133    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioDeviceAttributes> CREATOR;
7134    field public static final int ROLE_INPUT = 1; // 0x1
7135    field public static final int ROLE_OUTPUT = 2; // 0x2
7136  }
7137
7138  public final class AudioFocusInfo implements android.os.Parcelable {
7139    method public int describeContents();
7140    method @NonNull public android.media.AudioAttributes getAttributes();
7141    method @NonNull public String getClientId();
7142    method public int getClientUid();
7143    method public int getFlags();
7144    method public int getGainRequest();
7145    method public int getLossReceived();
7146    method @NonNull public String getPackageName();
7147    method public void writeToParcel(android.os.Parcel, int);
7148    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioFocusInfo> CREATOR;
7149  }
7150
7151  public final class AudioFocusRequest {
7152    method public boolean locksFocus();
7153  }
7154
7155  public static final class AudioFocusRequest.Builder {
7156    method @NonNull public android.media.AudioFocusRequest.Builder setLocksFocus(boolean);
7157  }
7158
7159  public class AudioManager {
7160    method @Deprecated public int abandonAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes);
7161    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void addAssistantServicesUids(@NonNull int[]);
7162    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;
7163    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;
7164    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;
7165    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void cancelMuteAwaitConnection(@NonNull android.media.AudioDeviceAttributes) throws java.lang.IllegalStateException;
7166    method public void clearAudioServerStateCallback();
7167    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean clearPreferredDevicesForCapturePreset(int);
7168    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int dispatchAudioFocusChange(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy);
7169    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int[] getActiveAssistantServicesUids();
7170    method @IntRange(from=0) public long getAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo);
7171    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int[] getAssistantServicesUids();
7172    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static java.util.List<android.media.audiopolicy.AudioProductStrategy> getAudioProductStrategies();
7173    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static java.util.List<android.media.audiopolicy.AudioVolumeGroup> getAudioVolumeGroups();
7174    method @NonNull @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public android.media.AudioRecord getCallDownlinkExtractionAudioRecord(@NonNull android.media.AudioFormat);
7175    method @NonNull @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public android.media.AudioTrack getCallUplinkInjectionAudioTrack(@NonNull android.media.AudioFormat);
7176    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, "android.permission.QUERY_AUDIO_STATE"}) public int getDeviceVolumeBehavior(@NonNull android.media.AudioDeviceAttributes);
7177    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);
7178    method @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public int getLastAudibleStreamVolume(int);
7179    method @IntRange(from=0) public long getMaxAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo);
7180    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMaxVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
7181    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMinVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
7182    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioDeviceAttributes getMutingExpectedDevice();
7183    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioDeviceAttributes getPreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
7184    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceAttributes> getPreferredDevicesForCapturePreset(int);
7185    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceAttributes> getPreferredDevicesForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
7186    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int[] getSupportedSystemUsages();
7187    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
7188    method public boolean isAudioServerRunning();
7189    method public boolean isHdmiSystemAudioSupported();
7190    method @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public boolean isPstnCallAudioInterceptable();
7191    method @RequiresPermission(android.Manifest.permission.ACCESS_ULTRASOUND) public boolean isUltrasoundSupported();
7192    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;
7193    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int registerAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy);
7194    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void registerMuteAwaitConnectionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.MuteAwaitConnectionCallback);
7195    method public void registerVolumeGroupCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.VolumeGroupCallback);
7196    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeAssistantServicesUids(@NonNull int[]);
7197    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDeviceForStrategyChangedListener(@NonNull android.media.AudioManager.OnPreferredDeviceForStrategyChangedListener);
7198    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDevicesForCapturePresetChangedListener(@NonNull android.media.AudioManager.OnPreferredDevicesForCapturePresetChangedListener);
7199    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDevicesForStrategyChangedListener(@NonNull android.media.AudioManager.OnPreferredDevicesForStrategyChangedListener);
7200    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean removePreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
7201    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;
7202    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;
7203    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int requestAudioFocus(@NonNull android.media.AudioFocusRequest, @Nullable android.media.audiopolicy.AudioPolicy);
7204    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setActiveAssistantServiceUids(@NonNull int[]);
7205    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo, @IntRange(from=0) long);
7206    method public void setAudioServerStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.AudioServerStateCallback);
7207    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setDeviceVolumeBehavior(@NonNull android.media.AudioDeviceAttributes, int);
7208    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setFocusRequestResult(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy);
7209    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDeviceForCapturePreset(int, @NonNull android.media.AudioDeviceAttributes);
7210    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull android.media.AudioDeviceAttributes);
7211    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDevicesForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
7212    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setSupportedSystemUsages(@NonNull int[]);
7213    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setVolumeIndexForAttributes(@NonNull android.media.AudioAttributes, int, int);
7214    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy);
7215    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterAudioPolicyAsync(@NonNull android.media.audiopolicy.AudioPolicy);
7216    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterMuteAwaitConnectionCallback(@NonNull android.media.AudioManager.MuteAwaitConnectionCallback);
7217    method public void unregisterVolumeGroupCallback(@NonNull android.media.AudioManager.VolumeGroupCallback);
7218    field public static final String ACTION_VOLUME_CHANGED = "android.media.VOLUME_CHANGED_ACTION";
7219    field public static final int AUDIOFOCUS_FLAG_DELAY_OK = 1; // 0x1
7220    field public static final int AUDIOFOCUS_FLAG_LOCK = 4; // 0x4
7221    field public static final int AUDIOFOCUS_FLAG_PAUSES_ON_DUCKABLE_LOSS = 2; // 0x2
7222    field public static final int DEVICE_VOLUME_BEHAVIOR_ABSOLUTE = 3; // 0x3
7223    field public static final int DEVICE_VOLUME_BEHAVIOR_ABSOLUTE_MULTI_MODE = 4; // 0x4
7224    field public static final int DEVICE_VOLUME_BEHAVIOR_FIXED = 2; // 0x2
7225    field public static final int DEVICE_VOLUME_BEHAVIOR_FULL = 1; // 0x1
7226    field public static final int DEVICE_VOLUME_BEHAVIOR_VARIABLE = 0; // 0x0
7227    field public static final String EXTRA_VOLUME_STREAM_TYPE = "android.media.EXTRA_VOLUME_STREAM_TYPE";
7228    field public static final String EXTRA_VOLUME_STREAM_VALUE = "android.media.EXTRA_VOLUME_STREAM_VALUE";
7229    field public static final int FLAG_BLUETOOTH_ABS_VOLUME = 64; // 0x40
7230    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int STREAM_ASSISTANT = 11; // 0xb
7231    field public static final int STREAM_BLUETOOTH_SCO = 6; // 0x6
7232    field public static final int SUCCESS = 0; // 0x0
7233  }
7234
7235  public abstract static class AudioManager.AudioServerStateCallback {
7236    ctor public AudioManager.AudioServerStateCallback();
7237    method public void onAudioServerDown();
7238    method public void onAudioServerUp();
7239  }
7240
7241  public abstract static class AudioManager.MuteAwaitConnectionCallback {
7242    ctor public AudioManager.MuteAwaitConnectionCallback();
7243    method public void onMutedUntilConnection(@NonNull android.media.AudioDeviceAttributes, @NonNull int[]);
7244    method public void onUnmutedEvent(int, @NonNull android.media.AudioDeviceAttributes, @NonNull int[]);
7245    field public static final int EVENT_CANCEL = 3; // 0x3
7246    field public static final int EVENT_CONNECTION = 1; // 0x1
7247    field public static final int EVENT_TIMEOUT = 2; // 0x2
7248  }
7249
7250  @Deprecated public static interface AudioManager.OnPreferredDeviceForStrategyChangedListener {
7251    method @Deprecated public void onPreferredDeviceForStrategyChanged(@NonNull android.media.audiopolicy.AudioProductStrategy, @Nullable android.media.AudioDeviceAttributes);
7252  }
7253
7254  public static interface AudioManager.OnPreferredDevicesForCapturePresetChangedListener {
7255    method public void onPreferredDevicesForCapturePresetChanged(int, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
7256  }
7257
7258  public static interface AudioManager.OnPreferredDevicesForStrategyChangedListener {
7259    method public void onPreferredDevicesForStrategyChanged(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
7260  }
7261
7262  public abstract static class AudioManager.VolumeGroupCallback {
7263    ctor public AudioManager.VolumeGroupCallback();
7264    method public void onAudioVolumeGroupChanged(int, int);
7265  }
7266
7267  public final class AudioPlaybackConfiguration implements android.os.Parcelable {
7268    method public int getClientPid();
7269    method public int getClientUid();
7270    method public int getPlayerInterfaceId();
7271    method public android.media.PlayerProxy getPlayerProxy();
7272    method public int getPlayerState();
7273    method public int getPlayerType();
7274    method @IntRange(from=0) public int getSessionId();
7275    method public boolean isActive();
7276    field public static final int PLAYER_STATE_IDLE = 1; // 0x1
7277    field public static final int PLAYER_STATE_PAUSED = 3; // 0x3
7278    field public static final int PLAYER_STATE_RELEASED = 0; // 0x0
7279    field public static final int PLAYER_STATE_STARTED = 2; // 0x2
7280    field public static final int PLAYER_STATE_STOPPED = 4; // 0x4
7281    field public static final int PLAYER_STATE_UNKNOWN = -1; // 0xffffffff
7282    field public static final int PLAYER_TYPE_AAUDIO = 13; // 0xd
7283    field public static final int PLAYER_TYPE_JAM_AUDIOTRACK = 1; // 0x1
7284    field public static final int PLAYER_TYPE_JAM_MEDIAPLAYER = 2; // 0x2
7285    field public static final int PLAYER_TYPE_JAM_SOUNDPOOL = 3; // 0x3
7286    field public static final int PLAYER_TYPE_SLES_AUDIOPLAYER_BUFFERQUEUE = 11; // 0xb
7287    field public static final int PLAYER_TYPE_SLES_AUDIOPLAYER_URI_FD = 12; // 0xc
7288    field public static final int PLAYER_TYPE_UNKNOWN = -1; // 0xffffffff
7289  }
7290
7291  public class AudioProfile implements android.os.Parcelable {
7292    ctor public AudioProfile(int, @NonNull int[], @NonNull int[], @NonNull int[], int);
7293  }
7294
7295  public class AudioRecord implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection {
7296    ctor @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public AudioRecord(android.media.AudioAttributes, android.media.AudioFormat, int, int) throws java.lang.IllegalArgumentException;
7297    method public static long getMaxSharedAudioHistoryMillis();
7298    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.MediaSyncEvent shareAudioHistory(@NonNull String, @IntRange(from=0) long);
7299  }
7300
7301  public static class AudioRecord.Builder {
7302    method public android.media.AudioRecord.Builder setAudioAttributes(@NonNull android.media.AudioAttributes) throws java.lang.IllegalArgumentException;
7303    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioRecord.Builder setMaxSharedAudioHistoryMillis(long) throws java.lang.IllegalArgumentException;
7304    method public android.media.AudioRecord.Builder setSessionId(int) throws java.lang.IllegalArgumentException;
7305    method @NonNull public android.media.AudioRecord.Builder setSharedAudioEvent(@NonNull android.media.MediaSyncEvent) throws java.lang.IllegalArgumentException;
7306  }
7307
7308  public final class AudioRecordingConfiguration implements android.os.Parcelable {
7309    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getClientUid();
7310  }
7311
7312  public class AudioTrack implements android.media.AudioRouting android.media.VolumeAutomation {
7313    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int ENCAPSULATION_MODE_HANDLE = 2; // 0x2
7314  }
7315
7316  public static class AudioTrack.Builder {
7317    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioTrack.Builder setTunerConfiguration(@NonNull android.media.AudioTrack.TunerConfiguration);
7318  }
7319
7320  public static class AudioTrack.TunerConfiguration {
7321    ctor @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public AudioTrack.TunerConfiguration(@IntRange(from=0) int, @IntRange(from=1) int);
7322    method @IntRange(from=1) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getContentId();
7323    method @IntRange(from=1) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getSyncId();
7324    field public static final int CONTENT_ID_NONE = 0; // 0x0
7325  }
7326
7327  public class HwAudioSource {
7328    method public boolean isPlaying();
7329    method public void start();
7330    method public void stop();
7331  }
7332
7333  public static final class HwAudioSource.Builder {
7334    ctor public HwAudioSource.Builder();
7335    method @NonNull public android.media.HwAudioSource build();
7336    method @NonNull public android.media.HwAudioSource.Builder setAudioAttributes(@NonNull android.media.AudioAttributes);
7337    method @NonNull public android.media.HwAudioSource.Builder setAudioDeviceInfo(@NonNull android.media.AudioDeviceInfo);
7338  }
7339
7340  public final class MediaCodec {
7341    method @NonNull @RequiresPermission("android.permission.MEDIA_RESOURCE_OVERRIDE_PID") public static android.media.MediaCodec createByCodecNameForClient(@NonNull String, int, int) throws java.io.IOException;
7342  }
7343
7344  public class MediaPlayer implements android.media.AudioRouting android.media.VolumeAutomation {
7345    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);
7346  }
7347
7348  public static interface MediaPlayer.OnRtpRxNoticeListener {
7349    method public void onRtpRxNotice(@NonNull android.media.MediaPlayer, int, @NonNull int[]);
7350  }
7351
7352  public final class MediaRecorder.AudioSource {
7353    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int ECHO_REFERENCE = 1997; // 0x7cd
7354    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public static final int HOTWORD = 1999; // 0x7cf
7355    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int RADIO_TUNER = 1998; // 0x7ce
7356    field @RequiresPermission(android.Manifest.permission.ACCESS_ULTRASOUND) public static final int ULTRASOUND = 2000; // 0x7d0
7357  }
7358
7359  public final class MediaRouter2 {
7360    method @NonNull public java.util.List<android.media.MediaRoute2Info> getAllRoutes();
7361    method @Nullable public String getClientPackageName();
7362    method @Nullable @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public static android.media.MediaRouter2 getInstance(@NonNull android.content.Context, @NonNull String);
7363    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void setRouteVolume(@NonNull android.media.MediaRoute2Info, int);
7364    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void startScan();
7365    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void stopScan();
7366    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void transfer(@NonNull android.media.MediaRouter2.RoutingController, @NonNull android.media.MediaRoute2Info);
7367  }
7368
7369  public abstract static class MediaRouter2.RouteCallback {
7370    method public void onPreferredFeaturesChanged(@NonNull java.util.List<java.lang.String>);
7371  }
7372
7373  public class MediaSyncEvent implements android.os.Parcelable {
7374    field public static final int SYNC_EVENT_SHARE_AUDIO_HISTORY = 100; // 0x64
7375  }
7376
7377  public final class MediaTranscodingManager {
7378    method @Nullable public android.media.MediaTranscodingManager.TranscodingSession enqueueRequest(@NonNull android.media.MediaTranscodingManager.TranscodingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.media.MediaTranscodingManager.OnTranscodingFinishedListener);
7379  }
7380
7381  @java.lang.FunctionalInterface public static interface MediaTranscodingManager.OnTranscodingFinishedListener {
7382    method public void onTranscodingFinished(@NonNull android.media.MediaTranscodingManager.TranscodingSession);
7383  }
7384
7385  public abstract static class MediaTranscodingManager.TranscodingRequest {
7386    method public int getClientPid();
7387    method public int getClientUid();
7388    method @Nullable public android.os.ParcelFileDescriptor getDestinationFileDescriptor();
7389    method @NonNull public android.net.Uri getDestinationUri();
7390    method @Nullable public android.os.ParcelFileDescriptor getSourceFileDescriptor();
7391    method @NonNull public android.net.Uri getSourceUri();
7392  }
7393
7394  public static class MediaTranscodingManager.TranscodingRequest.VideoFormatResolver {
7395    ctor public MediaTranscodingManager.TranscodingRequest.VideoFormatResolver(@NonNull android.media.ApplicationMediaCapabilities, @NonNull android.media.MediaFormat);
7396    method @Nullable public android.media.MediaFormat resolveVideoFormat();
7397    method public boolean shouldTranscode();
7398  }
7399
7400  public static final class MediaTranscodingManager.TranscodingSession {
7401    method public boolean addClientUid(int);
7402    method public void cancel();
7403    method @NonNull public java.util.List<java.lang.Integer> getClientUids();
7404    method public int getErrorCode();
7405    method @IntRange(from=0, to=100) public int getProgress();
7406    method public int getResult();
7407    method public int getSessionId();
7408    method public int getStatus();
7409    method public void setOnProgressUpdateListener(@NonNull java.util.concurrent.Executor, @Nullable android.media.MediaTranscodingManager.TranscodingSession.OnProgressUpdateListener);
7410    field public static final int ERROR_DROPPED_BY_SERVICE = 1; // 0x1
7411    field public static final int ERROR_NONE = 0; // 0x0
7412    field public static final int ERROR_SERVICE_DIED = 2; // 0x2
7413    field public static final int RESULT_CANCELED = 4; // 0x4
7414    field public static final int RESULT_ERROR = 3; // 0x3
7415    field public static final int RESULT_NONE = 1; // 0x1
7416    field public static final int RESULT_SUCCESS = 2; // 0x2
7417    field public static final int STATUS_FINISHED = 3; // 0x3
7418    field public static final int STATUS_PAUSED = 4; // 0x4
7419    field public static final int STATUS_PENDING = 1; // 0x1
7420    field public static final int STATUS_RUNNING = 2; // 0x2
7421  }
7422
7423  @java.lang.FunctionalInterface public static interface MediaTranscodingManager.TranscodingSession.OnProgressUpdateListener {
7424    method public void onProgressUpdate(@NonNull android.media.MediaTranscodingManager.TranscodingSession, @IntRange(from=0, to=100) int);
7425  }
7426
7427  public static final class MediaTranscodingManager.VideoTranscodingRequest extends android.media.MediaTranscodingManager.TranscodingRequest {
7428    method @NonNull public android.media.MediaFormat getVideoTrackFormat();
7429  }
7430
7431  public static final class MediaTranscodingManager.VideoTranscodingRequest.Builder {
7432    ctor public MediaTranscodingManager.VideoTranscodingRequest.Builder(@NonNull android.net.Uri, @NonNull android.net.Uri, @NonNull android.media.MediaFormat);
7433    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest build();
7434    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setClientPid(int);
7435    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setClientUid(int);
7436    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setDestinationFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
7437    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setSourceFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
7438  }
7439
7440  public final class NearbyDevice implements android.os.Parcelable {
7441    ctor public NearbyDevice(@NonNull String, int);
7442    method public int describeContents();
7443    method @NonNull public String getMediaRoute2Id();
7444    method public int getRangeZone();
7445    method public void writeToParcel(@NonNull android.os.Parcel, int);
7446    field @NonNull public static final android.os.Parcelable.Creator<android.media.NearbyDevice> CREATOR;
7447    field public static final int RANGE_CLOSE = 3; // 0x3
7448    field public static final int RANGE_FAR = 1; // 0x1
7449    field public static final int RANGE_LONG = 2; // 0x2
7450    field public static final int RANGE_UNKNOWN = 0; // 0x0
7451    field public static final int RANGE_WITHIN_REACH = 4; // 0x4
7452  }
7453
7454  public interface NearbyMediaDevicesProvider {
7455    method public void registerNearbyDevicesCallback(@NonNull java.util.function.Consumer<java.util.List<android.media.NearbyDevice>>);
7456    method public void unregisterNearbyDevicesCallback(@NonNull java.util.function.Consumer<java.util.List<android.media.NearbyDevice>>);
7457  }
7458
7459  public class PlayerProxy {
7460    method public void pause();
7461    method public void setPan(float);
7462    method public void setStartDelayMs(int);
7463    method public void setVolume(float);
7464    method public void start();
7465    method public void stop();
7466  }
7467
7468  public class RingtoneManager {
7469    method @RequiresPermission(android.Manifest.permission.WRITE_SETTINGS) public static void ensureDefaultRingtones(@NonNull android.content.Context);
7470  }
7471
7472  public final class RouteDiscoveryPreference implements android.os.Parcelable {
7473    field public static final android.media.RouteDiscoveryPreference EMPTY;
7474  }
7475
7476  public class Spatializer {
7477    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void addCompatibleAudioDevice(@NonNull android.media.AudioDeviceAttributes);
7478    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void addOnHeadTrackingModeChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnHeadTrackingModeChangedListener);
7479    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void clearOnHeadToSoundstagePoseUpdatedListener();
7480    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void clearOnSpatializerOutputChangedListener();
7481    method @NonNull @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public java.util.List<android.media.AudioDeviceAttributes> getCompatibleAudioDevices();
7482    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getDesiredHeadTrackingMode();
7483    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void getEffectParameter(int, @NonNull byte[]);
7484    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getHeadTrackingMode();
7485    method @IntRange(from=0) @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getOutput();
7486    method @NonNull @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public java.util.List<java.lang.Integer> getSupportedHeadTrackingModes();
7487    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public boolean hasHeadTracker(@NonNull android.media.AudioDeviceAttributes);
7488    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public boolean isAvailableForDevice(@NonNull android.media.AudioDeviceAttributes);
7489    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public boolean isHeadTrackerEnabled(@NonNull android.media.AudioDeviceAttributes);
7490    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void recenterHeadTracker();
7491    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void removeCompatibleAudioDevice(@NonNull android.media.AudioDeviceAttributes);
7492    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void removeOnHeadTrackingModeChangedListener(@NonNull android.media.Spatializer.OnHeadTrackingModeChangedListener);
7493    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setDesiredHeadTrackingMode(int);
7494    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setEffectParameter(int, @NonNull byte[]);
7495    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setEnabled(boolean);
7496    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setGlobalTransform(@NonNull float[]);
7497    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setHeadTrackerEnabled(boolean, @NonNull android.media.AudioDeviceAttributes);
7498    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setOnHeadToSoundstagePoseUpdatedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnHeadToSoundstagePoseUpdatedListener);
7499    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setOnSpatializerOutputChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnSpatializerOutputChangedListener);
7500    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_DISABLED = -1; // 0xffffffff
7501    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_OTHER = 0; // 0x0
7502    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_RELATIVE_DEVICE = 2; // 0x2
7503    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_RELATIVE_WORLD = 1; // 0x1
7504    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_UNSUPPORTED = -2; // 0xfffffffe
7505  }
7506
7507  public static interface Spatializer.OnHeadToSoundstagePoseUpdatedListener {
7508    method public void onHeadToSoundstagePoseUpdated(@NonNull android.media.Spatializer, @NonNull float[]);
7509  }
7510
7511  public static interface Spatializer.OnHeadTrackingModeChangedListener {
7512    method public void onDesiredHeadTrackingModeChanged(@NonNull android.media.Spatializer, int);
7513    method public void onHeadTrackingModeChanged(@NonNull android.media.Spatializer, int);
7514  }
7515
7516  public static interface Spatializer.OnSpatializerOutputChangedListener {
7517    method public void onSpatializerOutputChanged(@NonNull android.media.Spatializer, @IntRange(from=0) int);
7518  }
7519
7520}
7521
7522package android.media.audiofx {
7523
7524  public class AudioEffect {
7525    ctor @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public AudioEffect(@NonNull java.util.UUID, @NonNull android.media.AudioDeviceAttributes);
7526    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static boolean isEffectSupportedForDevice(@NonNull java.util.UUID, @NonNull android.media.AudioDeviceAttributes);
7527  }
7528
7529}
7530
7531package android.media.audiopolicy {
7532
7533  public class AudioMix {
7534    method public int getMixState();
7535    field public static final int MIX_STATE_DISABLED = -1; // 0xffffffff
7536    field public static final int MIX_STATE_IDLE = 0; // 0x0
7537    field public static final int MIX_STATE_MIXING = 1; // 0x1
7538    field public static final int ROUTE_FLAG_LOOP_BACK = 2; // 0x2
7539    field public static final int ROUTE_FLAG_RENDER = 1; // 0x1
7540  }
7541
7542  public static class AudioMix.Builder {
7543    ctor public AudioMix.Builder(android.media.audiopolicy.AudioMixingRule) throws java.lang.IllegalArgumentException;
7544    method public android.media.audiopolicy.AudioMix build() throws java.lang.IllegalArgumentException;
7545    method public android.media.audiopolicy.AudioMix.Builder setDevice(@NonNull android.media.AudioDeviceInfo) throws java.lang.IllegalArgumentException;
7546    method public android.media.audiopolicy.AudioMix.Builder setFormat(android.media.AudioFormat) throws java.lang.IllegalArgumentException;
7547    method public android.media.audiopolicy.AudioMix.Builder setRouteFlags(int) throws java.lang.IllegalArgumentException;
7548  }
7549
7550  public class AudioMixingRule {
7551    method public int getTargetMixRole();
7552    field public static final int MIX_ROLE_INJECTOR = 1; // 0x1
7553    field public static final int MIX_ROLE_PLAYERS = 0; // 0x0
7554    field public static final int RULE_MATCH_ATTRIBUTE_CAPTURE_PRESET = 2; // 0x2
7555    field public static final int RULE_MATCH_ATTRIBUTE_USAGE = 1; // 0x1
7556    field public static final int RULE_MATCH_UID = 4; // 0x4
7557    field public static final int RULE_MATCH_USERID = 8; // 0x8
7558  }
7559
7560  public static class AudioMixingRule.Builder {
7561    ctor public AudioMixingRule.Builder();
7562    method public android.media.audiopolicy.AudioMixingRule.Builder addMixRule(int, Object) throws java.lang.IllegalArgumentException;
7563    method public android.media.audiopolicy.AudioMixingRule.Builder addRule(android.media.AudioAttributes, int) throws java.lang.IllegalArgumentException;
7564    method @NonNull public android.media.audiopolicy.AudioMixingRule.Builder allowPrivilegedPlaybackCapture(boolean);
7565    method public android.media.audiopolicy.AudioMixingRule build();
7566    method public android.media.audiopolicy.AudioMixingRule.Builder excludeMixRule(int, Object) throws java.lang.IllegalArgumentException;
7567    method public android.media.audiopolicy.AudioMixingRule.Builder excludeRule(android.media.AudioAttributes, int) throws java.lang.IllegalArgumentException;
7568    method @NonNull public android.media.audiopolicy.AudioMixingRule.Builder setTargetMixRole(int);
7569  }
7570
7571  public class AudioPolicy {
7572    method public int attachMixes(@NonNull java.util.List<android.media.audiopolicy.AudioMix>);
7573    method public android.media.AudioRecord createAudioRecordSink(android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
7574    method public android.media.AudioTrack createAudioTrackSource(android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
7575    method public int detachMixes(@NonNull java.util.List<android.media.audiopolicy.AudioMix>);
7576    method public int getFocusDuckingBehavior();
7577    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioFocusInfo> getFocusStack();
7578    method public int getStatus();
7579    method public boolean removeUidDeviceAffinity(int);
7580    method public boolean removeUserIdDeviceAffinity(int);
7581    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean sendFocusLoss(@NonNull android.media.AudioFocusInfo) throws java.lang.IllegalStateException;
7582    method public int setFocusDuckingBehavior(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
7583    method public void setRegistration(String);
7584    method public boolean setUidDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>);
7585    method public boolean setUserIdDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>);
7586    method public String toLogFriendlyString();
7587    field public static final int FOCUS_POLICY_DUCKING_DEFAULT = 0; // 0x0
7588    field public static final int FOCUS_POLICY_DUCKING_IN_APP = 0; // 0x0
7589    field public static final int FOCUS_POLICY_DUCKING_IN_POLICY = 1; // 0x1
7590    field public static final int POLICY_STATUS_REGISTERED = 2; // 0x2
7591    field public static final int POLICY_STATUS_UNREGISTERED = 1; // 0x1
7592  }
7593
7594  public abstract static class AudioPolicy.AudioPolicyFocusListener {
7595    ctor public AudioPolicy.AudioPolicyFocusListener();
7596    method public void onAudioFocusAbandon(android.media.AudioFocusInfo);
7597    method public void onAudioFocusGrant(android.media.AudioFocusInfo, int);
7598    method public void onAudioFocusLoss(android.media.AudioFocusInfo, boolean);
7599    method public void onAudioFocusRequest(android.media.AudioFocusInfo, int);
7600  }
7601
7602  public abstract static class AudioPolicy.AudioPolicyStatusListener {
7603    ctor public AudioPolicy.AudioPolicyStatusListener();
7604    method public void onMixStateUpdate(android.media.audiopolicy.AudioMix);
7605    method public void onStatusChange();
7606  }
7607
7608  public abstract static class AudioPolicy.AudioPolicyVolumeCallback {
7609    ctor public AudioPolicy.AudioPolicyVolumeCallback();
7610    method public void onVolumeAdjustment(int);
7611  }
7612
7613  public static class AudioPolicy.Builder {
7614    ctor public AudioPolicy.Builder(android.content.Context);
7615    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder addMix(@NonNull android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
7616    method @NonNull public android.media.audiopolicy.AudioPolicy build();
7617    method public void setAudioPolicyFocusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyFocusListener);
7618    method public void setAudioPolicyStatusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyStatusListener);
7619    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setAudioPolicyVolumeCallback(@NonNull android.media.audiopolicy.AudioPolicy.AudioPolicyVolumeCallback);
7620    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setIsAudioFocusPolicy(boolean);
7621    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setLooper(@NonNull android.os.Looper) throws java.lang.IllegalArgumentException;
7622  }
7623
7624  public final class AudioProductStrategy implements android.os.Parcelable {
7625    method @NonNull public static android.media.audiopolicy.AudioProductStrategy createInvalidAudioProductStrategy(int);
7626    method public int describeContents();
7627    method @NonNull public android.media.AudioAttributes getAudioAttributes();
7628    method public int getId();
7629    method public boolean supportsAudioAttributes(@NonNull android.media.AudioAttributes);
7630    method public void writeToParcel(@NonNull android.os.Parcel, int);
7631    field @NonNull public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioProductStrategy> CREATOR;
7632  }
7633
7634  public final class AudioVolumeGroup implements android.os.Parcelable {
7635    method public int describeContents();
7636    method @NonNull public java.util.List<android.media.AudioAttributes> getAudioAttributes();
7637    method public int getId();
7638    method @NonNull public int[] getLegacyStreamTypes();
7639    method @NonNull public String name();
7640    method public void writeToParcel(@NonNull android.os.Parcel, int);
7641    field public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioVolumeGroup> CREATOR;
7642    field public static final int DEFAULT_VOLUME_GROUP = -1; // 0xffffffff
7643  }
7644
7645}
7646
7647package android.media.musicrecognition {
7648
7649  public class MusicRecognitionManager {
7650    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);
7651    field public static final int RECOGNITION_FAILED_AUDIO_UNAVAILABLE = 7; // 0x7
7652    field public static final int RECOGNITION_FAILED_NOT_FOUND = 1; // 0x1
7653    field public static final int RECOGNITION_FAILED_NO_CONNECTIVITY = 2; // 0x2
7654    field public static final int RECOGNITION_FAILED_SERVICE_KILLED = 5; // 0x5
7655    field public static final int RECOGNITION_FAILED_SERVICE_UNAVAILABLE = 3; // 0x3
7656    field public static final int RECOGNITION_FAILED_TIMEOUT = 6; // 0x6
7657    field public static final int RECOGNITION_FAILED_UNKNOWN = -1; // 0xffffffff
7658  }
7659
7660  public static interface MusicRecognitionManager.RecognitionCallback {
7661    method public void onAudioStreamClosed();
7662    method public void onRecognitionFailed(@NonNull android.media.musicrecognition.RecognitionRequest, int);
7663    method public void onRecognitionSucceeded(@NonNull android.media.musicrecognition.RecognitionRequest, @NonNull android.media.MediaMetadata, @Nullable android.os.Bundle);
7664  }
7665
7666  public abstract class MusicRecognitionService extends android.app.Service {
7667    ctor public MusicRecognitionService();
7668    method public abstract void onRecognize(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @NonNull android.media.musicrecognition.MusicRecognitionService.Callback);
7669  }
7670
7671  public static interface MusicRecognitionService.Callback {
7672    method public void onRecognitionFailed(int);
7673    method public void onRecognitionSucceeded(@NonNull android.media.MediaMetadata, @Nullable android.os.Bundle);
7674  }
7675
7676  public final class RecognitionRequest implements android.os.Parcelable {
7677    method public int describeContents();
7678    method @NonNull public android.media.AudioAttributes getAudioAttributes();
7679    method @NonNull public android.media.AudioFormat getAudioFormat();
7680    method public int getCaptureSession();
7681    method public int getIgnoreBeginningFrames();
7682    method public int getMaxAudioLengthSeconds();
7683    method public void writeToParcel(@NonNull android.os.Parcel, int);
7684    field @NonNull public static final android.os.Parcelable.Creator<android.media.musicrecognition.RecognitionRequest> CREATOR;
7685  }
7686
7687  public static final class RecognitionRequest.Builder {
7688    ctor public RecognitionRequest.Builder();
7689    method @NonNull public android.media.musicrecognition.RecognitionRequest build();
7690    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setAudioAttributes(@NonNull android.media.AudioAttributes);
7691    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setAudioFormat(@NonNull android.media.AudioFormat);
7692    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setCaptureSession(int);
7693    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setIgnoreBeginningFrames(int);
7694    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setMaxAudioLengthSeconds(int);
7695  }
7696
7697}
7698
7699package android.media.session {
7700
7701  public final class MediaSessionManager {
7702    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void addOnMediaKeyEventDispatchedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.session.MediaSessionManager.OnMediaKeyEventDispatchedListener);
7703    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void removeOnMediaKeyEventDispatchedListener(@NonNull android.media.session.MediaSessionManager.OnMediaKeyEventDispatchedListener);
7704    method @RequiresPermission(android.Manifest.permission.SET_MEDIA_KEY_LISTENER) public void setOnMediaKeyListener(android.media.session.MediaSessionManager.OnMediaKeyListener, @Nullable android.os.Handler);
7705    method @RequiresPermission(android.Manifest.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER) public void setOnVolumeKeyLongPressListener(android.media.session.MediaSessionManager.OnVolumeKeyLongPressListener, @Nullable android.os.Handler);
7706  }
7707
7708  public static interface MediaSessionManager.OnMediaKeyEventDispatchedListener {
7709    method public void onMediaKeyEventDispatched(@NonNull android.view.KeyEvent, @NonNull String, @Nullable android.media.session.MediaSession.Token);
7710  }
7711
7712  public static interface MediaSessionManager.OnMediaKeyListener {
7713    method public boolean onMediaKey(android.view.KeyEvent);
7714  }
7715
7716  public static interface MediaSessionManager.OnVolumeKeyLongPressListener {
7717    method public void onVolumeKeyLongPress(android.view.KeyEvent);
7718  }
7719
7720}
7721
7722package android.media.soundtrigger {
7723
7724  public abstract class SoundTriggerDetectionService extends android.app.Service {
7725    ctor public SoundTriggerDetectionService();
7726    method @MainThread public void onConnected(@NonNull java.util.UUID, @Nullable android.os.Bundle);
7727    method @MainThread public void onDisconnected(@NonNull java.util.UUID, @Nullable android.os.Bundle);
7728    method @MainThread public void onError(@NonNull java.util.UUID, @Nullable android.os.Bundle, int, int);
7729    method @MainThread public void onGenericRecognitionEvent(@NonNull java.util.UUID, @Nullable android.os.Bundle, int, @NonNull android.hardware.soundtrigger.SoundTrigger.RecognitionEvent);
7730    method @MainThread public abstract void onStopOperation(@NonNull java.util.UUID, @Nullable android.os.Bundle, int);
7731    method public final void operationFinished(@Nullable java.util.UUID, int);
7732  }
7733
7734  public final class SoundTriggerDetector {
7735    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public boolean startRecognition(int);
7736    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public boolean stopRecognition();
7737    field public static final int RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS = 2; // 0x2
7738    field public static final int RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO = 1; // 0x1
7739    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_ECHO_CANCELLATION = 4; // 0x4
7740    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_NOISE_SUPPRESSION = 8; // 0x8
7741    field public static final int RECOGNITION_FLAG_RUN_IN_BATTERY_SAVER = 16; // 0x10
7742  }
7743
7744  public abstract static class SoundTriggerDetector.Callback {
7745    ctor public SoundTriggerDetector.Callback();
7746    method public abstract void onAvailabilityChanged(int);
7747    method public abstract void onDetected(@NonNull android.media.soundtrigger.SoundTriggerDetector.EventPayload);
7748    method public abstract void onError();
7749    method public abstract void onRecognitionPaused();
7750    method public abstract void onRecognitionResumed();
7751  }
7752
7753  public static class SoundTriggerDetector.EventPayload {
7754    method @Nullable public android.media.AudioFormat getCaptureAudioFormat();
7755    method @Nullable public byte[] getTriggerAudio();
7756  }
7757
7758  public final class SoundTriggerManager {
7759    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.media.soundtrigger.SoundTriggerDetector createSoundTriggerDetector(java.util.UUID, @NonNull android.media.soundtrigger.SoundTriggerDetector.Callback, @Nullable android.os.Handler);
7760    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public void deleteModel(java.util.UUID);
7761    method public int getDetectionServiceOperationsTimeout();
7762    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.media.soundtrigger.SoundTriggerManager.Model getModel(java.util.UUID);
7763    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.hardware.soundtrigger.SoundTrigger.ModuleProperties getModuleProperties();
7764    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int getParameter(@NonNull java.util.UUID, int);
7765    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.hardware.soundtrigger.SoundTrigger.ModelParamRange queryParameter(@Nullable java.util.UUID, int);
7766    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int setParameter(@Nullable java.util.UUID, int, int);
7767    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public void updateModel(android.media.soundtrigger.SoundTriggerManager.Model);
7768  }
7769
7770  public static class SoundTriggerManager.Model {
7771    method @NonNull public static android.media.soundtrigger.SoundTriggerManager.Model create(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], int);
7772    method @NonNull public static android.media.soundtrigger.SoundTriggerManager.Model create(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[]);
7773    method @Nullable public byte[] getModelData();
7774    method @NonNull public java.util.UUID getModelUuid();
7775    method @NonNull public java.util.UUID getVendorUuid();
7776    method public int getVersion();
7777  }
7778
7779}
7780
7781package android.media.tv {
7782
7783  public final class DvbDeviceInfo implements android.os.Parcelable {
7784    ctor public DvbDeviceInfo(int, int);
7785    method public int describeContents();
7786    method @IntRange(from=0) public int getAdapterId();
7787    method @IntRange(from=0) public int getDeviceId();
7788    method public void writeToParcel(@NonNull android.os.Parcel, int);
7789    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.DvbDeviceInfo> CREATOR;
7790  }
7791
7792  public final class TunedInfo implements android.os.Parcelable {
7793    method public int describeContents();
7794    method public int getAppTag();
7795    method public int getAppType();
7796    method @Nullable public android.net.Uri getChannelUri();
7797    method @NonNull public String getInputId();
7798    method public boolean isMainSession();
7799    method public boolean isRecordingSession();
7800    method public boolean isVisible();
7801    method public void writeToParcel(@NonNull android.os.Parcel, int);
7802    field public static final int APP_TAG_SELF = 0; // 0x0
7803    field public static final int APP_TYPE_NON_SYSTEM = 3; // 0x3
7804    field public static final int APP_TYPE_SELF = 1; // 0x1
7805    field public static final int APP_TYPE_SYSTEM = 2; // 0x2
7806    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TunedInfo> CREATOR;
7807  }
7808
7809  public final class TvContentRatingSystemInfo implements android.os.Parcelable {
7810    method public static android.media.tv.TvContentRatingSystemInfo createTvContentRatingSystemInfo(int, android.content.pm.ApplicationInfo);
7811    method public int describeContents();
7812    method public android.net.Uri getXmlUri();
7813    method public boolean isSystemDefined();
7814    method public void writeToParcel(android.os.Parcel, int);
7815  }
7816
7817  public final class TvContract {
7818    method public static android.net.Uri buildChannelsUriForInput(@Nullable String, boolean);
7819    method public static android.net.Uri buildChannelsUriForInput(@Nullable String, @Nullable String, boolean);
7820    field public static final String ACTION_CHANNEL_BROWSABLE_REQUESTED = "android.media.tv.action.CHANNEL_BROWSABLE_REQUESTED";
7821    field public static final String EXTRA_BLOCKED_PACKAGES = "android.media.tv.extra.BLOCKED_PACKAGES";
7822    field public static final String EXTRA_COLUMN_NAME = "android.media.tv.extra.COLUMN_NAME";
7823    field public static final String EXTRA_DATA_TYPE = "android.media.tv.extra.DATA_TYPE";
7824    field public static final String EXTRA_DEFAULT_VALUE = "android.media.tv.extra.DEFAULT_VALUE";
7825    field public static final String EXTRA_EXISTING_COLUMN_NAMES = "android.media.tv.extra.EXISTING_COLUMN_NAMES";
7826    field public static final String EXTRA_PACKAGE_NAME = "android.media.tv.extra.PACKAGE_NAME";
7827    field public static final String EXTRA_RESULT_CODE = "android.media.tv.extra.RESULT_CODE";
7828    field public static final String METHOD_ADD_COLUMN = "add_column";
7829    field public static final String METHOD_BLOCK_PACKAGE = "block_package";
7830    field public static final String METHOD_GET_BLOCKED_PACKAGES = "get_blocked_packages";
7831    field public static final String METHOD_GET_COLUMNS = "get_columns";
7832    field public static final String METHOD_UNBLOCK_PACKAGE = "unblock_package";
7833    field public static final int RESULT_ERROR_INVALID_ARGUMENT = 2; // 0x2
7834    field public static final int RESULT_ERROR_IO = 1; // 0x1
7835    field public static final int RESULT_OK = 0; // 0x0
7836  }
7837
7838  public static final class TvContract.WatchedPrograms implements android.media.tv.TvContract.BaseTvColumns {
7839    field public static final String COLUMN_CHANNEL_ID = "channel_id";
7840    field public static final String COLUMN_DESCRIPTION = "description";
7841    field public static final String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis";
7842    field public static final String COLUMN_INTERNAL_SESSION_TOKEN = "session_token";
7843    field public static final String COLUMN_INTERNAL_TUNE_PARAMS = "tune_params";
7844    field public static final String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis";
7845    field public static final String COLUMN_TITLE = "title";
7846    field public static final String COLUMN_WATCH_END_TIME_UTC_MILLIS = "watch_end_time_utc_millis";
7847    field public static final String COLUMN_WATCH_START_TIME_UTC_MILLIS = "watch_start_time_utc_millis";
7848    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/watched_program";
7849    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/watched_program";
7850    field public static final android.net.Uri CONTENT_URI;
7851  }
7852
7853  public final class TvInputHardwareInfo implements android.os.Parcelable {
7854    method public int describeContents();
7855    method public String getAudioAddress();
7856    method public int getAudioType();
7857    method public int getCableConnectionStatus();
7858    method public int getDeviceId();
7859    method public int getHdmiPortId();
7860    method public int getType();
7861    method public void readFromParcel(android.os.Parcel);
7862    method public void writeToParcel(android.os.Parcel, int);
7863    field public static final int CABLE_CONNECTION_STATUS_CONNECTED = 1; // 0x1
7864    field public static final int CABLE_CONNECTION_STATUS_DISCONNECTED = 2; // 0x2
7865    field public static final int CABLE_CONNECTION_STATUS_UNKNOWN = 0; // 0x0
7866    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvInputHardwareInfo> CREATOR;
7867    field public static final int TV_INPUT_TYPE_COMPONENT = 6; // 0x6
7868    field public static final int TV_INPUT_TYPE_COMPOSITE = 3; // 0x3
7869    field public static final int TV_INPUT_TYPE_DISPLAY_PORT = 10; // 0xa
7870    field public static final int TV_INPUT_TYPE_DVI = 8; // 0x8
7871    field public static final int TV_INPUT_TYPE_HDMI = 9; // 0x9
7872    field public static final int TV_INPUT_TYPE_OTHER_HARDWARE = 1; // 0x1
7873    field public static final int TV_INPUT_TYPE_SCART = 5; // 0x5
7874    field public static final int TV_INPUT_TYPE_SVIDEO = 4; // 0x4
7875    field public static final int TV_INPUT_TYPE_TUNER = 2; // 0x2
7876    field public static final int TV_INPUT_TYPE_VGA = 7; // 0x7
7877  }
7878
7879  public static final class TvInputHardwareInfo.Builder {
7880    ctor public TvInputHardwareInfo.Builder();
7881    method public android.media.tv.TvInputHardwareInfo.Builder audioAddress(String);
7882    method public android.media.tv.TvInputHardwareInfo.Builder audioType(int);
7883    method public android.media.tv.TvInputHardwareInfo build();
7884    method public android.media.tv.TvInputHardwareInfo.Builder cableConnectionStatus(int);
7885    method public android.media.tv.TvInputHardwareInfo.Builder deviceId(int);
7886    method public android.media.tv.TvInputHardwareInfo.Builder hdmiPortId(int);
7887    method public android.media.tv.TvInputHardwareInfo.Builder type(int);
7888  }
7889
7890  public final class TvInputInfo implements android.os.Parcelable {
7891    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;
7892    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;
7893    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;
7894    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;
7895    method public android.hardware.hdmi.HdmiDeviceInfo getHdmiDeviceInfo();
7896    method public boolean isConnectedToHdmiSwitch();
7897    method public boolean isHardwareInput();
7898    method public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.Context, int);
7899  }
7900
7901  public static final class TvInputInfo.Builder {
7902    method public android.media.tv.TvInputInfo.Builder setHdmiDeviceInfo(android.hardware.hdmi.HdmiDeviceInfo);
7903    method public android.media.tv.TvInputInfo.Builder setIcon(android.graphics.drawable.Icon);
7904    method public android.media.tv.TvInputInfo.Builder setIcon(android.graphics.drawable.Icon, int);
7905    method public android.media.tv.TvInputInfo.Builder setLabel(CharSequence);
7906    method public android.media.tv.TvInputInfo.Builder setLabel(@StringRes int);
7907    method public android.media.tv.TvInputInfo.Builder setParentId(String);
7908    method public android.media.tv.TvInputInfo.Builder setTvInputHardwareInfo(android.media.tv.TvInputHardwareInfo);
7909  }
7910
7911  public static final class TvInputInfo.TvInputSettings {
7912    method public static java.util.Map<java.lang.String,java.lang.String> getCustomLabels(android.content.Context, int);
7913    method public static java.util.Set<java.lang.String> getHiddenTvInputIds(android.content.Context, int);
7914    method public static void putCustomLabels(android.content.Context, java.util.Map<java.lang.String,java.lang.String>, int);
7915    method public static void putHiddenTvInputs(android.content.Context, java.util.Set<java.lang.String>, int);
7916  }
7917
7918  public final class TvInputManager {
7919    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);
7920    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);
7921    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void addBlockedRating(@NonNull android.media.tv.TvContentRating);
7922    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public boolean captureFrame(String, android.view.Surface, android.media.tv.TvStreamConfig);
7923    method @NonNull @RequiresPermission(android.Manifest.permission.TIS_EXTENSION_INTERFACE) public java.util.List<java.lang.String> getAvailableExtensionInterfaceNames(@NonNull String);
7924    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public java.util.List<android.media.tv.TvStreamConfig> getAvailableTvStreamConfigList(String);
7925    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public int getClientPid(@NonNull String);
7926    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public int getClientPriority(int, @NonNull String);
7927    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public int getClientPriority(int);
7928    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TUNED_INFO) public java.util.List<android.media.tv.TunedInfo> getCurrentTunedInfos();
7929    method @NonNull @RequiresPermission("android.permission.DVB_DEVICE") public java.util.List<android.media.tv.DvbDeviceInfo> getDvbDeviceList();
7930    method @Nullable @RequiresPermission(android.Manifest.permission.TIS_EXTENSION_INTERFACE) public android.os.IBinder getExtensionInterface(@NonNull String, @NonNull String);
7931    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public java.util.List<android.media.tv.TvInputHardwareInfo> getHardwareList();
7932    method @RequiresPermission(android.Manifest.permission.READ_CONTENT_RATING_SYSTEMS) public java.util.List<android.media.tv.TvContentRatingSystemInfo> getTvContentRatingSystemList();
7933    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public boolean isSingleSessionActive();
7934    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyPreviewProgramAddedToWatchNext(String, long, long);
7935    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyPreviewProgramBrowsableDisabled(String, long);
7936    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyWatchNextProgramBrowsableDisabled(String, long);
7937    method @Nullable @RequiresPermission("android.permission.DVB_DEVICE") public android.os.ParcelFileDescriptor openDvbDevice(@NonNull android.media.tv.DvbDeviceInfo, int);
7938    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public void releaseTvInputHardware(int, android.media.tv.TvInputManager.Hardware);
7939    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void removeBlockedRating(@NonNull android.media.tv.TvContentRating);
7940    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void setParentalControlsEnabled(boolean);
7941  }
7942
7943  public static final class TvInputManager.Hardware {
7944    method public void overrideAudioSink(int, String, int, int, int);
7945    method public void overrideAudioSink(@NonNull android.media.AudioDeviceInfo, @IntRange(from=0) int, int, int);
7946    method public void setStreamVolume(float);
7947    method public boolean setSurface(android.view.Surface, android.media.tv.TvStreamConfig);
7948  }
7949
7950  public abstract static class TvInputManager.HardwareCallback {
7951    ctor public TvInputManager.HardwareCallback();
7952    method public abstract void onReleased();
7953    method public abstract void onStreamConfigChanged(android.media.tv.TvStreamConfig[]);
7954  }
7955
7956  public abstract static class TvInputManager.TvInputCallback {
7957    method @RequiresPermission(android.Manifest.permission.ACCESS_TUNED_INFO) public void onCurrentTunedInfosUpdated(@NonNull java.util.List<android.media.tv.TunedInfo>);
7958  }
7959
7960  public abstract class TvInputService extends android.app.Service {
7961    method @Nullable public android.os.IBinder createExtension();
7962    method @NonNull public java.util.List<java.lang.String> getAvailableExtensionInterfaceNames();
7963    method @Nullable public android.os.IBinder getExtensionInterface(@NonNull String);
7964    method @Nullable public String getExtensionInterfacePermission(@NonNull String);
7965    method @Nullable public android.media.tv.TvInputInfo onHardwareAdded(android.media.tv.TvInputHardwareInfo);
7966    method @Nullable public String onHardwareRemoved(android.media.tv.TvInputHardwareInfo);
7967    method @Nullable public android.media.tv.TvInputInfo onHdmiDeviceAdded(android.hardware.hdmi.HdmiDeviceInfo);
7968    method @Nullable public String onHdmiDeviceRemoved(android.hardware.hdmi.HdmiDeviceInfo);
7969    method public void onHdmiDeviceUpdated(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
7970  }
7971
7972  public abstract static class TvInputService.RecordingSession {
7973    method public void notifySessionEvent(@NonNull String, android.os.Bundle);
7974  }
7975
7976  public abstract static class TvInputService.Session implements android.view.KeyEvent.Callback {
7977    method public void notifySessionEvent(@NonNull String, android.os.Bundle);
7978    method public void onSetMain(boolean);
7979  }
7980
7981  public abstract static class TvRecordingClient.RecordingCallback {
7982    method public void onEvent(String, String, android.os.Bundle);
7983  }
7984
7985  public class TvStreamConfig implements android.os.Parcelable {
7986    method public int describeContents();
7987    method public int getGeneration();
7988    method public int getMaxHeight();
7989    method public int getMaxWidth();
7990    method public int getStreamId();
7991    method public int getType();
7992    method public void writeToParcel(android.os.Parcel, int);
7993    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvStreamConfig> CREATOR;
7994    field public static final int STREAM_TYPE_BUFFER_PRODUCER = 2; // 0x2
7995    field public static final int STREAM_TYPE_INDEPENDENT_VIDEO_SOURCE = 1; // 0x1
7996  }
7997
7998  public static final class TvStreamConfig.Builder {
7999    ctor public TvStreamConfig.Builder();
8000    method public android.media.tv.TvStreamConfig build();
8001    method public android.media.tv.TvStreamConfig.Builder generation(int);
8002    method public android.media.tv.TvStreamConfig.Builder maxHeight(int);
8003    method public android.media.tv.TvStreamConfig.Builder maxWidth(int);
8004    method public android.media.tv.TvStreamConfig.Builder streamId(int);
8005    method public android.media.tv.TvStreamConfig.Builder type(int);
8006  }
8007
8008  public class TvView extends android.view.ViewGroup {
8009    method @RequiresPermission("android.permission.CHANGE_HDMI_CEC_ACTIVE_SOURCE") public void setMain();
8010    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void unblockContent(android.media.tv.TvContentRating);
8011  }
8012
8013  public abstract static class TvView.TvInputCallback {
8014    method public void onEvent(String, String, android.os.Bundle);
8015  }
8016
8017}
8018
8019package android.media.tv.tuner {
8020
8021  public class DemuxCapabilities {
8022    method public int getAudioFilterCount();
8023    method public int getDemuxCount();
8024    method public int getFilterCapabilities();
8025    method @NonNull @Size(5) public int[] getLinkCapabilities();
8026    method public int getPcrFilterCount();
8027    method public int getPesFilterCount();
8028    method public int getPlaybackCount();
8029    method public int getRecordCount();
8030    method public int getSectionFilterCount();
8031    method public long getSectionFilterLength();
8032    method public int getTsFilterCount();
8033    method public int getVideoFilterCount();
8034    method public boolean isTimeFilterSupported();
8035  }
8036
8037  public class Descrambler implements java.lang.AutoCloseable {
8038    method public int addPid(int, int, @Nullable android.media.tv.tuner.filter.Filter);
8039    method public void close();
8040    method public static boolean isValidKeyToken(@NonNull byte[]);
8041    method public int removePid(int, int, @Nullable android.media.tv.tuner.filter.Filter);
8042    method public int setKeyToken(@NonNull byte[]);
8043    field public static final int PID_TYPE_MMTP = 2; // 0x2
8044    field public static final int PID_TYPE_T = 1; // 0x1
8045  }
8046
8047  public class Lnb implements java.lang.AutoCloseable {
8048    method public void addCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
8049    method public void close();
8050    method public boolean removeCallback(@NonNull android.media.tv.tuner.LnbCallback);
8051    method public int sendDiseqcMessage(@NonNull byte[]);
8052    method public int setSatellitePosition(int);
8053    method public int setTone(int);
8054    method public int setVoltage(int);
8055    field public static final int EVENT_TYPE_DISEQC_RX_OVERFLOW = 0; // 0x0
8056    field public static final int EVENT_TYPE_DISEQC_RX_PARITY_ERROR = 2; // 0x2
8057    field public static final int EVENT_TYPE_DISEQC_RX_TIMEOUT = 1; // 0x1
8058    field public static final int EVENT_TYPE_LNB_OVERLOAD = 3; // 0x3
8059    field public static final int POSITION_A = 1; // 0x1
8060    field public static final int POSITION_B = 2; // 0x2
8061    field public static final int POSITION_UNDEFINED = 0; // 0x0
8062    field public static final int TONE_CONTINUOUS = 1; // 0x1
8063    field public static final int TONE_NONE = 0; // 0x0
8064    field public static final int VOLTAGE_11V = 2; // 0x2
8065    field public static final int VOLTAGE_12V = 3; // 0x3
8066    field public static final int VOLTAGE_13V = 4; // 0x4
8067    field public static final int VOLTAGE_14V = 5; // 0x5
8068    field public static final int VOLTAGE_15V = 6; // 0x6
8069    field public static final int VOLTAGE_18V = 7; // 0x7
8070    field public static final int VOLTAGE_19V = 8; // 0x8
8071    field public static final int VOLTAGE_5V = 1; // 0x1
8072    field public static final int VOLTAGE_NONE = 0; // 0x0
8073  }
8074
8075  public interface LnbCallback {
8076    method public void onDiseqcMessage(@NonNull byte[]);
8077    method public void onEvent(int);
8078  }
8079
8080  public class Tuner implements java.lang.AutoCloseable {
8081    ctor @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public Tuner(@NonNull android.content.Context, @Nullable String, int);
8082    method public int cancelScanning();
8083    method public int cancelTuning();
8084    method public void clearOnTuneEventListener();
8085    method public void clearResourceLostListener();
8086    method public void close();
8087    method public void closeFrontend();
8088    method public int connectCiCam(int);
8089    method public int connectFrontendToCiCam(int);
8090    method public int disconnectCiCam();
8091    method public int disconnectFrontendToCiCam(int);
8092    method public int getAvSyncHwId(@NonNull android.media.tv.tuner.filter.Filter);
8093    method public long getAvSyncTime(int);
8094    method @Nullable public java.util.List<android.media.tv.tuner.frontend.FrontendInfo> getAvailableFrontendInfos();
8095    method @Nullable public String getCurrentFrontendHardwareInfo();
8096    method @Nullable public android.media.tv.tuner.DemuxCapabilities getDemuxCapabilities();
8097    method @Nullable public android.media.tv.tuner.frontend.FrontendInfo getFrontendInfo();
8098    method @Nullable public android.media.tv.tuner.frontend.FrontendStatus getFrontendStatus(@NonNull int[]);
8099    method @NonNull public java.util.List<android.media.tv.tuner.frontend.FrontendStatusReadiness> getFrontendStatusReadiness(@NonNull int[]);
8100    method @IntRange(from=0xffffffff) public int getMaxNumberOfFrontends(int);
8101    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public boolean hasUnusedFrontend(int);
8102    method public boolean isLowestPriority(int);
8103    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_DESCRAMBLER) public android.media.tv.tuner.Descrambler openDescrambler();
8104    method @Nullable public android.media.tv.tuner.dvr.DvrPlayback openDvrPlayback(long, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.dvr.OnPlaybackStatusChangedListener);
8105    method @Nullable public android.media.tv.tuner.dvr.DvrRecorder openDvrRecorder(long, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.dvr.OnRecordStatusChangedListener);
8106    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);
8107    method @Nullable public android.media.tv.tuner.Lnb openLnb(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
8108    method @Nullable public android.media.tv.tuner.Lnb openLnbByName(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
8109    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);
8110    method @Nullable public android.media.tv.tuner.filter.TimeFilter openTimeFilter();
8111    method public int removeOutputPid(@IntRange(from=0) int);
8112    method public int scan(@NonNull android.media.tv.tuner.frontend.FrontendSettings, int, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.ScanCallback);
8113    method public int setLnaEnabled(boolean);
8114    method public int setMaxNumberOfFrontends(int, @IntRange(from=0) int);
8115    method public void setOnTuneEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.OnTuneEventListener);
8116    method public void setResourceLostListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.Tuner.OnResourceLostListener);
8117    method public void shareFrontendFromTuner(@NonNull android.media.tv.tuner.Tuner);
8118    method public int transferOwner(@NonNull android.media.tv.tuner.Tuner);
8119    method public int tune(@NonNull android.media.tv.tuner.frontend.FrontendSettings);
8120    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public void updateResourcePriority(int, int);
8121    field public static final int INVALID_AV_SYNC_ID = -1; // 0xffffffff
8122    field public static final int INVALID_FILTER_ID = -1; // 0xffffffff
8123    field public static final long INVALID_FILTER_ID_LONG = -1L; // 0xffffffffffffffffL
8124    field public static final int INVALID_FIRST_MACROBLOCK_IN_SLICE = -1; // 0xffffffff
8125    field public static final int INVALID_FRONTEND_ID = -1; // 0xffffffff
8126    field public static final int INVALID_FRONTEND_SETTING_FREQUENCY = -1; // 0xffffffff
8127    field public static final int INVALID_LTS_ID = -1; // 0xffffffff
8128    field public static final int INVALID_MMTP_RECORD_EVENT_MPT_SEQUENCE_NUM = -1; // 0xffffffff
8129    field public static final int INVALID_STREAM_ID = 65535; // 0xffff
8130    field public static final long INVALID_TIMESTAMP = -1L; // 0xffffffffffffffffL
8131    field public static final int INVALID_TS_PID = 65535; // 0xffff
8132    field public static final int RESULT_INVALID_ARGUMENT = 4; // 0x4
8133    field public static final int RESULT_INVALID_STATE = 3; // 0x3
8134    field public static final int RESULT_NOT_INITIALIZED = 2; // 0x2
8135    field public static final int RESULT_OUT_OF_MEMORY = 5; // 0x5
8136    field public static final int RESULT_SUCCESS = 0; // 0x0
8137    field public static final int RESULT_UNAVAILABLE = 1; // 0x1
8138    field public static final int RESULT_UNKNOWN_ERROR = 6; // 0x6
8139    field public static final int SCAN_TYPE_AUTO = 1; // 0x1
8140    field public static final int SCAN_TYPE_BLIND = 2; // 0x2
8141    field public static final int SCAN_TYPE_UNDEFINED = 0; // 0x0
8142    field @NonNull public static final byte[] VOID_KEYTOKEN;
8143  }
8144
8145  public static interface Tuner.OnResourceLostListener {
8146    method public void onResourceLost(@NonNull android.media.tv.tuner.Tuner);
8147  }
8148
8149  public final class TunerVersionChecker {
8150    method public static int getTunerVersion();
8151    field public static final int TUNER_VERSION_1_0 = 65536; // 0x10000
8152    field public static final int TUNER_VERSION_1_1 = 65537; // 0x10001
8153    field public static final int TUNER_VERSION_2_0 = 131072; // 0x20000
8154    field public static final int TUNER_VERSION_UNKNOWN = 0; // 0x0
8155  }
8156
8157}
8158
8159package android.media.tv.tuner.dvr {
8160
8161  public class DvrPlayback implements java.lang.AutoCloseable {
8162    method @Deprecated public int attachFilter(@NonNull android.media.tv.tuner.filter.Filter);
8163    method public void close();
8164    method public int configure(@NonNull android.media.tv.tuner.dvr.DvrSettings);
8165    method @Deprecated public int detachFilter(@NonNull android.media.tv.tuner.filter.Filter);
8166    method public int flush();
8167    method public long read(long);
8168    method public long read(@NonNull byte[], long, long);
8169    method public long seek(long);
8170    method public void setFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
8171    method public int start();
8172    method public int stop();
8173    field public static final int PLAYBACK_STATUS_ALMOST_EMPTY = 2; // 0x2
8174    field public static final int PLAYBACK_STATUS_ALMOST_FULL = 4; // 0x4
8175    field public static final int PLAYBACK_STATUS_EMPTY = 1; // 0x1
8176    field public static final int PLAYBACK_STATUS_FULL = 8; // 0x8
8177  }
8178
8179  public class DvrRecorder implements java.lang.AutoCloseable {
8180    method public int attachFilter(@NonNull android.media.tv.tuner.filter.Filter);
8181    method public void close();
8182    method public int configure(@NonNull android.media.tv.tuner.dvr.DvrSettings);
8183    method public int detachFilter(@NonNull android.media.tv.tuner.filter.Filter);
8184    method public int flush();
8185    method public void setFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
8186    method public int start();
8187    method public int stop();
8188    method public long write(long);
8189    method public long write(@NonNull byte[], long, long);
8190  }
8191
8192  public class DvrSettings {
8193    method @NonNull public static android.media.tv.tuner.dvr.DvrSettings.Builder builder();
8194    method public int getDataFormat();
8195    method public long getHighThreshold();
8196    method public long getLowThreshold();
8197    method public long getPacketSize();
8198    method public int getStatusMask();
8199    field public static final int DATA_FORMAT_ES = 2; // 0x2
8200    field public static final int DATA_FORMAT_PES = 1; // 0x1
8201    field public static final int DATA_FORMAT_SHV_TLV = 3; // 0x3
8202    field public static final int DATA_FORMAT_TS = 0; // 0x0
8203  }
8204
8205  public static final class DvrSettings.Builder {
8206    ctor public DvrSettings.Builder();
8207    method @NonNull public android.media.tv.tuner.dvr.DvrSettings build();
8208    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setDataFormat(int);
8209    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setHighThreshold(long);
8210    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setLowThreshold(long);
8211    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setPacketSize(long);
8212    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setStatusMask(int);
8213  }
8214
8215  public interface OnPlaybackStatusChangedListener {
8216    method public void onPlaybackStatusChanged(int);
8217  }
8218
8219  public interface OnRecordStatusChangedListener {
8220    method public void onRecordStatusChanged(int);
8221  }
8222
8223}
8224
8225package android.media.tv.tuner.filter {
8226
8227  public final class AlpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
8228    method @NonNull public static android.media.tv.tuner.filter.AlpFilterConfiguration.Builder builder();
8229    method public int getLengthType();
8230    method public int getPacketType();
8231    method public int getType();
8232    field public static final int LENGTH_TYPE_UNDEFINED = 0; // 0x0
8233    field public static final int LENGTH_TYPE_WITHOUT_ADDITIONAL_HEADER = 1; // 0x1
8234    field public static final int LENGTH_TYPE_WITH_ADDITIONAL_HEADER = 2; // 0x2
8235    field public static final int PACKET_TYPE_COMPRESSED = 2; // 0x2
8236    field public static final int PACKET_TYPE_EXTENSION = 6; // 0x6
8237    field public static final int PACKET_TYPE_IPV4 = 0; // 0x0
8238    field public static final int PACKET_TYPE_MPEG2_TS = 7; // 0x7
8239    field public static final int PACKET_TYPE_SIGNALING = 4; // 0x4
8240  }
8241
8242  public static final class AlpFilterConfiguration.Builder {
8243    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration build();
8244    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setLengthType(int);
8245    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setPacketType(int);
8246    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
8247  }
8248
8249  public class AudioDescriptor {
8250    method public byte getAdFade();
8251    method public byte getAdGainCenter();
8252    method public byte getAdGainFront();
8253    method public byte getAdGainSurround();
8254    method public byte getAdPan();
8255    method public char getAdVersionTextTag();
8256  }
8257
8258  public class AvSettings extends android.media.tv.tuner.filter.Settings {
8259    method @NonNull public static android.media.tv.tuner.filter.AvSettings.Builder builder(int, boolean);
8260    method public int getAudioStreamType();
8261    method public int getVideoStreamType();
8262    method public boolean isPassthrough();
8263    method public boolean useSecureMemory();
8264    field public static final int AUDIO_STREAM_TYPE_AAC = 6; // 0x6
8265    field public static final int AUDIO_STREAM_TYPE_AAC_ADTS = 16; // 0x10
8266    field public static final int AUDIO_STREAM_TYPE_AAC_HE_ADTS = 18; // 0x12
8267    field public static final int AUDIO_STREAM_TYPE_AAC_HE_LATM = 19; // 0x13
8268    field public static final int AUDIO_STREAM_TYPE_AAC_LATM = 17; // 0x11
8269    field public static final int AUDIO_STREAM_TYPE_AC3 = 7; // 0x7
8270    field public static final int AUDIO_STREAM_TYPE_AC4 = 9; // 0x9
8271    field public static final int AUDIO_STREAM_TYPE_DRA = 15; // 0xf
8272    field public static final int AUDIO_STREAM_TYPE_DTS = 10; // 0xa
8273    field public static final int AUDIO_STREAM_TYPE_DTS_HD = 11; // 0xb
8274    field public static final int AUDIO_STREAM_TYPE_EAC3 = 8; // 0x8
8275    field public static final int AUDIO_STREAM_TYPE_MP3 = 2; // 0x2
8276    field public static final int AUDIO_STREAM_TYPE_MPEG1 = 3; // 0x3
8277    field public static final int AUDIO_STREAM_TYPE_MPEG2 = 4; // 0x4
8278    field public static final int AUDIO_STREAM_TYPE_MPEGH = 5; // 0x5
8279    field public static final int AUDIO_STREAM_TYPE_OPUS = 13; // 0xd
8280    field public static final int AUDIO_STREAM_TYPE_PCM = 1; // 0x1
8281    field public static final int AUDIO_STREAM_TYPE_UNDEFINED = 0; // 0x0
8282    field public static final int AUDIO_STREAM_TYPE_VORBIS = 14; // 0xe
8283    field public static final int AUDIO_STREAM_TYPE_WMA = 12; // 0xc
8284    field public static final int VIDEO_STREAM_TYPE_AV1 = 10; // 0xa
8285    field public static final int VIDEO_STREAM_TYPE_AVC = 5; // 0x5
8286    field public static final int VIDEO_STREAM_TYPE_AVS = 11; // 0xb
8287    field public static final int VIDEO_STREAM_TYPE_AVS2 = 12; // 0xc
8288    field public static final int VIDEO_STREAM_TYPE_HEVC = 6; // 0x6
8289    field public static final int VIDEO_STREAM_TYPE_MPEG1 = 2; // 0x2
8290    field public static final int VIDEO_STREAM_TYPE_MPEG2 = 3; // 0x3
8291    field public static final int VIDEO_STREAM_TYPE_MPEG4P2 = 4; // 0x4
8292    field public static final int VIDEO_STREAM_TYPE_RESERVED = 1; // 0x1
8293    field public static final int VIDEO_STREAM_TYPE_UNDEFINED = 0; // 0x0
8294    field public static final int VIDEO_STREAM_TYPE_VC1 = 7; // 0x7
8295    field public static final int VIDEO_STREAM_TYPE_VP8 = 8; // 0x8
8296    field public static final int VIDEO_STREAM_TYPE_VP9 = 9; // 0x9
8297  }
8298
8299  public static class AvSettings.Builder {
8300    method @NonNull public android.media.tv.tuner.filter.AvSettings build();
8301    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setAudioStreamType(int);
8302    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setPassthrough(boolean);
8303    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setUseSecureMemory(boolean);
8304    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setVideoStreamType(int);
8305  }
8306
8307  public class DownloadEvent extends android.media.tv.tuner.filter.FilterEvent {
8308    method public int getDataLength();
8309    method public int getDownloadId();
8310    method public int getItemFragmentIndex();
8311    method public int getItemId();
8312    method public int getLastItemFragmentIndex();
8313    method @IntRange(from=0) public int getMpuSequenceNumber();
8314  }
8315
8316  public class DownloadSettings extends android.media.tv.tuner.filter.Settings {
8317    method @NonNull public static android.media.tv.tuner.filter.DownloadSettings.Builder builder(int);
8318    method public int getDownloadId();
8319    method public boolean useDownloadId();
8320  }
8321
8322  public static class DownloadSettings.Builder {
8323    method @NonNull public android.media.tv.tuner.filter.DownloadSettings build();
8324    method @NonNull public android.media.tv.tuner.filter.DownloadSettings.Builder setDownloadId(int);
8325    method @NonNull public android.media.tv.tuner.filter.DownloadSettings.Builder setUseDownloadId(boolean);
8326  }
8327
8328  public class Filter implements java.lang.AutoCloseable {
8329    method @Nullable public String acquireSharedFilterToken();
8330    method public void close();
8331    method public int configure(@NonNull android.media.tv.tuner.filter.FilterConfiguration);
8332    method public int delayCallbackForDurationMillis(long);
8333    method public int delayCallbackUntilBytesAccumulated(int);
8334    method public int flush();
8335    method public void freeSharedFilterToken(@NonNull String);
8336    method @Deprecated public int getId();
8337    method public long getIdLong();
8338    method public int read(@NonNull byte[], long, long);
8339    method public int setDataSource(@Nullable android.media.tv.tuner.filter.Filter);
8340    method public int setMonitorEventMask(int);
8341    method public int start();
8342    method public int stop();
8343    field public static final int MONITOR_EVENT_IP_CID_CHANGE = 2; // 0x2
8344    field public static final int MONITOR_EVENT_SCRAMBLING_STATUS = 1; // 0x1
8345    field public static final int SCRAMBLING_STATUS_NOT_SCRAMBLED = 2; // 0x2
8346    field public static final int SCRAMBLING_STATUS_SCRAMBLED = 4; // 0x4
8347    field public static final int SCRAMBLING_STATUS_UNKNOWN = 1; // 0x1
8348    field public static final int STATUS_DATA_READY = 1; // 0x1
8349    field public static final int STATUS_HIGH_WATER = 4; // 0x4
8350    field public static final int STATUS_LOW_WATER = 2; // 0x2
8351    field public static final int STATUS_OVERFLOW = 8; // 0x8
8352    field public static final int SUBTYPE_AUDIO = 3; // 0x3
8353    field public static final int SUBTYPE_DOWNLOAD = 5; // 0x5
8354    field public static final int SUBTYPE_IP = 13; // 0xd
8355    field public static final int SUBTYPE_IP_PAYLOAD = 12; // 0xc
8356    field public static final int SUBTYPE_MMTP = 10; // 0xa
8357    field public static final int SUBTYPE_NTP = 11; // 0xb
8358    field public static final int SUBTYPE_PAYLOAD_THROUGH = 14; // 0xe
8359    field public static final int SUBTYPE_PCR = 8; // 0x8
8360    field public static final int SUBTYPE_PES = 2; // 0x2
8361    field public static final int SUBTYPE_PTP = 16; // 0x10
8362    field public static final int SUBTYPE_RECORD = 6; // 0x6
8363    field public static final int SUBTYPE_SECTION = 1; // 0x1
8364    field public static final int SUBTYPE_TEMI = 9; // 0x9
8365    field public static final int SUBTYPE_TLV = 15; // 0xf
8366    field public static final int SUBTYPE_TS = 7; // 0x7
8367    field public static final int SUBTYPE_UNDEFINED = 0; // 0x0
8368    field public static final int SUBTYPE_VIDEO = 4; // 0x4
8369    field public static final int TYPE_ALP = 16; // 0x10
8370    field public static final int TYPE_IP = 4; // 0x4
8371    field public static final int TYPE_MMTP = 2; // 0x2
8372    field public static final int TYPE_TLV = 8; // 0x8
8373    field public static final int TYPE_TS = 1; // 0x1
8374    field public static final int TYPE_UNDEFINED = 0; // 0x0
8375  }
8376
8377  public interface FilterCallback {
8378    method public void onFilterEvent(@NonNull android.media.tv.tuner.filter.Filter, @NonNull android.media.tv.tuner.filter.FilterEvent[]);
8379    method public void onFilterStatusChanged(@NonNull android.media.tv.tuner.filter.Filter, int);
8380  }
8381
8382  public abstract class FilterConfiguration {
8383    method @Nullable public android.media.tv.tuner.filter.Settings getSettings();
8384    method public abstract int getType();
8385  }
8386
8387  public abstract class FilterEvent {
8388    ctor public FilterEvent();
8389  }
8390
8391  public final class IpCidChangeEvent extends android.media.tv.tuner.filter.FilterEvent {
8392    method public int getIpCid();
8393  }
8394
8395  public final class IpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
8396    method @NonNull public static android.media.tv.tuner.filter.IpFilterConfiguration.Builder builder();
8397    method @NonNull @Size(min=4, max=16) public byte[] getDstIpAddress();
8398    method public int getDstPort();
8399    method @IntRange(from=0, to=61439) public int getIpFilterContextId();
8400    method @NonNull @Size(min=4, max=16) public byte[] getSrcIpAddress();
8401    method public int getSrcPort();
8402    method public int getType();
8403    method public boolean isPassthrough();
8404    field public static final int INVALID_IP_FILTER_CONTEXT_ID = -1; // 0xffffffff
8405  }
8406
8407  public static final class IpFilterConfiguration.Builder {
8408    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration build();
8409    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setDstIpAddress(@NonNull byte[]);
8410    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setDstPort(int);
8411    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setIpFilterContextId(int);
8412    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setPassthrough(boolean);
8413    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
8414    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSrcIpAddress(@NonNull byte[]);
8415    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSrcPort(int);
8416  }
8417
8418  public class IpPayloadEvent extends android.media.tv.tuner.filter.FilterEvent {
8419    method public int getDataLength();
8420  }
8421
8422  public class MediaEvent extends android.media.tv.tuner.filter.FilterEvent {
8423    method public long getAudioHandle();
8424    method public long getAvDataId();
8425    method public long getDataLength();
8426    method public long getDts();
8427    method @Nullable public android.media.tv.tuner.filter.AudioDescriptor getExtraMetaData();
8428    method @Nullable public android.media.MediaCodec.LinearBlock getLinearBlock();
8429    method @IntRange(from=0) public int getMpuSequenceNumber();
8430    method public long getOffset();
8431    method public long getPts();
8432    method public int getScIndexMask();
8433    method public int getStreamId();
8434    method public boolean isDtsPresent();
8435    method public boolean isPrivateData();
8436    method public boolean isPtsPresent();
8437    method public boolean isSecureMemory();
8438    method public void release();
8439  }
8440
8441  public final class MmtpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
8442    method @NonNull public static android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder builder();
8443    method public int getMmtpPacketId();
8444    method public int getType();
8445  }
8446
8447  public static final class MmtpFilterConfiguration.Builder {
8448    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration build();
8449    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder setMmtpPacketId(int);
8450    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
8451  }
8452
8453  public class MmtpRecordEvent extends android.media.tv.tuner.filter.FilterEvent {
8454    method public long getDataLength();
8455    method public int getFirstMacroblockInSlice();
8456    method @IntRange(from=0) public int getMpuSequenceNumber();
8457    method public long getPts();
8458    method public int getScHevcIndexMask();
8459    method public int getTsIndexMask();
8460  }
8461
8462  public class PesEvent extends android.media.tv.tuner.filter.FilterEvent {
8463    method public int getDataLength();
8464    method @IntRange(from=0) public int getMpuSequenceNumber();
8465    method public int getStreamId();
8466  }
8467
8468  public class PesSettings extends android.media.tv.tuner.filter.Settings {
8469    method @NonNull public static android.media.tv.tuner.filter.PesSettings.Builder builder(int);
8470    method public int getStreamId();
8471    method public boolean isRaw();
8472  }
8473
8474  public static class PesSettings.Builder {
8475    method @NonNull public android.media.tv.tuner.filter.PesSettings build();
8476    method @NonNull public android.media.tv.tuner.filter.PesSettings.Builder setRaw(boolean);
8477    method @NonNull public android.media.tv.tuner.filter.PesSettings.Builder setStreamId(int);
8478  }
8479
8480  public class RecordSettings extends android.media.tv.tuner.filter.Settings {
8481    method @NonNull public static android.media.tv.tuner.filter.RecordSettings.Builder builder(int);
8482    method public int getScIndexMask();
8483    method public int getScIndexType();
8484    method public int getTsIndexMask();
8485    field public static final int INDEX_TYPE_NONE = 0; // 0x0
8486    field public static final int INDEX_TYPE_SC = 1; // 0x1
8487    field public static final int INDEX_TYPE_SC_AVC = 3; // 0x3
8488    field public static final int INDEX_TYPE_SC_HEVC = 2; // 0x2
8489    field public static final int MPT_INDEX_AUDIO = 262144; // 0x40000
8490    field public static final int MPT_INDEX_MPT = 65536; // 0x10000
8491    field public static final int MPT_INDEX_TIMESTAMP_TARGET_AUDIO = 1048576; // 0x100000
8492    field public static final int MPT_INDEX_TIMESTAMP_TARGET_VIDEO = 524288; // 0x80000
8493    field public static final int MPT_INDEX_VIDEO = 131072; // 0x20000
8494    field public static final int SC_HEVC_INDEX_AUD = 2; // 0x2
8495    field public static final int SC_HEVC_INDEX_SLICE_BLA_N_LP = 16; // 0x10
8496    field public static final int SC_HEVC_INDEX_SLICE_BLA_W_RADL = 8; // 0x8
8497    field public static final int SC_HEVC_INDEX_SLICE_CE_BLA_W_LP = 4; // 0x4
8498    field public static final int SC_HEVC_INDEX_SLICE_IDR_N_LP = 64; // 0x40
8499    field public static final int SC_HEVC_INDEX_SLICE_IDR_W_RADL = 32; // 0x20
8500    field public static final int SC_HEVC_INDEX_SLICE_TRAIL_CRA = 128; // 0x80
8501    field public static final int SC_HEVC_INDEX_SPS = 1; // 0x1
8502    field public static final int SC_INDEX_B_FRAME = 4; // 0x4
8503    field public static final int SC_INDEX_B_SLICE = 64; // 0x40
8504    field public static final int SC_INDEX_I_FRAME = 1; // 0x1
8505    field public static final int SC_INDEX_I_SLICE = 16; // 0x10
8506    field public static final int SC_INDEX_P_FRAME = 2; // 0x2
8507    field public static final int SC_INDEX_P_SLICE = 32; // 0x20
8508    field public static final int SC_INDEX_SEQUENCE = 8; // 0x8
8509    field public static final int SC_INDEX_SI_SLICE = 128; // 0x80
8510    field public static final int SC_INDEX_SP_SLICE = 256; // 0x100
8511    field public static final int TS_INDEX_ADAPTATION_EXTENSION_FLAG = 4096; // 0x1000
8512    field public static final int TS_INDEX_CHANGE_TO_EVEN_SCRAMBLED = 8; // 0x8
8513    field public static final int TS_INDEX_CHANGE_TO_NOT_SCRAMBLED = 4; // 0x4
8514    field public static final int TS_INDEX_CHANGE_TO_ODD_SCRAMBLED = 16; // 0x10
8515    field public static final int TS_INDEX_DISCONTINUITY_INDICATOR = 32; // 0x20
8516    field public static final int TS_INDEX_FIRST_PACKET = 1; // 0x1
8517    field public static final int TS_INDEX_INVALID = 0; // 0x0
8518    field public static final int TS_INDEX_OPCR_FLAG = 512; // 0x200
8519    field public static final int TS_INDEX_PAYLOAD_UNIT_START_INDICATOR = 2; // 0x2
8520    field public static final int TS_INDEX_PCR_FLAG = 256; // 0x100
8521    field public static final int TS_INDEX_PRIORITY_INDICATOR = 128; // 0x80
8522    field public static final int TS_INDEX_PRIVATE_DATA = 2048; // 0x800
8523    field public static final int TS_INDEX_RANDOM_ACCESS_INDICATOR = 64; // 0x40
8524    field public static final int TS_INDEX_SPLICING_POINT_FLAG = 1024; // 0x400
8525  }
8526
8527  public static class RecordSettings.Builder {
8528    method @NonNull public android.media.tv.tuner.filter.RecordSettings build();
8529    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setScIndexMask(int);
8530    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setScIndexType(int);
8531    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setTsIndexMask(int);
8532  }
8533
8534  public final class RestartEvent extends android.media.tv.tuner.filter.FilterEvent {
8535    method public int getStartId();
8536    field public static final int NEW_FILTER_FIRST_START_ID = 0; // 0x0
8537  }
8538
8539  public final class ScramblingStatusEvent extends android.media.tv.tuner.filter.FilterEvent {
8540    method public int getScramblingStatus();
8541  }
8542
8543  public class SectionEvent extends android.media.tv.tuner.filter.FilterEvent {
8544    method @Deprecated public int getDataLength();
8545    method public long getDataLengthLong();
8546    method public int getSectionNumber();
8547    method public int getTableId();
8548    method public int getVersion();
8549  }
8550
8551  public abstract class SectionSettings extends android.media.tv.tuner.filter.Settings {
8552    method public int getLengthFieldBitWidth();
8553    method public boolean isCrcEnabled();
8554    method public boolean isRaw();
8555    method public boolean isRepeat();
8556  }
8557
8558  public abstract static class SectionSettings.Builder<T extends android.media.tv.tuner.filter.SectionSettings.Builder<T>> {
8559    method @NonNull public T setBitWidthOfLengthField(@IntRange(from=0) int);
8560    method @NonNull public T setCrcEnabled(boolean);
8561    method @NonNull public T setRaw(boolean);
8562    method @NonNull public T setRepeat(boolean);
8563  }
8564
8565  public class SectionSettingsWithSectionBits extends android.media.tv.tuner.filter.SectionSettings {
8566    method @NonNull public static android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder builder(int);
8567    method @NonNull public byte[] getFilterBytes();
8568    method @NonNull public byte[] getMask();
8569    method @NonNull public byte[] getMode();
8570  }
8571
8572  public static class SectionSettingsWithSectionBits.Builder extends android.media.tv.tuner.filter.SectionSettings.Builder<android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder> {
8573    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits build();
8574    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setFilter(@NonNull byte[]);
8575    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setMask(@NonNull byte[]);
8576    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setMode(@NonNull byte[]);
8577  }
8578
8579  public class SectionSettingsWithTableInfo extends android.media.tv.tuner.filter.SectionSettings {
8580    method @NonNull public static android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder builder(int);
8581    method public int getTableId();
8582    method public int getVersion();
8583    field public static final int INVALID_TABLE_INFO_VERSION = -1; // 0xffffffff
8584  }
8585
8586  public static class SectionSettingsWithTableInfo.Builder extends android.media.tv.tuner.filter.SectionSettings.Builder<android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder> {
8587    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo build();
8588    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder setTableId(int);
8589    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder setVersion(int);
8590  }
8591
8592  public abstract class Settings {
8593    method public int getType();
8594  }
8595
8596  public final class SharedFilter implements java.lang.AutoCloseable {
8597    method public void close();
8598    method public int flush();
8599    method public int read(@NonNull byte[], long, long);
8600    method public int start();
8601    method public int stop();
8602    field public static final int STATUS_INACCESSIBLE = 128; // 0x80
8603  }
8604
8605  public interface SharedFilterCallback {
8606    method public void onFilterEvent(@NonNull android.media.tv.tuner.filter.SharedFilter, @NonNull android.media.tv.tuner.filter.FilterEvent[]);
8607    method public void onFilterStatusChanged(@NonNull android.media.tv.tuner.filter.SharedFilter, int);
8608  }
8609
8610  public class TemiEvent extends android.media.tv.tuner.filter.FilterEvent {
8611    method @NonNull public byte[] getDescriptorData();
8612    method public byte getDescriptorTag();
8613    method public long getPts();
8614  }
8615
8616  public class TimeFilter implements java.lang.AutoCloseable {
8617    method public int clearTimestamp();
8618    method public void close();
8619    method public long getSourceTime();
8620    method public long getTimeStamp();
8621    method public int setCurrentTimestamp(long);
8622  }
8623
8624  public final class TlvFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
8625    method @NonNull public static android.media.tv.tuner.filter.TlvFilterConfiguration.Builder builder();
8626    method public int getPacketType();
8627    method public int getType();
8628    method public boolean isCompressedIpPacket();
8629    method public boolean isPassthrough();
8630    field public static final int PACKET_TYPE_COMPRESSED = 3; // 0x3
8631    field public static final int PACKET_TYPE_IPV4 = 1; // 0x1
8632    field public static final int PACKET_TYPE_IPV6 = 2; // 0x2
8633    field public static final int PACKET_TYPE_NULL = 255; // 0xff
8634    field public static final int PACKET_TYPE_SIGNALING = 254; // 0xfe
8635  }
8636
8637  public static final class TlvFilterConfiguration.Builder {
8638    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration build();
8639    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setCompressedIpPacket(boolean);
8640    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setPacketType(int);
8641    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setPassthrough(boolean);
8642    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
8643  }
8644
8645  public final class TsFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
8646    method @NonNull public static android.media.tv.tuner.filter.TsFilterConfiguration.Builder builder();
8647    method public int getTpid();
8648    method public int getType();
8649  }
8650
8651  public static final class TsFilterConfiguration.Builder {
8652    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration build();
8653    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
8654    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration.Builder setTpid(int);
8655  }
8656
8657  public class TsRecordEvent extends android.media.tv.tuner.filter.FilterEvent {
8658    method public long getDataLength();
8659    method public int getFirstMacroblockInSlice();
8660    method public int getPacketId();
8661    method public long getPts();
8662    method public int getScIndexMask();
8663    method public int getTsIndexMask();
8664  }
8665
8666}
8667
8668package android.media.tv.tuner.frontend {
8669
8670  public class AnalogFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
8671    method public int getSifStandardCapability();
8672    method public int getSignalTypeCapability();
8673  }
8674
8675  public class AnalogFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
8676    method @NonNull public static android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder builder();
8677    method public int getAftFlag();
8678    method public int getSifStandard();
8679    method public int getSignalType();
8680    method public int getType();
8681    field public static final int AFT_FLAG_FALSE = 2; // 0x2
8682    field public static final int AFT_FLAG_TRUE = 1; // 0x1
8683    field public static final int AFT_FLAG_UNDEFINED = 0; // 0x0
8684    field public static final int SIF_AUTO = 1; // 0x1
8685    field public static final int SIF_BG = 2; // 0x2
8686    field public static final int SIF_BG_A2 = 4; // 0x4
8687    field public static final int SIF_BG_NICAM = 8; // 0x8
8688    field public static final int SIF_DK = 32; // 0x20
8689    field public static final int SIF_DK1_A2 = 64; // 0x40
8690    field public static final int SIF_DK2_A2 = 128; // 0x80
8691    field public static final int SIF_DK3_A2 = 256; // 0x100
8692    field public static final int SIF_DK_NICAM = 512; // 0x200
8693    field public static final int SIF_I = 16; // 0x10
8694    field public static final int SIF_I_NICAM = 32768; // 0x8000
8695    field public static final int SIF_L = 1024; // 0x400
8696    field public static final int SIF_L_NICAM = 65536; // 0x10000
8697    field public static final int SIF_L_PRIME = 131072; // 0x20000
8698    field public static final int SIF_M = 2048; // 0x800
8699    field public static final int SIF_M_A2 = 8192; // 0x2000
8700    field public static final int SIF_M_BTSC = 4096; // 0x1000
8701    field public static final int SIF_M_EIAJ = 16384; // 0x4000
8702    field public static final int SIF_UNDEFINED = 0; // 0x0
8703    field public static final int SIGNAL_TYPE_AUTO = 1; // 0x1
8704    field public static final int SIGNAL_TYPE_NTSC = 32; // 0x20
8705    field public static final int SIGNAL_TYPE_NTSC_443 = 64; // 0x40
8706    field public static final int SIGNAL_TYPE_PAL = 2; // 0x2
8707    field public static final int SIGNAL_TYPE_PAL_60 = 16; // 0x10
8708    field public static final int SIGNAL_TYPE_PAL_M = 4; // 0x4
8709    field public static final int SIGNAL_TYPE_PAL_N = 8; // 0x8
8710    field public static final int SIGNAL_TYPE_SECAM = 128; // 0x80
8711    field public static final int SIGNAL_TYPE_UNDEFINED = 0; // 0x0
8712  }
8713
8714  public static class AnalogFrontendSettings.Builder {
8715    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings build();
8716    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setAftFlag(int);
8717    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setFrequency(int);
8718    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setFrequencyLong(long);
8719    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setSifStandard(int);
8720    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setSignalType(int);
8721  }
8722
8723  public class Atsc3FrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
8724    method public int getBandwidthCapability();
8725    method public int getDemodOutputFormatCapability();
8726    method public int getFecCapability();
8727    method public int getModulationCapability();
8728    method public int getPlpCodeRateCapability();
8729    method public int getTimeInterleaveModeCapability();
8730  }
8731
8732  public class Atsc3FrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
8733    method @NonNull public static android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder builder();
8734    method public int getBandwidth();
8735    method public int getDemodOutputFormat();
8736    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings[] getPlpSettings();
8737    method public int getType();
8738    field public static final int BANDWIDTH_AUTO = 1; // 0x1
8739    field public static final int BANDWIDTH_BANDWIDTH_6MHZ = 2; // 0x2
8740    field public static final int BANDWIDTH_BANDWIDTH_7MHZ = 4; // 0x4
8741    field public static final int BANDWIDTH_BANDWIDTH_8MHZ = 8; // 0x8
8742    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
8743    field public static final int CODERATE_10_15 = 512; // 0x200
8744    field public static final int CODERATE_11_15 = 1024; // 0x400
8745    field public static final int CODERATE_12_15 = 2048; // 0x800
8746    field public static final int CODERATE_13_15 = 4096; // 0x1000
8747    field public static final int CODERATE_2_15 = 2; // 0x2
8748    field public static final int CODERATE_3_15 = 4; // 0x4
8749    field public static final int CODERATE_4_15 = 8; // 0x8
8750    field public static final int CODERATE_5_15 = 16; // 0x10
8751    field public static final int CODERATE_6_15 = 32; // 0x20
8752    field public static final int CODERATE_7_15 = 64; // 0x40
8753    field public static final int CODERATE_8_15 = 128; // 0x80
8754    field public static final int CODERATE_9_15 = 256; // 0x100
8755    field public static final int CODERATE_AUTO = 1; // 0x1
8756    field public static final int CODERATE_UNDEFINED = 0; // 0x0
8757    field public static final int DEMOD_OUTPUT_FORMAT_ATSC3_LINKLAYER_PACKET = 1; // 0x1
8758    field public static final int DEMOD_OUTPUT_FORMAT_BASEBAND_PACKET = 2; // 0x2
8759    field public static final int DEMOD_OUTPUT_FORMAT_UNDEFINED = 0; // 0x0
8760    field public static final int FEC_AUTO = 1; // 0x1
8761    field public static final int FEC_BCH_LDPC_16K = 2; // 0x2
8762    field public static final int FEC_BCH_LDPC_64K = 4; // 0x4
8763    field public static final int FEC_CRC_LDPC_16K = 8; // 0x8
8764    field public static final int FEC_CRC_LDPC_64K = 16; // 0x10
8765    field public static final int FEC_LDPC_16K = 32; // 0x20
8766    field public static final int FEC_LDPC_64K = 64; // 0x40
8767    field public static final int FEC_UNDEFINED = 0; // 0x0
8768    field public static final int MODULATION_AUTO = 1; // 0x1
8769    field public static final int MODULATION_MOD_1024QAM = 32; // 0x20
8770    field public static final int MODULATION_MOD_16QAM = 4; // 0x4
8771    field public static final int MODULATION_MOD_256QAM = 16; // 0x10
8772    field public static final int MODULATION_MOD_4096QAM = 64; // 0x40
8773    field public static final int MODULATION_MOD_64QAM = 8; // 0x8
8774    field public static final int MODULATION_MOD_QPSK = 2; // 0x2
8775    field public static final int MODULATION_UNDEFINED = 0; // 0x0
8776    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
8777    field public static final int TIME_INTERLEAVE_MODE_CTI = 2; // 0x2
8778    field public static final int TIME_INTERLEAVE_MODE_HTI = 4; // 0x4
8779    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
8780  }
8781
8782  public static class Atsc3FrontendSettings.Builder {
8783    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings build();
8784    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setBandwidth(int);
8785    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setDemodOutputFormat(int);
8786    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setFrequency(int);
8787    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setFrequencyLong(long);
8788    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setPlpSettings(@NonNull android.media.tv.tuner.frontend.Atsc3PlpSettings[]);
8789  }
8790
8791  public class Atsc3PlpInfo {
8792    method public boolean getLlsFlag();
8793    method public int getPlpId();
8794  }
8795
8796  public class Atsc3PlpSettings {
8797    method @NonNull public static android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder builder();
8798    method public int getCodeRate();
8799    method public int getFec();
8800    method public int getInterleaveMode();
8801    method public int getModulation();
8802    method public int getPlpId();
8803  }
8804
8805  public static class Atsc3PlpSettings.Builder {
8806    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings build();
8807    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setCodeRate(int);
8808    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setFec(int);
8809    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setInterleaveMode(int);
8810    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setModulation(int);
8811    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setPlpId(int);
8812  }
8813
8814  public class AtscFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
8815    method public int getModulationCapability();
8816  }
8817
8818  public class AtscFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
8819    method @NonNull public static android.media.tv.tuner.frontend.AtscFrontendSettings.Builder builder();
8820    method public int getModulation();
8821    method public int getType();
8822    field public static final int MODULATION_AUTO = 1; // 0x1
8823    field public static final int MODULATION_MOD_16VSB = 8; // 0x8
8824    field public static final int MODULATION_MOD_8VSB = 4; // 0x4
8825    field public static final int MODULATION_UNDEFINED = 0; // 0x0
8826  }
8827
8828  public static class AtscFrontendSettings.Builder {
8829    method @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings build();
8830    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setFrequency(int);
8831    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setFrequencyLong(long);
8832    method @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setModulation(int);
8833  }
8834
8835  public final class DtmbFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
8836    method public int getBandwidthCapability();
8837    method public int getCodeRateCapability();
8838    method public int getGuardIntervalCapability();
8839    method public int getModulationCapability();
8840    method public int getTimeInterleaveModeCapability();
8841    method public int getTransmissionModeCapability();
8842  }
8843
8844  public final class DtmbFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
8845    method @NonNull public static android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder builder();
8846    method public int getBandwidth();
8847    method public int getCodeRate();
8848    method public int getGuardInterval();
8849    method public int getModulation();
8850    method public int getTimeInterleaveMode();
8851    method public int getTransmissionMode();
8852    method public int getType();
8853    field public static final int BANDWIDTH_6MHZ = 4; // 0x4
8854    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
8855    field public static final int BANDWIDTH_AUTO = 1; // 0x1
8856    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
8857    field public static final int CODERATE_2_5 = 2; // 0x2
8858    field public static final int CODERATE_3_5 = 4; // 0x4
8859    field public static final int CODERATE_4_5 = 8; // 0x8
8860    field public static final int CODERATE_AUTO = 1; // 0x1
8861    field public static final int CODERATE_UNDEFINED = 0; // 0x0
8862    field public static final int GUARD_INTERVAL_AUTO = 1; // 0x1
8863    field public static final int GUARD_INTERVAL_PN_420_CONST = 16; // 0x10
8864    field public static final int GUARD_INTERVAL_PN_420_VARIOUS = 2; // 0x2
8865    field public static final int GUARD_INTERVAL_PN_595_CONST = 4; // 0x4
8866    field public static final int GUARD_INTERVAL_PN_945_CONST = 32; // 0x20
8867    field public static final int GUARD_INTERVAL_PN_945_VARIOUS = 8; // 0x8
8868    field public static final int GUARD_INTERVAL_PN_RESERVED = 64; // 0x40
8869    field public static final int GUARD_INTERVAL_UNDEFINED = 0; // 0x0
8870    field public static final int MODULATION_CONSTELLATION_16QAM = 8; // 0x8
8871    field public static final int MODULATION_CONSTELLATION_32QAM = 16; // 0x10
8872    field public static final int MODULATION_CONSTELLATION_4QAM = 2; // 0x2
8873    field public static final int MODULATION_CONSTELLATION_4QAM_NR = 4; // 0x4
8874    field public static final int MODULATION_CONSTELLATION_64QAM = 32; // 0x20
8875    field public static final int MODULATION_CONSTELLATION_AUTO = 1; // 0x1
8876    field public static final int MODULATION_CONSTELLATION_UNDEFINED = 0; // 0x0
8877    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
8878    field public static final int TIME_INTERLEAVE_MODE_TIMER_INT_240 = 2; // 0x2
8879    field public static final int TIME_INTERLEAVE_MODE_TIMER_INT_720 = 4; // 0x4
8880    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
8881    field public static final int TRANSMISSION_MODE_AUTO = 1; // 0x1
8882    field public static final int TRANSMISSION_MODE_C1 = 2; // 0x2
8883    field public static final int TRANSMISSION_MODE_C3780 = 4; // 0x4
8884    field public static final int TRANSMISSION_MODE_UNDEFINED = 0; // 0x0
8885  }
8886
8887  public static final class DtmbFrontendSettings.Builder {
8888    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings build();
8889    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setBandwidth(int);
8890    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setCodeRate(int);
8891    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setFrequency(int);
8892    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setFrequencyLong(long);
8893    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setGuardInterval(int);
8894    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setModulation(int);
8895    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setTimeInterleaveMode(int);
8896    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setTransmissionMode(int);
8897  }
8898
8899  public class DvbcFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
8900    method public int getAnnexCapability();
8901    method public long getCodeRateCapability();
8902    method @Deprecated public int getFecCapability();
8903    method public int getModulationCapability();
8904  }
8905
8906  public class DvbcFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
8907    method @NonNull public static android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder builder();
8908    method public int getAnnex();
8909    method public int getBandwidth();
8910    method public long getInnerFec();
8911    method public int getModulation();
8912    method public int getOuterFec();
8913    method public int getSpectralInversion();
8914    method public int getSymbolRate();
8915    method public int getTimeInterleaveMode();
8916    method public int getType();
8917    field public static final int ANNEX_A = 1; // 0x1
8918    field public static final int ANNEX_B = 2; // 0x2
8919    field public static final int ANNEX_C = 4; // 0x4
8920    field public static final int ANNEX_UNDEFINED = 0; // 0x0
8921    field public static final int BANDWIDTH_5MHZ = 1; // 0x1
8922    field public static final int BANDWIDTH_6MHZ = 2; // 0x2
8923    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
8924    field public static final int BANDWIDTH_8MHZ = 8; // 0x8
8925    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
8926    field public static final int MODULATION_AUTO = 1; // 0x1
8927    field public static final int MODULATION_MOD_128QAM = 16; // 0x10
8928    field public static final int MODULATION_MOD_16QAM = 2; // 0x2
8929    field public static final int MODULATION_MOD_256QAM = 32; // 0x20
8930    field public static final int MODULATION_MOD_32QAM = 4; // 0x4
8931    field public static final int MODULATION_MOD_64QAM = 8; // 0x8
8932    field public static final int MODULATION_UNDEFINED = 0; // 0x0
8933    field public static final int OUTER_FEC_OUTER_FEC_NONE = 1; // 0x1
8934    field public static final int OUTER_FEC_OUTER_FEC_RS = 2; // 0x2
8935    field public static final int OUTER_FEC_UNDEFINED = 0; // 0x0
8936    field @Deprecated public static final int SPECTRAL_INVERSION_INVERTED = 2; // 0x2
8937    field @Deprecated public static final int SPECTRAL_INVERSION_NORMAL = 1; // 0x1
8938    field @Deprecated public static final int SPECTRAL_INVERSION_UNDEFINED = 0; // 0x0
8939    field public static final int TIME_INTERLEAVE_MODE_128_1_0 = 2; // 0x2
8940    field public static final int TIME_INTERLEAVE_MODE_128_1_1 = 4; // 0x4
8941    field public static final int TIME_INTERLEAVE_MODE_128_2 = 128; // 0x80
8942    field public static final int TIME_INTERLEAVE_MODE_128_3 = 256; // 0x100
8943    field public static final int TIME_INTERLEAVE_MODE_128_4 = 512; // 0x200
8944    field public static final int TIME_INTERLEAVE_MODE_16_8 = 32; // 0x20
8945    field public static final int TIME_INTERLEAVE_MODE_32_4 = 16; // 0x10
8946    field public static final int TIME_INTERLEAVE_MODE_64_2 = 8; // 0x8
8947    field public static final int TIME_INTERLEAVE_MODE_8_16 = 64; // 0x40
8948    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
8949    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
8950  }
8951
8952  public static class DvbcFrontendSettings.Builder {
8953    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings build();
8954    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setAnnex(int);
8955    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setBandwidth(int);
8956    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setFrequency(int);
8957    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setFrequencyLong(long);
8958    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setInnerFec(long);
8959    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setModulation(int);
8960    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setOuterFec(int);
8961    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setSpectralInversion(int);
8962    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setSymbolRate(int);
8963    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setTimeInterleaveMode(int);
8964  }
8965
8966  public class DvbsCodeRate {
8967    method @NonNull public static android.media.tv.tuner.frontend.DvbsCodeRate.Builder builder();
8968    method public int getBitsPer1000Symbol();
8969    method public long getInnerFec();
8970    method public boolean isLinear();
8971    method public boolean isShortFrameEnabled();
8972  }
8973
8974  public static class DvbsCodeRate.Builder {
8975    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate build();
8976    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setBitsPer1000Symbol(int);
8977    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setInnerFec(long);
8978    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setLinear(boolean);
8979    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setShortFrameEnabled(boolean);
8980  }
8981
8982  public class DvbsFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
8983    method public long getInnerFecCapability();
8984    method public int getModulationCapability();
8985    method public int getStandardCapability();
8986  }
8987
8988  public class DvbsFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
8989    method @NonNull public static android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder builder();
8990    method public boolean canHandleDiseqcRxMessage();
8991    method @Nullable public android.media.tv.tuner.frontend.DvbsCodeRate getCodeRate();
8992    method public int getInputStreamId();
8993    method public int getModulation();
8994    method public int getPilot();
8995    method public int getRolloff();
8996    method public int getScanType();
8997    method public int getStandard();
8998    method public int getSymbolRate();
8999    method public int getType();
9000    method public int getVcmMode();
9001    field public static final int MODULATION_AUTO = 1; // 0x1
9002    field public static final int MODULATION_MOD_128APSK = 2048; // 0x800
9003    field public static final int MODULATION_MOD_16APSK = 256; // 0x100
9004    field public static final int MODULATION_MOD_16PSK = 16; // 0x10
9005    field public static final int MODULATION_MOD_16QAM = 8; // 0x8
9006    field public static final int MODULATION_MOD_256APSK = 4096; // 0x1000
9007    field public static final int MODULATION_MOD_32APSK = 512; // 0x200
9008    field public static final int MODULATION_MOD_32PSK = 32; // 0x20
9009    field public static final int MODULATION_MOD_64APSK = 1024; // 0x400
9010    field public static final int MODULATION_MOD_8APSK = 128; // 0x80
9011    field public static final int MODULATION_MOD_8PSK = 4; // 0x4
9012    field public static final int MODULATION_MOD_ACM = 64; // 0x40
9013    field public static final int MODULATION_MOD_QPSK = 2; // 0x2
9014    field public static final int MODULATION_MOD_RESERVED = 8192; // 0x2000
9015    field public static final int MODULATION_UNDEFINED = 0; // 0x0
9016    field public static final int PILOT_AUTO = 3; // 0x3
9017    field public static final int PILOT_OFF = 2; // 0x2
9018    field public static final int PILOT_ON = 1; // 0x1
9019    field public static final int PILOT_UNDEFINED = 0; // 0x0
9020    field public static final int ROLLOFF_0_10 = 5; // 0x5
9021    field public static final int ROLLOFF_0_15 = 4; // 0x4
9022    field public static final int ROLLOFF_0_20 = 3; // 0x3
9023    field public static final int ROLLOFF_0_25 = 2; // 0x2
9024    field public static final int ROLLOFF_0_35 = 1; // 0x1
9025    field public static final int ROLLOFF_0_5 = 6; // 0x6
9026    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
9027    field public static final int SCAN_TYPE_DIRECT = 1; // 0x1
9028    field public static final int SCAN_TYPE_DISEQC = 2; // 0x2
9029    field public static final int SCAN_TYPE_JESS = 4; // 0x4
9030    field public static final int SCAN_TYPE_UNDEFINED = 0; // 0x0
9031    field public static final int SCAN_TYPE_UNICABLE = 3; // 0x3
9032    field public static final int STANDARD_AUTO = 1; // 0x1
9033    field public static final int STANDARD_S = 2; // 0x2
9034    field public static final int STANDARD_S2 = 4; // 0x4
9035    field public static final int STANDARD_S2X = 8; // 0x8
9036    field public static final int VCM_MODE_AUTO = 1; // 0x1
9037    field public static final int VCM_MODE_MANUAL = 2; // 0x2
9038    field public static final int VCM_MODE_UNDEFINED = 0; // 0x0
9039  }
9040
9041  public static class DvbsFrontendSettings.Builder {
9042    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings build();
9043    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setCanHandleDiseqcRxMessage(boolean);
9044    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setCodeRate(@Nullable android.media.tv.tuner.frontend.DvbsCodeRate);
9045    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setFrequency(int);
9046    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setFrequencyLong(long);
9047    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setInputStreamId(int);
9048    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setModulation(int);
9049    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setPilot(int);
9050    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setRolloff(int);
9051    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setScanType(int);
9052    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setStandard(int);
9053    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setSymbolRate(int);
9054    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setVcmMode(int);
9055  }
9056
9057  public class DvbtFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
9058    method public int getBandwidthCapability();
9059    method public int getCodeRateCapability();
9060    method public int getConstellationCapability();
9061    method public int getGuardIntervalCapability();
9062    method public int getHierarchyCapability();
9063    method public int getTransmissionModeCapability();
9064    method public boolean isMisoSupported();
9065    method public boolean isT2Supported();
9066  }
9067
9068  public class DvbtFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
9069    method @NonNull public static android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder builder();
9070    method public int getBandwidth();
9071    method public int getConstellation();
9072    method public int getGuardInterval();
9073    method public int getHierarchy();
9074    method public int getHighPriorityCodeRate();
9075    method public int getLowPriorityCodeRate();
9076    method public int getPlpGroupId();
9077    method public int getPlpId();
9078    method public int getPlpMode();
9079    method public int getStandard();
9080    method public int getTransmissionMode();
9081    method public int getType();
9082    method public boolean isHighPriority();
9083    method public boolean isMiso();
9084    field public static final int BANDWIDTH_10MHZ = 64; // 0x40
9085    field public static final int BANDWIDTH_1_7MHZ = 32; // 0x20
9086    field public static final int BANDWIDTH_5MHZ = 16; // 0x10
9087    field public static final int BANDWIDTH_6MHZ = 8; // 0x8
9088    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
9089    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
9090    field public static final int BANDWIDTH_AUTO = 1; // 0x1
9091    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
9092    field public static final int CODERATE_1_2 = 2; // 0x2
9093    field public static final int CODERATE_2_3 = 4; // 0x4
9094    field public static final int CODERATE_3_4 = 8; // 0x8
9095    field public static final int CODERATE_3_5 = 64; // 0x40
9096    field public static final int CODERATE_4_5 = 128; // 0x80
9097    field public static final int CODERATE_5_6 = 16; // 0x10
9098    field public static final int CODERATE_6_7 = 256; // 0x100
9099    field public static final int CODERATE_7_8 = 32; // 0x20
9100    field public static final int CODERATE_8_9 = 512; // 0x200
9101    field public static final int CODERATE_AUTO = 1; // 0x1
9102    field public static final int CODERATE_UNDEFINED = 0; // 0x0
9103    field public static final int CONSTELLATION_16QAM = 4; // 0x4
9104    field public static final int CONSTELLATION_16QAM_R = 64; // 0x40
9105    field public static final int CONSTELLATION_256QAM = 16; // 0x10
9106    field public static final int CONSTELLATION_256QAM_R = 256; // 0x100
9107    field public static final int CONSTELLATION_64QAM = 8; // 0x8
9108    field public static final int CONSTELLATION_64QAM_R = 128; // 0x80
9109    field public static final int CONSTELLATION_AUTO = 1; // 0x1
9110    field public static final int CONSTELLATION_QPSK = 2; // 0x2
9111    field public static final int CONSTELLATION_QPSK_R = 32; // 0x20
9112    field public static final int CONSTELLATION_UNDEFINED = 0; // 0x0
9113    field public static final int GUARD_INTERVAL_19_128 = 64; // 0x40
9114    field public static final int GUARD_INTERVAL_19_256 = 128; // 0x80
9115    field public static final int GUARD_INTERVAL_1_128 = 32; // 0x20
9116    field public static final int GUARD_INTERVAL_1_16 = 4; // 0x4
9117    field public static final int GUARD_INTERVAL_1_32 = 2; // 0x2
9118    field public static final int GUARD_INTERVAL_1_4 = 16; // 0x10
9119    field public static final int GUARD_INTERVAL_1_8 = 8; // 0x8
9120    field public static final int GUARD_INTERVAL_AUTO = 1; // 0x1
9121    field public static final int GUARD_INTERVAL_UNDEFINED = 0; // 0x0
9122    field public static final int HIERARCHY_1_INDEPTH = 64; // 0x40
9123    field public static final int HIERARCHY_1_NATIVE = 4; // 0x4
9124    field public static final int HIERARCHY_2_INDEPTH = 128; // 0x80
9125    field public static final int HIERARCHY_2_NATIVE = 8; // 0x8
9126    field public static final int HIERARCHY_4_INDEPTH = 256; // 0x100
9127    field public static final int HIERARCHY_4_NATIVE = 16; // 0x10
9128    field public static final int HIERARCHY_AUTO = 1; // 0x1
9129    field public static final int HIERARCHY_NON_INDEPTH = 32; // 0x20
9130    field public static final int HIERARCHY_NON_NATIVE = 2; // 0x2
9131    field public static final int HIERARCHY_UNDEFINED = 0; // 0x0
9132    field public static final int PLP_MODE_AUTO = 1; // 0x1
9133    field public static final int PLP_MODE_MANUAL = 2; // 0x2
9134    field public static final int PLP_MODE_UNDEFINED = 0; // 0x0
9135    field public static final int STANDARD_AUTO = 1; // 0x1
9136    field public static final int STANDARD_T = 2; // 0x2
9137    field public static final int STANDARD_T2 = 4; // 0x4
9138    field public static final int TRANSMISSION_MODE_16K = 32; // 0x20
9139    field public static final int TRANSMISSION_MODE_1K = 16; // 0x10
9140    field public static final int TRANSMISSION_MODE_2K = 2; // 0x2
9141    field public static final int TRANSMISSION_MODE_32K = 64; // 0x40
9142    field public static final int TRANSMISSION_MODE_4K = 8; // 0x8
9143    field public static final int TRANSMISSION_MODE_8K = 4; // 0x4
9144    field public static final int TRANSMISSION_MODE_AUTO = 1; // 0x1
9145    field public static final int TRANSMISSION_MODE_EXTENDED_16K = 256; // 0x100
9146    field public static final int TRANSMISSION_MODE_EXTENDED_32K = 512; // 0x200
9147    field public static final int TRANSMISSION_MODE_EXTENDED_8K = 128; // 0x80
9148    field public static final int TRANSMISSION_MODE_UNDEFINED = 0; // 0x0
9149  }
9150
9151  public static class DvbtFrontendSettings.Builder {
9152    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings build();
9153    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setBandwidth(int);
9154    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setConstellation(int);
9155    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setFrequency(int);
9156    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setFrequencyLong(long);
9157    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setGuardInterval(int);
9158    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHierarchy(int);
9159    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHighPriority(boolean);
9160    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHighPriorityCodeRate(int);
9161    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setLowPriorityCodeRate(int);
9162    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setMiso(boolean);
9163    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpGroupId(int);
9164    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpId(int);
9165    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpMode(int);
9166    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setStandard(int);
9167    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setTransmissionMode(int);
9168  }
9169
9170  public abstract class FrontendCapabilities {
9171    ctor public FrontendCapabilities();
9172  }
9173
9174  public class FrontendInfo {
9175    method @Deprecated public int getAcquireRange();
9176    method public long getAcquireRangeLong();
9177    method public int getExclusiveGroupId();
9178    method @Deprecated @NonNull public android.util.Range<java.lang.Integer> getFrequencyRange();
9179    method @NonNull public android.util.Range<java.lang.Long> getFrequencyRangeLong();
9180    method @NonNull public android.media.tv.tuner.frontend.FrontendCapabilities getFrontendCapabilities();
9181    method public int getId();
9182    method @NonNull public int[] getStatusCapabilities();
9183    method @NonNull public android.util.Range<java.lang.Integer> getSymbolRateRange();
9184    method public int getType();
9185  }
9186
9187  public abstract class FrontendSettings {
9188    method @Deprecated @IntRange(from=1) public int getEndFrequency();
9189    method @IntRange(from=1) public long getEndFrequencyLong();
9190    method @Deprecated public int getFrequency();
9191    method public long getFrequencyLong();
9192    method public int getFrontendSpectralInversion();
9193    method public abstract int getType();
9194    method @Deprecated @IntRange(from=1) public void setEndFrequency(int);
9195    method @IntRange(from=1) public void setEndFrequencyLong(long);
9196    method public void setSpectralInversion(int);
9197    field public static final long FEC_11_15 = 4194304L; // 0x400000L
9198    field public static final long FEC_11_20 = 8388608L; // 0x800000L
9199    field public static final long FEC_11_45 = 16777216L; // 0x1000000L
9200    field public static final long FEC_13_18 = 33554432L; // 0x2000000L
9201    field public static final long FEC_13_45 = 67108864L; // 0x4000000L
9202    field public static final long FEC_14_45 = 134217728L; // 0x8000000L
9203    field public static final long FEC_1_2 = 2L; // 0x2L
9204    field public static final long FEC_1_3 = 4L; // 0x4L
9205    field public static final long FEC_1_4 = 8L; // 0x8L
9206    field public static final long FEC_1_5 = 16L; // 0x10L
9207    field public static final long FEC_23_36 = 268435456L; // 0x10000000L
9208    field public static final long FEC_25_36 = 536870912L; // 0x20000000L
9209    field public static final long FEC_26_45 = 1073741824L; // 0x40000000L
9210    field public static final long FEC_28_45 = 2147483648L; // 0x80000000L
9211    field public static final long FEC_29_45 = 4294967296L; // 0x100000000L
9212    field public static final long FEC_2_3 = 32L; // 0x20L
9213    field public static final long FEC_2_5 = 64L; // 0x40L
9214    field public static final long FEC_2_9 = 128L; // 0x80L
9215    field public static final long FEC_31_45 = 8589934592L; // 0x200000000L
9216    field public static final long FEC_32_45 = 17179869184L; // 0x400000000L
9217    field public static final long FEC_3_4 = 256L; // 0x100L
9218    field public static final long FEC_3_5 = 512L; // 0x200L
9219    field public static final long FEC_4_15 = 2048L; // 0x800L
9220    field public static final long FEC_4_5 = 1024L; // 0x400L
9221    field public static final long FEC_5_6 = 4096L; // 0x1000L
9222    field public static final long FEC_5_9 = 8192L; // 0x2000L
9223    field public static final long FEC_6_7 = 16384L; // 0x4000L
9224    field public static final long FEC_77_90 = 34359738368L; // 0x800000000L
9225    field public static final long FEC_7_15 = 131072L; // 0x20000L
9226    field public static final long FEC_7_8 = 32768L; // 0x8000L
9227    field public static final long FEC_7_9 = 65536L; // 0x10000L
9228    field public static final long FEC_8_15 = 524288L; // 0x80000L
9229    field public static final long FEC_8_9 = 262144L; // 0x40000L
9230    field public static final long FEC_9_10 = 1048576L; // 0x100000L
9231    field public static final long FEC_9_20 = 2097152L; // 0x200000L
9232    field public static final long FEC_AUTO = 1L; // 0x1L
9233    field public static final long FEC_UNDEFINED = 0L; // 0x0L
9234    field public static final int FRONTEND_SPECTRAL_INVERSION_INVERTED = 2; // 0x2
9235    field public static final int FRONTEND_SPECTRAL_INVERSION_NORMAL = 1; // 0x1
9236    field public static final int FRONTEND_SPECTRAL_INVERSION_UNDEFINED = 0; // 0x0
9237    field public static final int TYPE_ANALOG = 1; // 0x1
9238    field public static final int TYPE_ATSC = 2; // 0x2
9239    field public static final int TYPE_ATSC3 = 3; // 0x3
9240    field public static final int TYPE_DTMB = 10; // 0xa
9241    field public static final int TYPE_DVBC = 4; // 0x4
9242    field public static final int TYPE_DVBS = 5; // 0x5
9243    field public static final int TYPE_DVBT = 6; // 0x6
9244    field public static final int TYPE_ISDBS = 7; // 0x7
9245    field public static final int TYPE_ISDBS3 = 8; // 0x8
9246    field public static final int TYPE_ISDBT = 9; // 0x9
9247    field public static final int TYPE_UNDEFINED = 0; // 0x0
9248  }
9249
9250  public class FrontendStatus {
9251    method public int getAgc();
9252    method @NonNull public java.util.List<android.media.tv.tuner.frontend.Atsc3PlpInfo> getAllAtsc3PlpInfo();
9253    method @NonNull public android.media.tv.tuner.frontend.FrontendStatus.Atsc3PlpTuningInfo[] getAtsc3PlpTuningInfo();
9254    method public int getBandwidth();
9255    method public int getBer();
9256    method @NonNull public int[] getBers();
9257    method @NonNull public int[] getCodeRates();
9258    method @NonNull public int[] getDvbtCellIds();
9259    method @NonNull public int[] getExtendedModulations();
9260    method @Deprecated public int getFreqOffset();
9261    method public long getFreqOffsetLong();
9262    method public int getGuardInterval();
9263    method public int getHierarchy();
9264    method public long getInnerFec();
9265    method @NonNull public int[] getInterleaving();
9266    method public int getIsdbtMode();
9267    method public int getIsdbtPartialReceptionFlag();
9268    method @IntRange(from=0, to=255) @NonNull public int[] getIsdbtSegment();
9269    method @NonNull public boolean[] getLayerErrors();
9270    method public int getLnbVoltage();
9271    method public int getMer();
9272    method public int getModulation();
9273    method public int getPer();
9274    method public int getPerBer();
9275    method public int getPlpId();
9276    method public int getRollOff();
9277    method public int getSignalQuality();
9278    method public int getSignalStrength();
9279    method public int getSnr();
9280    method public int getSpectralInversion();
9281    method @NonNull public int[] getStreamIds();
9282    method public int getSymbolRate();
9283    method @IntRange(from=0, to=65535) public int getSystemId();
9284    method public int getTransmissionMode();
9285    method @NonNull public int[] getTsDataRate();
9286    method public int getUec();
9287    method public boolean isDemodLocked();
9288    method public boolean isEwbs();
9289    method public boolean isLinear();
9290    method public boolean isLnaOn();
9291    method public boolean isMisoEnabled();
9292    method public boolean isRfLocked();
9293    method public boolean isShortFramesEnabled();
9294    field public static final int FRONTEND_STATUS_TYPE_AGC = 14; // 0xe
9295    field public static final int FRONTEND_STATUS_TYPE_ATSC3_ALL_PLP_INFO = 41; // 0x29
9296    field public static final int FRONTEND_STATUS_TYPE_ATSC3_PLP_INFO = 21; // 0x15
9297    field public static final int FRONTEND_STATUS_TYPE_BANDWIDTH = 25; // 0x19
9298    field public static final int FRONTEND_STATUS_TYPE_BER = 2; // 0x2
9299    field public static final int FRONTEND_STATUS_TYPE_BERS = 23; // 0x17
9300    field public static final int FRONTEND_STATUS_TYPE_CODERATES = 24; // 0x18
9301    field public static final int FRONTEND_STATUS_TYPE_DEMOD_LOCK = 0; // 0x0
9302    field public static final int FRONTEND_STATUS_TYPE_DVBT_CELL_IDS = 40; // 0x28
9303    field public static final int FRONTEND_STATUS_TYPE_EWBS = 13; // 0xd
9304    field public static final int FRONTEND_STATUS_TYPE_FEC = 8; // 0x8
9305    field public static final int FRONTEND_STATUS_TYPE_FREQ_OFFSET = 18; // 0x12
9306    field public static final int FRONTEND_STATUS_TYPE_GUARD_INTERVAL = 26; // 0x1a
9307    field public static final int FRONTEND_STATUS_TYPE_HIERARCHY = 19; // 0x13
9308    field public static final int FRONTEND_STATUS_TYPE_INTERLEAVINGS = 30; // 0x1e
9309    field public static final int FRONTEND_STATUS_TYPE_ISDBT_MODE = 37; // 0x25
9310    field public static final int FRONTEND_STATUS_TYPE_ISDBT_PARTIAL_RECEPTION_FLAG = 38; // 0x26
9311    field public static final int FRONTEND_STATUS_TYPE_ISDBT_SEGMENTS = 31; // 0x1f
9312    field public static final int FRONTEND_STATUS_TYPE_IS_LINEAR = 35; // 0x23
9313    field public static final int FRONTEND_STATUS_TYPE_IS_MISO_ENABLED = 34; // 0x22
9314    field public static final int FRONTEND_STATUS_TYPE_IS_SHORT_FRAMES_ENABLED = 36; // 0x24
9315    field public static final int FRONTEND_STATUS_TYPE_LAYER_ERROR = 16; // 0x10
9316    field public static final int FRONTEND_STATUS_TYPE_LNA = 15; // 0xf
9317    field public static final int FRONTEND_STATUS_TYPE_LNB_VOLTAGE = 11; // 0xb
9318    field public static final int FRONTEND_STATUS_TYPE_MER = 17; // 0x11
9319    field public static final int FRONTEND_STATUS_TYPE_MODULATION = 9; // 0x9
9320    field public static final int FRONTEND_STATUS_TYPE_MODULATIONS_EXT = 22; // 0x16
9321    field public static final int FRONTEND_STATUS_TYPE_PER = 3; // 0x3
9322    field public static final int FRONTEND_STATUS_TYPE_PLP_ID = 12; // 0xc
9323    field public static final int FRONTEND_STATUS_TYPE_PRE_BER = 4; // 0x4
9324    field public static final int FRONTEND_STATUS_TYPE_RF_LOCK = 20; // 0x14
9325    field public static final int FRONTEND_STATUS_TYPE_ROLL_OFF = 33; // 0x21
9326    field public static final int FRONTEND_STATUS_TYPE_SIGNAL_QUALITY = 5; // 0x5
9327    field public static final int FRONTEND_STATUS_TYPE_SIGNAL_STRENGTH = 6; // 0x6
9328    field public static final int FRONTEND_STATUS_TYPE_SNR = 1; // 0x1
9329    field public static final int FRONTEND_STATUS_TYPE_SPECTRAL = 10; // 0xa
9330    field public static final int FRONTEND_STATUS_TYPE_STREAM_IDS = 39; // 0x27
9331    field public static final int FRONTEND_STATUS_TYPE_SYMBOL_RATE = 7; // 0x7
9332    field public static final int FRONTEND_STATUS_TYPE_T2_SYSTEM_ID = 29; // 0x1d
9333    field public static final int FRONTEND_STATUS_TYPE_TRANSMISSION_MODE = 27; // 0x1b
9334    field public static final int FRONTEND_STATUS_TYPE_TS_DATA_RATES = 32; // 0x20
9335    field public static final int FRONTEND_STATUS_TYPE_UEC = 28; // 0x1c
9336  }
9337
9338  public static class FrontendStatus.Atsc3PlpTuningInfo {
9339    method public int getPlpId();
9340    method public int getUec();
9341    method public boolean isLocked();
9342  }
9343
9344  public final class FrontendStatusReadiness {
9345    method public int getStatusReadiness();
9346    method public int getStatusType();
9347    field public static final int FRONTEND_STATUS_READINESS_STABLE = 3; // 0x3
9348    field public static final int FRONTEND_STATUS_READINESS_UNAVAILABLE = 1; // 0x1
9349    field public static final int FRONTEND_STATUS_READINESS_UNDEFINED = 0; // 0x0
9350    field public static final int FRONTEND_STATUS_READINESS_UNSTABLE = 2; // 0x2
9351    field public static final int FRONTEND_STATUS_READINESS_UNSUPPORTED = 4; // 0x4
9352  }
9353
9354  public class Isdbs3FrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
9355    method public int getCodeRateCapability();
9356    method public int getModulationCapability();
9357  }
9358
9359  public class Isdbs3FrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
9360    method @NonNull public static android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder builder();
9361    method public int getCodeRate();
9362    method public int getModulation();
9363    method public int getRolloff();
9364    method public int getStreamId();
9365    method public int getStreamIdType();
9366    method public int getSymbolRate();
9367    method public int getType();
9368    field public static final int CODERATE_1_2 = 8; // 0x8
9369    field public static final int CODERATE_1_3 = 2; // 0x2
9370    field public static final int CODERATE_2_3 = 32; // 0x20
9371    field public static final int CODERATE_2_5 = 4; // 0x4
9372    field public static final int CODERATE_3_4 = 64; // 0x40
9373    field public static final int CODERATE_3_5 = 16; // 0x10
9374    field public static final int CODERATE_4_5 = 256; // 0x100
9375    field public static final int CODERATE_5_6 = 512; // 0x200
9376    field public static final int CODERATE_7_8 = 1024; // 0x400
9377    field public static final int CODERATE_7_9 = 128; // 0x80
9378    field public static final int CODERATE_9_10 = 2048; // 0x800
9379    field public static final int CODERATE_AUTO = 1; // 0x1
9380    field public static final int CODERATE_UNDEFINED = 0; // 0x0
9381    field public static final int MODULATION_AUTO = 1; // 0x1
9382    field public static final int MODULATION_MOD_16APSK = 16; // 0x10
9383    field public static final int MODULATION_MOD_32APSK = 32; // 0x20
9384    field public static final int MODULATION_MOD_8PSK = 8; // 0x8
9385    field public static final int MODULATION_MOD_BPSK = 2; // 0x2
9386    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
9387    field public static final int MODULATION_UNDEFINED = 0; // 0x0
9388    field public static final int ROLLOFF_0_03 = 1; // 0x1
9389    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
9390  }
9391
9392  public static class Isdbs3FrontendSettings.Builder {
9393    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings build();
9394    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setCodeRate(int);
9395    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setFrequency(int);
9396    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setFrequencyLong(long);
9397    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setModulation(int);
9398    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setRolloff(int);
9399    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setStreamId(int);
9400    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setStreamIdType(int);
9401    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setSymbolRate(int);
9402  }
9403
9404  public class IsdbsFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
9405    method public int getCodeRateCapability();
9406    method public int getModulationCapability();
9407  }
9408
9409  public class IsdbsFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
9410    method @NonNull public static android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder builder();
9411    method public int getCodeRate();
9412    method public int getModulation();
9413    method public int getRolloff();
9414    method public int getStreamId();
9415    method public int getStreamIdType();
9416    method public int getSymbolRate();
9417    method public int getType();
9418    field public static final int CODERATE_1_2 = 2; // 0x2
9419    field public static final int CODERATE_2_3 = 4; // 0x4
9420    field public static final int CODERATE_3_4 = 8; // 0x8
9421    field public static final int CODERATE_5_6 = 16; // 0x10
9422    field public static final int CODERATE_7_8 = 32; // 0x20
9423    field public static final int CODERATE_AUTO = 1; // 0x1
9424    field public static final int CODERATE_UNDEFINED = 0; // 0x0
9425    field public static final int MODULATION_AUTO = 1; // 0x1
9426    field public static final int MODULATION_MOD_BPSK = 2; // 0x2
9427    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
9428    field public static final int MODULATION_MOD_TC8PSK = 8; // 0x8
9429    field public static final int MODULATION_UNDEFINED = 0; // 0x0
9430    field public static final int ROLLOFF_0_35 = 1; // 0x1
9431    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
9432    field public static final int STREAM_ID_TYPE_ID = 0; // 0x0
9433    field public static final int STREAM_ID_TYPE_RELATIVE_NUMBER = 1; // 0x1
9434  }
9435
9436  public static class IsdbsFrontendSettings.Builder {
9437    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings build();
9438    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setCodeRate(int);
9439    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setFrequency(int);
9440    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setFrequencyLong(long);
9441    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setModulation(int);
9442    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setRolloff(int);
9443    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setStreamId(int);
9444    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setStreamIdType(int);
9445    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setSymbolRate(int);
9446  }
9447
9448  public class IsdbtFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
9449    method public int getBandwidthCapability();
9450    method public int getCodeRateCapability();
9451    method public int getGuardIntervalCapability();
9452    method public int getModeCapability();
9453    method public int getModulationCapability();
9454    method public int getTimeInterleaveModeCapability();
9455    method public boolean isFullSegmentSupported();
9456    method public boolean isSegmentAutoSupported();
9457  }
9458
9459  public class IsdbtFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
9460    method @NonNull public static android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder builder();
9461    method public int getBandwidth();
9462    method @Deprecated public int getCodeRate();
9463    method public int getGuardInterval();
9464    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings[] getLayerSettings();
9465    method public int getMode();
9466    method @Deprecated public int getModulation();
9467    method public int getPartialReceptionFlag();
9468    method public int getServiceAreaId();
9469    method public int getType();
9470    field public static final int BANDWIDTH_6MHZ = 8; // 0x8
9471    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
9472    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
9473    field public static final int BANDWIDTH_AUTO = 1; // 0x1
9474    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
9475    field public static final int MODE_1 = 2; // 0x2
9476    field public static final int MODE_2 = 4; // 0x4
9477    field public static final int MODE_3 = 8; // 0x8
9478    field public static final int MODE_AUTO = 1; // 0x1
9479    field public static final int MODE_UNDEFINED = 0; // 0x0
9480    field public static final int MODULATION_AUTO = 1; // 0x1
9481    field public static final int MODULATION_MOD_16QAM = 8; // 0x8
9482    field public static final int MODULATION_MOD_64QAM = 16; // 0x10
9483    field public static final int MODULATION_MOD_DQPSK = 2; // 0x2
9484    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
9485    field public static final int MODULATION_UNDEFINED = 0; // 0x0
9486    field public static final int PARTIAL_RECEPTION_FLAG_FALSE = 2; // 0x2
9487    field public static final int PARTIAL_RECEPTION_FLAG_TRUE = 4; // 0x4
9488    field public static final int PARTIAL_RECEPTION_FLAG_UNDEFINED = 0; // 0x0
9489    field public static final int TIME_INTERLEAVE_MODE_1_0 = 2; // 0x2
9490    field public static final int TIME_INTERLEAVE_MODE_1_16 = 16; // 0x10
9491    field public static final int TIME_INTERLEAVE_MODE_1_4 = 4; // 0x4
9492    field public static final int TIME_INTERLEAVE_MODE_1_8 = 8; // 0x8
9493    field public static final int TIME_INTERLEAVE_MODE_2_0 = 32; // 0x20
9494    field public static final int TIME_INTERLEAVE_MODE_2_2 = 64; // 0x40
9495    field public static final int TIME_INTERLEAVE_MODE_2_4 = 128; // 0x80
9496    field public static final int TIME_INTERLEAVE_MODE_2_8 = 256; // 0x100
9497    field public static final int TIME_INTERLEAVE_MODE_3_0 = 512; // 0x200
9498    field public static final int TIME_INTERLEAVE_MODE_3_1 = 1024; // 0x400
9499    field public static final int TIME_INTERLEAVE_MODE_3_2 = 2048; // 0x800
9500    field public static final int TIME_INTERLEAVE_MODE_3_4 = 4096; // 0x1000
9501    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
9502    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
9503  }
9504
9505  public static class IsdbtFrontendSettings.Builder {
9506    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings build();
9507    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setBandwidth(int);
9508    method @Deprecated @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setCodeRate(int);
9509    method @Deprecated @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setFrequency(int);
9510    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setFrequencyLong(long);
9511    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setGuardInterval(int);
9512    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setLayerSettings(@NonNull android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings[]);
9513    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setMode(int);
9514    method @Deprecated @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setModulation(int);
9515    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setPartialReceptionFlag(int);
9516    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setServiceAreaId(int);
9517  }
9518
9519  public static final class IsdbtFrontendSettings.IsdbtLayerSettings {
9520    method @NonNull public static android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings.Builder builder();
9521    method public int getCodeRate();
9522    method public int getModulation();
9523    method @IntRange(from=0, to=255) public int getNumberOfSegments();
9524    method public int getTimeInterleaveMode();
9525  }
9526
9527  public static final class IsdbtFrontendSettings.IsdbtLayerSettings.Builder {
9528    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings build();
9529    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings.Builder setCodeRate(int);
9530    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings.Builder setModulation(int);
9531    method @IntRange(from=0, to=255) @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings.Builder setNumberOfSegments(int);
9532    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings.Builder setTimeInterleaveMode(int);
9533  }
9534
9535  public interface OnTuneEventListener {
9536    method public void onTuneEvent(int);
9537    field public static final int SIGNAL_LOCKED = 0; // 0x0
9538    field public static final int SIGNAL_LOST_LOCK = 2; // 0x2
9539    field public static final int SIGNAL_NO_SIGNAL = 1; // 0x1
9540  }
9541
9542  public interface ScanCallback {
9543    method public void onAnalogSifStandardReported(int);
9544    method public void onAtsc3PlpInfosReported(@NonNull android.media.tv.tuner.frontend.Atsc3PlpInfo[]);
9545    method public default void onDvbcAnnexReported(int);
9546    method public void onDvbsStandardReported(int);
9547    method public default void onDvbtCellIdsReported(@NonNull int[]);
9548    method public void onDvbtStandardReported(int);
9549    method public default void onFrequenciesLongReported(@NonNull long[]);
9550    method @Deprecated public void onFrequenciesReported(@NonNull int[]);
9551    method public void onGroupIdsReported(@NonNull int[]);
9552    method public void onHierarchyReported(int);
9553    method public void onInputStreamIdsReported(@NonNull int[]);
9554    method public void onLocked();
9555    method public default void onModulationReported(int);
9556    method public void onPlpIdsReported(@NonNull int[]);
9557    method public default void onPriorityReported(boolean);
9558    method public void onProgress(@IntRange(from=0, to=100) int);
9559    method public void onScanStopped();
9560    method public void onSignalTypeReported(int);
9561    method public void onSymbolRatesReported(@NonNull int[]);
9562    method public default void onUnlocked();
9563  }
9564
9565}
9566
9567package android.media.voice {
9568
9569  public final class KeyphraseModelManager {
9570    method @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public void deleteKeyphraseSoundModel(int, @NonNull java.util.Locale);
9571    method @Nullable @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel getKeyphraseSoundModel(int, @NonNull java.util.Locale);
9572    method @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public void updateKeyphraseSoundModel(@NonNull android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel);
9573  }
9574
9575}
9576
9577package android.metrics {
9578
9579  public class LogMaker {
9580    ctor public LogMaker(int);
9581    ctor public LogMaker(Object[]);
9582    method public android.metrics.LogMaker addTaggedData(int, Object);
9583    method public android.metrics.LogMaker clearCategory();
9584    method public android.metrics.LogMaker clearPackageName();
9585    method public android.metrics.LogMaker clearSubtype();
9586    method public android.metrics.LogMaker clearTaggedData(int);
9587    method public android.metrics.LogMaker clearType();
9588    method public void deserialize(Object[]);
9589    method public int getCategory();
9590    method public long getCounterBucket();
9591    method public String getCounterName();
9592    method public int getCounterValue();
9593    method public String getPackageName();
9594    method public int getProcessId();
9595    method public int getSubtype();
9596    method public Object getTaggedData(int);
9597    method public long getTimestamp();
9598    method public int getType();
9599    method public int getUid();
9600    method public boolean isLongCounterBucket();
9601    method public boolean isSubsetOf(android.metrics.LogMaker);
9602    method public boolean isValidValue(Object);
9603    method public Object[] serialize();
9604    method public android.metrics.LogMaker setCategory(int);
9605    method public android.metrics.LogMaker setPackageName(String);
9606    method public android.metrics.LogMaker setSubtype(int);
9607    method public android.metrics.LogMaker setType(int);
9608  }
9609
9610  public class MetricsReader {
9611    ctor public MetricsReader();
9612    method public void checkpoint();
9613    method public boolean hasNext();
9614    method public android.metrics.LogMaker next();
9615    method public void read(long);
9616    method public void reset();
9617  }
9618
9619}
9620
9621package android.nearby {
9622
9623  public interface BroadcastCallback {
9624    method public void onStatusChanged(int);
9625    field public static final int STATUS_FAILURE = 1; // 0x1
9626    field public static final int STATUS_FAILURE_ALREADY_REGISTERED = 2; // 0x2
9627    field public static final int STATUS_FAILURE_MISSING_PERMISSIONS = 4; // 0x4
9628    field public static final int STATUS_FAILURE_SIZE_EXCEED_LIMIT = 3; // 0x3
9629    field public static final int STATUS_OK = 0; // 0x0
9630  }
9631
9632  public abstract class BroadcastRequest {
9633    method @NonNull public java.util.List<java.lang.Integer> getMediums();
9634    method @IntRange(from=0xffffff81, to=126) public int getTxPower();
9635    method public int getType();
9636    method public int getVersion();
9637    field public static final int BROADCAST_TYPE_NEARBY_PRESENCE = 3; // 0x3
9638    field public static final int BROADCAST_TYPE_UNKNOWN = -1; // 0xffffffff
9639    field public static final int MEDIUM_BLE = 1; // 0x1
9640    field public static final int PRESENCE_VERSION_UNKNOWN = -1; // 0xffffffff
9641    field public static final int PRESENCE_VERSION_V0 = 0; // 0x0
9642    field public static final int PRESENCE_VERSION_V1 = 1; // 0x1
9643    field public static final int UNKNOWN_TX_POWER = -127; // 0xffffff81
9644  }
9645
9646  public final class CredentialElement implements android.os.Parcelable {
9647    ctor public CredentialElement(@NonNull String, @NonNull byte[]);
9648    method public int describeContents();
9649    method @NonNull public String getKey();
9650    method @NonNull public byte[] getValue();
9651    method public void writeToParcel(@NonNull android.os.Parcel, int);
9652    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.CredentialElement> CREATOR;
9653  }
9654
9655  public final class DataElement implements android.os.Parcelable {
9656    ctor public DataElement(int, @NonNull byte[]);
9657    method public int describeContents();
9658    method public int getKey();
9659    method @NonNull public byte[] getValue();
9660    method public void writeToParcel(@NonNull android.os.Parcel, int);
9661    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.DataElement> CREATOR;
9662  }
9663
9664  public abstract class NearbyDevice {
9665    method @NonNull public java.util.List<java.lang.Integer> getMediums();
9666    method @Nullable public String getName();
9667    method @IntRange(from=0xffffff81, to=126) public int getRssi();
9668    method public static boolean isValidMedium(int);
9669  }
9670
9671  public class NearbyManager {
9672    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);
9673    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);
9674    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopBroadcast(@NonNull android.nearby.BroadcastCallback);
9675    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopScan(@NonNull android.nearby.ScanCallback);
9676  }
9677
9678  public final class PresenceBroadcastRequest extends android.nearby.BroadcastRequest implements android.os.Parcelable {
9679    method public int describeContents();
9680    method @NonNull public java.util.List<java.lang.Integer> getActions();
9681    method @NonNull public android.nearby.PrivateCredential getCredential();
9682    method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
9683    method @NonNull public byte[] getSalt();
9684    method public void writeToParcel(@NonNull android.os.Parcel, int);
9685    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceBroadcastRequest> CREATOR;
9686  }
9687
9688  public static final class PresenceBroadcastRequest.Builder {
9689    ctor public PresenceBroadcastRequest.Builder(@NonNull java.util.List<java.lang.Integer>, @NonNull byte[], @NonNull android.nearby.PrivateCredential);
9690    method @NonNull public android.nearby.PresenceBroadcastRequest.Builder addAction(@IntRange(from=1, to=255) int);
9691    method @NonNull public android.nearby.PresenceBroadcastRequest.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
9692    method @NonNull public android.nearby.PresenceBroadcastRequest build();
9693    method @NonNull public android.nearby.PresenceBroadcastRequest.Builder setTxPower(@IntRange(from=0xffffff81, to=126) int);
9694    method @NonNull public android.nearby.PresenceBroadcastRequest.Builder setVersion(int);
9695  }
9696
9697  public abstract class PresenceCredential {
9698    method @NonNull public byte[] getAuthenticityKey();
9699    method @NonNull public java.util.List<android.nearby.CredentialElement> getCredentialElements();
9700    method public int getIdentityType();
9701    method @NonNull public byte[] getSecretId();
9702    method public int getType();
9703    field public static final int CREDENTIAL_TYPE_PRIVATE = 0; // 0x0
9704    field public static final int CREDENTIAL_TYPE_PUBLIC = 1; // 0x1
9705    field public static final int IDENTITY_TYPE_PRIVATE = 1; // 0x1
9706    field public static final int IDENTITY_TYPE_PROVISIONED = 2; // 0x2
9707    field public static final int IDENTITY_TYPE_TRUSTED = 3; // 0x3
9708    field public static final int IDENTITY_TYPE_UNKNOWN = 0; // 0x0
9709  }
9710
9711  public final class PresenceDevice extends android.nearby.NearbyDevice implements android.os.Parcelable {
9712    method public int describeContents();
9713    method @NonNull public String getDeviceId();
9714    method @Nullable public String getDeviceImageUrl();
9715    method public int getDeviceType();
9716    method public long getDiscoveryTimestampMillis();
9717    method @NonNull public byte[] getEncryptedIdentity();
9718    method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
9719    method @NonNull public byte[] getSalt();
9720    method @NonNull public byte[] getSecretId();
9721    method public void writeToParcel(@NonNull android.os.Parcel, int);
9722    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceDevice> CREATOR;
9723  }
9724
9725  public static final class PresenceDevice.Builder {
9726    ctor public PresenceDevice.Builder(@NonNull String, @NonNull byte[], @NonNull byte[], @NonNull byte[]);
9727    method @NonNull public android.nearby.PresenceDevice.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
9728    method @NonNull public android.nearby.PresenceDevice.Builder addMedium(int);
9729    method @NonNull public android.nearby.PresenceDevice build();
9730    method @NonNull public android.nearby.PresenceDevice.Builder setDeviceImageUrl(@Nullable String);
9731    method @NonNull public android.nearby.PresenceDevice.Builder setDeviceType(int);
9732    method @NonNull public android.nearby.PresenceDevice.Builder setDiscoveryTimestampMillis(long);
9733    method @NonNull public android.nearby.PresenceDevice.Builder setName(@Nullable String);
9734    method @NonNull public android.nearby.PresenceDevice.Builder setRssi(int);
9735  }
9736
9737  public final class PresenceScanFilter extends android.nearby.ScanFilter implements android.os.Parcelable {
9738    method public int describeContents();
9739    method @NonNull public java.util.List<android.nearby.PublicCredential> getCredentials();
9740    method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
9741    method @NonNull public java.util.List<java.lang.Integer> getPresenceActions();
9742    method public void writeToParcel(@NonNull android.os.Parcel, int);
9743    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceScanFilter> CREATOR;
9744  }
9745
9746  public static final class PresenceScanFilter.Builder {
9747    ctor public PresenceScanFilter.Builder();
9748    method @NonNull public android.nearby.PresenceScanFilter.Builder addCredential(@NonNull android.nearby.PublicCredential);
9749    method @NonNull public android.nearby.PresenceScanFilter.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
9750    method @NonNull public android.nearby.PresenceScanFilter.Builder addPresenceAction(@IntRange(from=1, to=255) int);
9751    method @NonNull public android.nearby.PresenceScanFilter build();
9752    method @NonNull public android.nearby.PresenceScanFilter.Builder setMaxPathLoss(@IntRange(from=0, to=127) int);
9753  }
9754
9755  public final class PrivateCredential extends android.nearby.PresenceCredential implements android.os.Parcelable {
9756    method public int describeContents();
9757    method @NonNull public String getDeviceName();
9758    method @NonNull public byte[] getMetadataEncryptionKey();
9759    method public void writeToParcel(@NonNull android.os.Parcel, int);
9760    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PrivateCredential> CREATOR;
9761  }
9762
9763  public static final class PrivateCredential.Builder {
9764    ctor public PrivateCredential.Builder(@NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull String);
9765    method @NonNull public android.nearby.PrivateCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement);
9766    method @NonNull public android.nearby.PrivateCredential build();
9767    method @NonNull public android.nearby.PrivateCredential.Builder setIdentityType(int);
9768  }
9769
9770  public final class PublicCredential extends android.nearby.PresenceCredential implements android.os.Parcelable {
9771    method public int describeContents();
9772    method @NonNull public byte[] getEncryptedMetadata();
9773    method @NonNull public byte[] getEncryptedMetadataKeyTag();
9774    method @NonNull public byte[] getPublicKey();
9775    method public void writeToParcel(@NonNull android.os.Parcel, int);
9776    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PublicCredential> CREATOR;
9777  }
9778
9779  public static final class PublicCredential.Builder {
9780    ctor public PublicCredential.Builder(@NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull byte[]);
9781    method @NonNull public android.nearby.PublicCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement);
9782    method @NonNull public android.nearby.PublicCredential build();
9783    method @NonNull public android.nearby.PublicCredential.Builder setIdentityType(int);
9784  }
9785
9786  public interface ScanCallback {
9787    method public void onDiscovered(@NonNull android.nearby.NearbyDevice);
9788    method public void onLost(@NonNull android.nearby.NearbyDevice);
9789    method public void onUpdated(@NonNull android.nearby.NearbyDevice);
9790  }
9791
9792  public abstract class ScanFilter {
9793    method @IntRange(from=0, to=127) public int getMaxPathLoss();
9794    method public int getType();
9795  }
9796
9797  public final class ScanRequest implements android.os.Parcelable {
9798    method public int describeContents();
9799    method @NonNull public java.util.List<android.nearby.ScanFilter> getScanFilters();
9800    method public int getScanMode();
9801    method public int getScanType();
9802    method @NonNull public android.os.WorkSource getWorkSource();
9803    method public boolean isBleEnabled();
9804    method public static boolean isValidScanMode(int);
9805    method public static boolean isValidScanType(int);
9806    method @NonNull public static String scanModeToString(int);
9807    method public void writeToParcel(@NonNull android.os.Parcel, int);
9808    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.ScanRequest> CREATOR;
9809    field public static final int SCAN_MODE_BALANCED = 1; // 0x1
9810    field public static final int SCAN_MODE_LOW_LATENCY = 2; // 0x2
9811    field public static final int SCAN_MODE_LOW_POWER = 0; // 0x0
9812    field public static final int SCAN_MODE_NO_POWER = -1; // 0xffffffff
9813    field public static final int SCAN_TYPE_FAST_PAIR = 1; // 0x1
9814    field public static final int SCAN_TYPE_NEARBY_PRESENCE = 2; // 0x2
9815  }
9816
9817  public static final class ScanRequest.Builder {
9818    ctor public ScanRequest.Builder();
9819    method @NonNull public android.nearby.ScanRequest.Builder addScanFilter(@NonNull android.nearby.ScanFilter);
9820    method @NonNull public android.nearby.ScanRequest build();
9821    method @NonNull public android.nearby.ScanRequest.Builder setBleEnabled(boolean);
9822    method @NonNull public android.nearby.ScanRequest.Builder setScanMode(int);
9823    method @NonNull public android.nearby.ScanRequest.Builder setScanType(int);
9824    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.nearby.ScanRequest.Builder setWorkSource(@Nullable android.os.WorkSource);
9825  }
9826
9827}
9828
9829package android.net {
9830
9831  public class CaptivePortal implements android.os.Parcelable {
9832    method @Deprecated public void logEvent(int, @NonNull String);
9833    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void reevaluateNetwork();
9834    method public void useNetwork();
9835    field public static final int APP_REQUEST_REEVALUATION_REQUIRED = 100; // 0x64
9836    field public static final int APP_RETURN_DISMISSED = 0; // 0x0
9837    field public static final int APP_RETURN_UNWANTED = 1; // 0x1
9838    field public static final int APP_RETURN_WANTED_AS_IS = 2; // 0x2
9839  }
9840
9841  public final class CaptivePortalData implements android.os.Parcelable {
9842    method public int describeContents();
9843    method public long getByteLimit();
9844    method public long getExpiryTimeMillis();
9845    method public long getRefreshTimeMillis();
9846    method @Nullable public android.net.Uri getUserPortalUrl();
9847    method public int getUserPortalUrlSource();
9848    method @Nullable public CharSequence getVenueFriendlyName();
9849    method @Nullable public android.net.Uri getVenueInfoUrl();
9850    method public int getVenueInfoUrlSource();
9851    method public boolean isCaptive();
9852    method public boolean isSessionExtendable();
9853    method public void writeToParcel(@NonNull android.os.Parcel, int);
9854    field public static final int CAPTIVE_PORTAL_DATA_SOURCE_OTHER = 0; // 0x0
9855    field public static final int CAPTIVE_PORTAL_DATA_SOURCE_PASSPOINT = 1; // 0x1
9856    field @NonNull public static final android.os.Parcelable.Creator<android.net.CaptivePortalData> CREATOR;
9857  }
9858
9859  public static class CaptivePortalData.Builder {
9860    ctor public CaptivePortalData.Builder();
9861    ctor public CaptivePortalData.Builder(@Nullable android.net.CaptivePortalData);
9862    method @NonNull public android.net.CaptivePortalData build();
9863    method @NonNull public android.net.CaptivePortalData.Builder setBytesRemaining(long);
9864    method @NonNull public android.net.CaptivePortalData.Builder setCaptive(boolean);
9865    method @NonNull public android.net.CaptivePortalData.Builder setExpiryTime(long);
9866    method @NonNull public android.net.CaptivePortalData.Builder setRefreshTime(long);
9867    method @NonNull public android.net.CaptivePortalData.Builder setSessionExtendable(boolean);
9868    method @NonNull public android.net.CaptivePortalData.Builder setUserPortalUrl(@Nullable android.net.Uri);
9869    method @NonNull public android.net.CaptivePortalData.Builder setUserPortalUrl(@Nullable android.net.Uri, int);
9870    method @NonNull public android.net.CaptivePortalData.Builder setVenueFriendlyName(@Nullable CharSequence);
9871    method @NonNull public android.net.CaptivePortalData.Builder setVenueInfoUrl(@Nullable android.net.Uri);
9872    method @NonNull public android.net.CaptivePortalData.Builder setVenueInfoUrl(@Nullable android.net.Uri, int);
9873  }
9874
9875  public class ConnectivityManager {
9876    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);
9877    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);
9878    method @Deprecated @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String getCaptivePortalServerUrl();
9879    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void getLatestTetheringEntitlementResult(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEntitlementResultListener);
9880    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public boolean isTetheringSupported();
9881    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public int registerNetworkProvider(@NonNull android.net.NetworkProvider);
9882    method public void registerQosCallback(@NonNull android.net.QosSocketInfo, @NonNull java.util.concurrent.Executor, @NonNull android.net.QosCallback);
9883    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
9884    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);
9885    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);
9886    method @RequiresPermission(android.Manifest.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE) public void setOemNetworkPreference(@NonNull android.net.OemNetworkPreferences, @Nullable java.util.concurrent.Executor, @Nullable Runnable);
9887    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public boolean shouldAvoidBadWifi();
9888    method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public void startCaptivePortalApp(@NonNull android.net.Network, @NonNull android.os.Bundle);
9889    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback);
9890    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback, android.os.Handler);
9891    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void stopTethering(int);
9892    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public void unregisterNetworkProvider(@NonNull android.net.NetworkProvider);
9893    method public void unregisterQosCallback(@NonNull android.net.QosCallback);
9894    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void unregisterTetheringEventCallback(@NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
9895    field public static final String EXTRA_CAPTIVE_PORTAL_PROBE_SPEC = "android.net.extra.CAPTIVE_PORTAL_PROBE_SPEC";
9896    field public static final String EXTRA_CAPTIVE_PORTAL_USER_AGENT = "android.net.extra.CAPTIVE_PORTAL_USER_AGENT";
9897    field public static final int TETHERING_BLUETOOTH = 2; // 0x2
9898    field public static final int TETHERING_USB = 1; // 0x1
9899    field public static final int TETHERING_WIFI = 0; // 0x0
9900    field @Deprecated public static final int TETHER_ERROR_ENTITLEMENT_UNKONWN = 13; // 0xd
9901    field @Deprecated public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0
9902    field @Deprecated public static final int TETHER_ERROR_PROVISION_FAILED = 11; // 0xb
9903    field public static final int TYPE_NONE = -1; // 0xffffffff
9904    field @Deprecated public static final int TYPE_PROXY = 16; // 0x10
9905    field @Deprecated public static final int TYPE_WIFI_P2P = 13; // 0xd
9906  }
9907
9908  @Deprecated public abstract static class ConnectivityManager.OnStartTetheringCallback {
9909    ctor @Deprecated public ConnectivityManager.OnStartTetheringCallback();
9910    method @Deprecated public void onTetheringFailed();
9911    method @Deprecated public void onTetheringStarted();
9912  }
9913
9914  @Deprecated public static interface ConnectivityManager.OnTetheringEntitlementResultListener {
9915    method @Deprecated public void onTetheringEntitlementResult(int);
9916  }
9917
9918  @Deprecated public abstract static class ConnectivityManager.OnTetheringEventCallback {
9919    ctor @Deprecated public ConnectivityManager.OnTetheringEventCallback();
9920    method @Deprecated public void onUpstreamChanged(@Nullable android.net.Network);
9921  }
9922
9923  public final class DscpPolicy implements android.os.Parcelable {
9924    method @Nullable public java.net.InetAddress getDestinationAddress();
9925    method @Nullable public android.util.Range<java.lang.Integer> getDestinationPortRange();
9926    method public int getDscpValue();
9927    method public int getPolicyId();
9928    method public int getProtocol();
9929    method @Nullable public java.net.InetAddress getSourceAddress();
9930    method public int getSourcePort();
9931    field @NonNull public static final android.os.Parcelable.Creator<android.net.DscpPolicy> CREATOR;
9932    field public static final int PROTOCOL_ANY = -1; // 0xffffffff
9933    field public static final int SOURCE_PORT_ANY = -1; // 0xffffffff
9934  }
9935
9936  public static final class DscpPolicy.Builder {
9937    ctor public DscpPolicy.Builder(int, int);
9938    method @NonNull public android.net.DscpPolicy build();
9939    method @NonNull public android.net.DscpPolicy.Builder setDestinationAddress(@NonNull java.net.InetAddress);
9940    method @NonNull public android.net.DscpPolicy.Builder setDestinationPortRange(@NonNull android.util.Range<java.lang.Integer>);
9941    method @NonNull public android.net.DscpPolicy.Builder setProtocol(int);
9942    method @NonNull public android.net.DscpPolicy.Builder setSourceAddress(@NonNull java.net.InetAddress);
9943    method @NonNull public android.net.DscpPolicy.Builder setSourcePort(int);
9944  }
9945
9946  public class EthernetManager {
9947    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>);
9948    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>);
9949    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);
9950    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>);
9951  }
9952
9953  public static interface EthernetManager.TetheredInterfaceCallback {
9954    method public void onAvailable(@NonNull String);
9955    method public void onUnavailable();
9956  }
9957
9958  public static class EthernetManager.TetheredInterfaceRequest {
9959    method public void release();
9960  }
9961
9962  public final class EthernetNetworkManagementException extends java.lang.RuntimeException implements android.os.Parcelable {
9963    ctor public EthernetNetworkManagementException(@NonNull String);
9964    method public int describeContents();
9965    method public void writeToParcel(@NonNull android.os.Parcel, int);
9966    field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkManagementException> CREATOR;
9967  }
9968
9969  public final class EthernetNetworkUpdateRequest implements android.os.Parcelable {
9970    method public int describeContents();
9971    method @Nullable public android.net.IpConfiguration getIpConfiguration();
9972    method @Nullable public android.net.NetworkCapabilities getNetworkCapabilities();
9973    method public void writeToParcel(@NonNull android.os.Parcel, int);
9974    field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkUpdateRequest> CREATOR;
9975  }
9976
9977  public static final class EthernetNetworkUpdateRequest.Builder {
9978    ctor public EthernetNetworkUpdateRequest.Builder();
9979    ctor public EthernetNetworkUpdateRequest.Builder(@NonNull android.net.EthernetNetworkUpdateRequest);
9980    method @NonNull public android.net.EthernetNetworkUpdateRequest build();
9981    method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setIpConfiguration(@Nullable android.net.IpConfiguration);
9982    method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setNetworkCapabilities(@Nullable android.net.NetworkCapabilities);
9983  }
9984
9985  public final class InvalidPacketException extends java.lang.Exception {
9986    ctor public InvalidPacketException(int);
9987    method public int getError();
9988    field public static final int ERROR_INVALID_IP_ADDRESS = -21; // 0xffffffeb
9989    field public static final int ERROR_INVALID_LENGTH = -23; // 0xffffffe9
9990    field public static final int ERROR_INVALID_PORT = -22; // 0xffffffea
9991  }
9992
9993  public final class IpConfiguration implements android.os.Parcelable {
9994    ctor public IpConfiguration();
9995    ctor public IpConfiguration(@NonNull android.net.IpConfiguration);
9996    method @NonNull public android.net.IpConfiguration.IpAssignment getIpAssignment();
9997    method @NonNull public android.net.IpConfiguration.ProxySettings getProxySettings();
9998    method public void setHttpProxy(@Nullable android.net.ProxyInfo);
9999    method public void setIpAssignment(@NonNull android.net.IpConfiguration.IpAssignment);
10000    method public void setProxySettings(@NonNull android.net.IpConfiguration.ProxySettings);
10001    method public void setStaticIpConfiguration(@Nullable android.net.StaticIpConfiguration);
10002  }
10003
10004  public enum IpConfiguration.IpAssignment {
10005    enum_constant public static final android.net.IpConfiguration.IpAssignment DHCP;
10006    enum_constant public static final android.net.IpConfiguration.IpAssignment STATIC;
10007    enum_constant public static final android.net.IpConfiguration.IpAssignment UNASSIGNED;
10008  }
10009
10010  public enum IpConfiguration.ProxySettings {
10011    enum_constant public static final android.net.IpConfiguration.ProxySettings NONE;
10012    enum_constant public static final android.net.IpConfiguration.ProxySettings PAC;
10013    enum_constant public static final android.net.IpConfiguration.ProxySettings STATIC;
10014    enum_constant public static final android.net.IpConfiguration.ProxySettings UNASSIGNED;
10015  }
10016
10017  public final class IpPrefix implements android.os.Parcelable {
10018    ctor public IpPrefix(@NonNull String);
10019  }
10020
10021  public class IpSecManager {
10022    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;
10023    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;
10024  }
10025
10026  public static final class IpSecManager.IpSecTunnelInterface implements java.lang.AutoCloseable {
10027    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void addAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
10028    method public void close();
10029    method @NonNull public String getInterfaceName();
10030    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void removeAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
10031    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void setUnderlyingNetwork(@NonNull android.net.Network) throws java.io.IOException;
10032  }
10033
10034  public static class IpSecTransform.Builder {
10035    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;
10036  }
10037
10038  public class KeepalivePacketData {
10039    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;
10040    method @NonNull public java.net.InetAddress getDstAddress();
10041    method public int getDstPort();
10042    method @NonNull public byte[] getPacket();
10043    method @NonNull public java.net.InetAddress getSrcAddress();
10044    method public int getSrcPort();
10045  }
10046
10047  public class LinkAddress implements android.os.Parcelable {
10048    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int);
10049    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int, long, long);
10050    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int);
10051    ctor public LinkAddress(@NonNull String);
10052    ctor public LinkAddress(@NonNull String, int, int);
10053    method public long getDeprecationTime();
10054    method public long getExpirationTime();
10055    method public boolean isGlobalPreferred();
10056    method public boolean isIpv4();
10057    method public boolean isIpv6();
10058    method public boolean isSameAddressAs(@Nullable android.net.LinkAddress);
10059    field public static final long LIFETIME_PERMANENT = 9223372036854775807L; // 0x7fffffffffffffffL
10060    field public static final long LIFETIME_UNKNOWN = -1L; // 0xffffffffffffffffL
10061  }
10062
10063  public final class LinkProperties implements android.os.Parcelable {
10064    ctor public LinkProperties(@Nullable android.net.LinkProperties);
10065    ctor public LinkProperties(@Nullable android.net.LinkProperties, boolean);
10066    method public boolean addDnsServer(@NonNull java.net.InetAddress);
10067    method public boolean addLinkAddress(@NonNull android.net.LinkAddress);
10068    method public boolean addPcscfServer(@NonNull java.net.InetAddress);
10069    method @NonNull public java.util.List<java.net.InetAddress> getAddresses();
10070    method @NonNull public java.util.List<java.lang.String> getAllInterfaceNames();
10071    method @NonNull public java.util.List<android.net.LinkAddress> getAllLinkAddresses();
10072    method @NonNull public java.util.List<android.net.RouteInfo> getAllRoutes();
10073    method @Nullable public android.net.Uri getCaptivePortalApiUrl();
10074    method @Nullable public android.net.CaptivePortalData getCaptivePortalData();
10075    method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers();
10076    method @Nullable public String getTcpBufferSizes();
10077    method @NonNull public java.util.List<java.net.InetAddress> getValidatedPrivateDnsServers();
10078    method public boolean hasGlobalIpv6Address();
10079    method public boolean hasIpv4Address();
10080    method public boolean hasIpv4DefaultRoute();
10081    method public boolean hasIpv4DnsServer();
10082    method public boolean hasIpv6DefaultRoute();
10083    method public boolean hasIpv6DnsServer();
10084    method public boolean isIpv4Provisioned();
10085    method public boolean isIpv6Provisioned();
10086    method public boolean isProvisioned();
10087    method public boolean isReachable(@NonNull java.net.InetAddress);
10088    method public boolean removeDnsServer(@NonNull java.net.InetAddress);
10089    method public boolean removeLinkAddress(@NonNull android.net.LinkAddress);
10090    method public boolean removeRoute(@NonNull android.net.RouteInfo);
10091    method public void setCaptivePortalApiUrl(@Nullable android.net.Uri);
10092    method public void setCaptivePortalData(@Nullable android.net.CaptivePortalData);
10093    method public void setPcscfServers(@NonNull java.util.Collection<java.net.InetAddress>);
10094    method public void setPrivateDnsServerName(@Nullable String);
10095    method public void setTcpBufferSizes(@Nullable String);
10096    method public void setUsePrivateDns(boolean);
10097    method public void setValidatedPrivateDnsServers(@NonNull java.util.Collection<java.net.InetAddress>);
10098  }
10099
10100  public final class MatchAllNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
10101    ctor public MatchAllNetworkSpecifier();
10102    method public int describeContents();
10103    method public void writeToParcel(@NonNull android.os.Parcel, int);
10104    field @NonNull public static final android.os.Parcelable.Creator<android.net.MatchAllNetworkSpecifier> CREATOR;
10105  }
10106
10107  public final class NattKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable {
10108    ctor public NattKeepalivePacketData(@NonNull java.net.InetAddress, int, @NonNull java.net.InetAddress, int, @NonNull byte[]) throws android.net.InvalidPacketException;
10109    method public int describeContents();
10110    method public void writeToParcel(@NonNull android.os.Parcel, int);
10111    field @NonNull public static final android.os.Parcelable.Creator<android.net.NattKeepalivePacketData> CREATOR;
10112  }
10113
10114  public class Network implements android.os.Parcelable {
10115    ctor public Network(@NonNull android.net.Network);
10116    method public int getNetId();
10117    method @NonNull public android.net.Network getPrivateDnsBypassingCopy();
10118  }
10119
10120  public abstract class NetworkAgent {
10121    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);
10122    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);
10123    method @Nullable public android.net.Network getNetwork();
10124    method public void markConnected();
10125    method public void onAddKeepalivePacketFilter(int, @NonNull android.net.KeepalivePacketData);
10126    method public void onAutomaticReconnectDisabled();
10127    method public void onBandwidthUpdateRequested();
10128    method public void onDscpPolicyStatusUpdated(int, int);
10129    method public void onNetworkCreated();
10130    method public void onNetworkDestroyed();
10131    method public void onNetworkUnwanted();
10132    method public void onQosCallbackRegistered(int, @NonNull android.net.QosFilter);
10133    method public void onQosCallbackUnregistered(int);
10134    method public void onRemoveKeepalivePacketFilter(int);
10135    method public void onSaveAcceptUnvalidated(boolean);
10136    method public void onSignalStrengthThresholdsUpdated(@NonNull int[]);
10137    method public void onStartSocketKeepalive(int, @NonNull java.time.Duration, @NonNull android.net.KeepalivePacketData);
10138    method public void onStopSocketKeepalive(int);
10139    method public void onValidationStatus(int, @Nullable android.net.Uri);
10140    method @NonNull public android.net.Network register();
10141    method public void sendAddDscpPolicy(@NonNull android.net.DscpPolicy);
10142    method public final void sendLinkProperties(@NonNull android.net.LinkProperties);
10143    method public final void sendNetworkCapabilities(@NonNull android.net.NetworkCapabilities);
10144    method public final void sendNetworkScore(@NonNull android.net.NetworkScore);
10145    method public final void sendNetworkScore(@IntRange(from=0, to=99) int);
10146    method public final void sendQosCallbackError(int, int);
10147    method public final void sendQosSessionAvailable(int, int, @NonNull android.net.QosSessionAttributes);
10148    method public final void sendQosSessionLost(int, int, int);
10149    method public void sendRemoveAllDscpPolicies();
10150    method public void sendRemoveDscpPolicy(int);
10151    method public final void sendSocketKeepaliveEvent(int, int);
10152    method @Deprecated public void setLegacySubtype(int, @NonNull String);
10153    method public void setLingerDuration(@NonNull java.time.Duration);
10154    method public void setTeardownDelayMillis(@IntRange(from=0, to=0x1388) int);
10155    method public final void setUnderlyingNetworks(@Nullable java.util.List<android.net.Network>);
10156    method public void unregister();
10157    method public void unregisterAfterReplacement(@IntRange(from=0, to=0x1388) int);
10158    field public static final int DSCP_POLICY_STATUS_DELETED = 4; // 0x4
10159    field public static final int DSCP_POLICY_STATUS_INSUFFICIENT_PROCESSING_RESOURCES = 3; // 0x3
10160    field public static final int DSCP_POLICY_STATUS_POLICY_NOT_FOUND = 5; // 0x5
10161    field public static final int DSCP_POLICY_STATUS_REQUESTED_CLASSIFIER_NOT_SUPPORTED = 2; // 0x2
10162    field public static final int DSCP_POLICY_STATUS_REQUEST_DECLINED = 1; // 0x1
10163    field public static final int DSCP_POLICY_STATUS_SUCCESS = 0; // 0x0
10164    field public static final int VALIDATION_STATUS_NOT_VALID = 2; // 0x2
10165    field public static final int VALIDATION_STATUS_VALID = 1; // 0x1
10166  }
10167
10168  public final class NetworkAgentConfig implements android.os.Parcelable {
10169    method public int describeContents();
10170    method public int getLegacyType();
10171    method @NonNull public String getLegacyTypeName();
10172    method public boolean isExplicitlySelected();
10173    method public boolean isPartialConnectivityAcceptable();
10174    method public boolean isUnvalidatedConnectivityAcceptable();
10175    method public void writeToParcel(@NonNull android.os.Parcel, int);
10176    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkAgentConfig> CREATOR;
10177  }
10178
10179  public static final class NetworkAgentConfig.Builder {
10180    ctor public NetworkAgentConfig.Builder();
10181    method @NonNull public android.net.NetworkAgentConfig build();
10182    method @NonNull public android.net.NetworkAgentConfig.Builder setExplicitlySelected(boolean);
10183    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyExtraInfo(@NonNull String);
10184    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubType(int);
10185    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubTypeName(@NonNull String);
10186    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyType(int);
10187    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyTypeName(@NonNull String);
10188    method @NonNull public android.net.NetworkAgentConfig.Builder setNat64DetectionEnabled(boolean);
10189    method @NonNull public android.net.NetworkAgentConfig.Builder setPartialConnectivityAcceptable(boolean);
10190    method @NonNull public android.net.NetworkAgentConfig.Builder setProvisioningNotificationEnabled(boolean);
10191    method @NonNull public android.net.NetworkAgentConfig.Builder setUnvalidatedConnectivityAcceptable(boolean);
10192  }
10193
10194  public final class NetworkCapabilities implements android.os.Parcelable {
10195    method @NonNull public int[] getAdministratorUids();
10196    method @Nullable public static String getCapabilityCarrierName(int);
10197    method @Nullable public String getSsid();
10198    method @NonNull public java.util.Set<java.lang.Integer> getSubscriptionIds();
10199    method @NonNull public int[] getTransportTypes();
10200    method @Nullable public java.util.List<android.net.Network> getUnderlyingNetworks();
10201    method public boolean isPrivateDnsBroken();
10202    method public boolean satisfiedByNetworkCapabilities(@Nullable android.net.NetworkCapabilities);
10203    field public static final int NET_CAPABILITY_BIP = 31; // 0x1f
10204    field public static final int NET_CAPABILITY_NOT_VCN_MANAGED = 28; // 0x1c
10205    field public static final int NET_CAPABILITY_OEM_PAID = 22; // 0x16
10206    field public static final int NET_CAPABILITY_OEM_PRIVATE = 26; // 0x1a
10207    field public static final int NET_CAPABILITY_PARTIAL_CONNECTIVITY = 24; // 0x18
10208    field public static final int NET_CAPABILITY_VEHICLE_INTERNAL = 27; // 0x1b
10209    field public static final int NET_CAPABILITY_VSIM = 30; // 0x1e
10210  }
10211
10212  public static final class NetworkCapabilities.Builder {
10213    ctor public NetworkCapabilities.Builder();
10214    ctor public NetworkCapabilities.Builder(@NonNull android.net.NetworkCapabilities);
10215    method @NonNull public android.net.NetworkCapabilities.Builder addCapability(int);
10216    method @NonNull public android.net.NetworkCapabilities.Builder addEnterpriseId(int);
10217    method @NonNull public android.net.NetworkCapabilities.Builder addTransportType(int);
10218    method @NonNull public android.net.NetworkCapabilities build();
10219    method @NonNull public android.net.NetworkCapabilities.Builder removeCapability(int);
10220    method @NonNull public android.net.NetworkCapabilities.Builder removeEnterpriseId(int);
10221    method @NonNull public android.net.NetworkCapabilities.Builder removeTransportType(int);
10222    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setAdministratorUids(@NonNull int[]);
10223    method @NonNull public android.net.NetworkCapabilities.Builder setLinkDownstreamBandwidthKbps(int);
10224    method @NonNull public android.net.NetworkCapabilities.Builder setLinkUpstreamBandwidthKbps(int);
10225    method @NonNull public android.net.NetworkCapabilities.Builder setNetworkSpecifier(@Nullable android.net.NetworkSpecifier);
10226    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setOwnerUid(int);
10227    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorPackageName(@Nullable String);
10228    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorUid(int);
10229    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkCapabilities.Builder setSignalStrength(int);
10230    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setSsid(@Nullable String);
10231    method @NonNull public android.net.NetworkCapabilities.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>);
10232    method @NonNull public android.net.NetworkCapabilities.Builder setTransportInfo(@Nullable android.net.TransportInfo);
10233    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setUnderlyingNetworks(@Nullable java.util.List<android.net.Network>);
10234    method @NonNull public static android.net.NetworkCapabilities.Builder withoutDefaultCapabilities();
10235  }
10236
10237  @Deprecated public class NetworkKey implements android.os.Parcelable {
10238    ctor @Deprecated public NetworkKey(android.net.WifiKey);
10239    method @Deprecated @Nullable public static android.net.NetworkKey createFromScanResult(@NonNull android.net.wifi.ScanResult);
10240    method @Deprecated public int describeContents();
10241    method @Deprecated public void writeToParcel(android.os.Parcel, int);
10242    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkKey> CREATOR;
10243    field @Deprecated public static final int TYPE_WIFI = 1; // 0x1
10244    field @Deprecated public final int type;
10245    field @Deprecated public final android.net.WifiKey wifiKey;
10246  }
10247
10248  public class NetworkProvider {
10249    ctor public NetworkProvider(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String);
10250    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void declareNetworkRequestUnfulfillable(@NonNull android.net.NetworkRequest);
10251    method public int getProviderId();
10252    method public void onNetworkRequestWithdrawn(@NonNull android.net.NetworkRequest);
10253    method public void onNetworkRequested(@NonNull android.net.NetworkRequest, @IntRange(from=0, to=99) int, int);
10254    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);
10255    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void unregisterNetworkOffer(@NonNull android.net.NetworkProvider.NetworkOfferCallback);
10256    field public static final int ID_NONE = -1; // 0xffffffff
10257  }
10258
10259  public static interface NetworkProvider.NetworkOfferCallback {
10260    method public void onNetworkNeeded(@NonNull android.net.NetworkRequest);
10261    method public void onNetworkUnneeded(@NonNull android.net.NetworkRequest);
10262  }
10263
10264  public abstract class NetworkRecommendationProvider {
10265    ctor public NetworkRecommendationProvider(android.content.Context, java.util.concurrent.Executor);
10266    method public final android.os.IBinder getBinder();
10267    method public abstract void onRequestScores(android.net.NetworkKey[]);
10268  }
10269
10270  public class NetworkReleasedException extends java.lang.Exception {
10271    ctor public NetworkReleasedException();
10272  }
10273
10274  public class NetworkRequest implements android.os.Parcelable {
10275    method @Nullable public String getRequestorPackageName();
10276    method public int getRequestorUid();
10277  }
10278
10279  public static class NetworkRequest.Builder {
10280    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkRequest.Builder setSignalStrength(int);
10281    method @NonNull public android.net.NetworkRequest.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>);
10282  }
10283
10284  public final class NetworkScore implements android.os.Parcelable {
10285    method public int describeContents();
10286    method public int getKeepConnectedReason();
10287    method public int getLegacyInt();
10288    method public boolean isExiting();
10289    method public boolean isTransportPrimary();
10290    method public void writeToParcel(@NonNull android.os.Parcel, int);
10291    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkScore> CREATOR;
10292    field public static final int KEEP_CONNECTED_FOR_HANDOVER = 1; // 0x1
10293    field public static final int KEEP_CONNECTED_NONE = 0; // 0x0
10294  }
10295
10296  public static final class NetworkScore.Builder {
10297    ctor public NetworkScore.Builder();
10298    method @NonNull public android.net.NetworkScore build();
10299    method @NonNull public android.net.NetworkScore.Builder setExiting(boolean);
10300    method @NonNull public android.net.NetworkScore.Builder setKeepConnectedReason(int);
10301    method @NonNull public android.net.NetworkScore.Builder setLegacyInt(int);
10302    method @NonNull public android.net.NetworkScore.Builder setTransportPrimary(boolean);
10303  }
10304
10305  @Deprecated public class NetworkScoreManager {
10306    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public boolean clearScores() throws java.lang.SecurityException;
10307    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public void disableScoring() throws java.lang.SecurityException;
10308    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public String getActiveScorerPackage();
10309    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;
10310    method @Deprecated @RequiresPermission(android.Manifest.permission.REQUEST_NETWORK_SCORES) public boolean requestScores(@NonNull java.util.Collection<android.net.NetworkKey>) throws java.lang.SecurityException;
10311    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public boolean setActiveScorer(String) throws java.lang.SecurityException;
10312    method @Deprecated @RequiresPermission(android.Manifest.permission.SCORE_NETWORKS) public boolean updateScores(@NonNull android.net.ScoredNetwork[]) throws java.lang.SecurityException;
10313    field @Deprecated public static final String ACTION_CHANGE_ACTIVE = "android.net.scoring.CHANGE_ACTIVE";
10314    field @Deprecated public static final String ACTION_CUSTOM_ENABLE = "android.net.scoring.CUSTOM_ENABLE";
10315    field @Deprecated public static final String ACTION_RECOMMEND_NETWORKS = "android.net.action.RECOMMEND_NETWORKS";
10316    field @Deprecated public static final String ACTION_SCORER_CHANGED = "android.net.scoring.SCORER_CHANGED";
10317    field @Deprecated public static final String ACTION_SCORE_NETWORKS = "android.net.scoring.SCORE_NETWORKS";
10318    field @Deprecated public static final String EXTRA_NETWORKS_TO_SCORE = "networksToScore";
10319    field @Deprecated public static final String EXTRA_NEW_SCORER = "newScorer";
10320    field @Deprecated public static final String EXTRA_PACKAGE_NAME = "packageName";
10321    field @Deprecated public static final int SCORE_FILTER_CURRENT_NETWORK = 1; // 0x1
10322    field @Deprecated public static final int SCORE_FILTER_NONE = 0; // 0x0
10323    field @Deprecated public static final int SCORE_FILTER_SCAN_RESULTS = 2; // 0x2
10324  }
10325
10326  @Deprecated public abstract static class NetworkScoreManager.NetworkScoreCallback {
10327    ctor @Deprecated public NetworkScoreManager.NetworkScoreCallback();
10328    method @Deprecated public abstract void onScoresInvalidated();
10329    method @Deprecated public abstract void onScoresUpdated(@NonNull java.util.Collection<android.net.ScoredNetwork>);
10330  }
10331
10332  public abstract class NetworkSpecifier {
10333    method public boolean canBeSatisfiedBy(@Nullable android.net.NetworkSpecifier);
10334    method @Nullable public android.net.NetworkSpecifier redact();
10335  }
10336
10337  public class NetworkStack {
10338    method @Nullable public static android.os.IBinder getService();
10339    field public static final String PERMISSION_MAINLINE_NETWORK_STACK = "android.permission.MAINLINE_NETWORK_STACK";
10340  }
10341
10342  public final class NetworkStats implements java.lang.Iterable<android.net.NetworkStats.Entry> android.os.Parcelable {
10343    ctor public NetworkStats(long, int);
10344    method @NonNull public android.net.NetworkStats add(@NonNull android.net.NetworkStats);
10345    method @NonNull public android.net.NetworkStats addEntry(@NonNull android.net.NetworkStats.Entry);
10346    method public int describeContents();
10347    method @NonNull public java.util.Iterator<android.net.NetworkStats.Entry> iterator();
10348    method @NonNull public android.net.NetworkStats subtract(@NonNull android.net.NetworkStats);
10349    method public void writeToParcel(@NonNull android.os.Parcel, int);
10350    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkStats> CREATOR;
10351    field public static final int DEFAULT_NETWORK_ALL = -1; // 0xffffffff
10352    field public static final int DEFAULT_NETWORK_NO = 0; // 0x0
10353    field public static final int DEFAULT_NETWORK_YES = 1; // 0x1
10354    field public static final String IFACE_VT = "vt_data0";
10355    field public static final int METERED_ALL = -1; // 0xffffffff
10356    field public static final int METERED_NO = 0; // 0x0
10357    field public static final int METERED_YES = 1; // 0x1
10358    field public static final int ROAMING_ALL = -1; // 0xffffffff
10359    field public static final int ROAMING_NO = 0; // 0x0
10360    field public static final int ROAMING_YES = 1; // 0x1
10361    field public static final int SET_ALL = -1; // 0xffffffff
10362    field public static final int SET_DEFAULT = 0; // 0x0
10363    field public static final int SET_FOREGROUND = 1; // 0x1
10364    field public static final int TAG_NONE = 0; // 0x0
10365    field public static final int UID_ALL = -1; // 0xffffffff
10366    field public static final int UID_TETHERING = -5; // 0xfffffffb
10367  }
10368
10369  public static class NetworkStats.Entry {
10370    ctor public NetworkStats.Entry(@Nullable String, int, int, int, int, int, int, long, long, long, long, long);
10371    method public int getDefaultNetwork();
10372    method public int getMetered();
10373    method public long getOperations();
10374    method public int getRoaming();
10375    method public long getRxBytes();
10376    method public long getRxPackets();
10377    method public int getSet();
10378    method public int getTag();
10379    method public long getTxBytes();
10380    method public long getTxPackets();
10381    method public int getUid();
10382  }
10383
10384  public final class OemNetworkPreferences implements android.os.Parcelable {
10385    method public int describeContents();
10386    method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getNetworkPreferences();
10387    method public void writeToParcel(@NonNull android.os.Parcel, int);
10388    field @NonNull public static final android.os.Parcelable.Creator<android.net.OemNetworkPreferences> CREATOR;
10389    field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID = 1; // 0x1
10390    field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID_NO_FALLBACK = 2; // 0x2
10391    field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID_ONLY = 3; // 0x3
10392    field public static final int OEM_NETWORK_PREFERENCE_OEM_PRIVATE_ONLY = 4; // 0x4
10393    field public static final int OEM_NETWORK_PREFERENCE_UNINITIALIZED = 0; // 0x0
10394  }
10395
10396  public static final class OemNetworkPreferences.Builder {
10397    ctor public OemNetworkPreferences.Builder();
10398    ctor public OemNetworkPreferences.Builder(@NonNull android.net.OemNetworkPreferences);
10399    method @NonNull public android.net.OemNetworkPreferences.Builder addNetworkPreference(@NonNull String, int);
10400    method @NonNull public android.net.OemNetworkPreferences build();
10401    method @NonNull public android.net.OemNetworkPreferences.Builder clearNetworkPreference(@NonNull String);
10402  }
10403
10404  public abstract class QosCallback {
10405    ctor public QosCallback();
10406    method public void onError(@NonNull android.net.QosCallbackException);
10407    method public void onQosSessionAvailable(@NonNull android.net.QosSession, @NonNull android.net.QosSessionAttributes);
10408    method public void onQosSessionLost(@NonNull android.net.QosSession);
10409  }
10410
10411  public static class QosCallback.QosCallbackRegistrationException extends java.lang.RuntimeException {
10412  }
10413
10414  public final class QosCallbackException extends java.lang.Exception {
10415    ctor public QosCallbackException(@NonNull String);
10416    ctor public QosCallbackException(@NonNull Throwable);
10417  }
10418
10419  public abstract class QosFilter {
10420    method @NonNull public abstract android.net.Network getNetwork();
10421    method public abstract boolean matchesLocalAddress(@NonNull java.net.InetAddress, int, int);
10422    method public abstract boolean matchesRemoteAddress(@NonNull java.net.InetAddress, int, int);
10423  }
10424
10425  public final class QosSession implements android.os.Parcelable {
10426    ctor public QosSession(int, int);
10427    method public int describeContents();
10428    method public int getSessionId();
10429    method public int getSessionType();
10430    method public long getUniqueId();
10431    method public void writeToParcel(@NonNull android.os.Parcel, int);
10432    field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSession> CREATOR;
10433    field public static final int TYPE_EPS_BEARER = 1; // 0x1
10434    field public static final int TYPE_NR_BEARER = 2; // 0x2
10435  }
10436
10437  public interface QosSessionAttributes {
10438  }
10439
10440  public final class QosSocketInfo implements android.os.Parcelable {
10441    ctor public QosSocketInfo(@NonNull android.net.Network, @NonNull java.net.Socket) throws java.io.IOException;
10442    method public int describeContents();
10443    method @NonNull public java.net.InetSocketAddress getLocalSocketAddress();
10444    method @NonNull public android.net.Network getNetwork();
10445    method @Nullable public java.net.InetSocketAddress getRemoteSocketAddress();
10446    method public void writeToParcel(@NonNull android.os.Parcel, int);
10447    field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSocketInfo> CREATOR;
10448  }
10449
10450  public final class RouteInfo implements android.os.Parcelable {
10451    ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int);
10452    ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int, int);
10453    method public int getMtu();
10454  }
10455
10456  @Deprecated public class RssiCurve implements android.os.Parcelable {
10457    ctor @Deprecated public RssiCurve(int, int, byte[]);
10458    ctor @Deprecated public RssiCurve(int, int, byte[], int);
10459    method @Deprecated public int describeContents();
10460    method @Deprecated public byte lookupScore(int);
10461    method @Deprecated public byte lookupScore(int, boolean);
10462    method @Deprecated public void writeToParcel(android.os.Parcel, int);
10463    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.RssiCurve> CREATOR;
10464    field @Deprecated public final int activeNetworkRssiBoost;
10465    field @Deprecated public final int bucketWidth;
10466    field @Deprecated public final byte[] rssiBuckets;
10467    field @Deprecated public final int start;
10468  }
10469
10470  @Deprecated public class ScoredNetwork implements android.os.Parcelable {
10471    ctor @Deprecated public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve);
10472    ctor @Deprecated public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve, boolean);
10473    ctor @Deprecated public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve, boolean, @Nullable android.os.Bundle);
10474    method @Deprecated public int calculateBadge(int);
10475    method @Deprecated public int describeContents();
10476    method @Deprecated public void writeToParcel(android.os.Parcel, int);
10477    field @Deprecated public static final String ATTRIBUTES_KEY_BADGING_CURVE = "android.net.attributes.key.BADGING_CURVE";
10478    field @Deprecated public static final String ATTRIBUTES_KEY_HAS_CAPTIVE_PORTAL = "android.net.attributes.key.HAS_CAPTIVE_PORTAL";
10479    field @Deprecated public static final String ATTRIBUTES_KEY_RANKING_SCORE_OFFSET = "android.net.attributes.key.RANKING_SCORE_OFFSET";
10480    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.ScoredNetwork> CREATOR;
10481    field @Deprecated @Nullable public final android.os.Bundle attributes;
10482    field @Deprecated public final boolean meteredHint;
10483    field @Deprecated public final android.net.NetworkKey networkKey;
10484    field @Deprecated public final android.net.RssiCurve rssiCurve;
10485  }
10486
10487  public abstract class SocketKeepalive implements java.lang.AutoCloseable {
10488    field public static final int ERROR_NO_SUCH_SLOT = -33; // 0xffffffdf
10489    field public static final int SUCCESS = 0; // 0x0
10490  }
10491
10492  public class SocketLocalAddressChangedException extends java.lang.Exception {
10493    ctor public SocketLocalAddressChangedException();
10494  }
10495
10496  public class SocketNotBoundException extends java.lang.Exception {
10497    ctor public SocketNotBoundException();
10498  }
10499
10500  public final class StaticIpConfiguration implements android.os.Parcelable {
10501    ctor public StaticIpConfiguration();
10502    ctor public StaticIpConfiguration(@Nullable android.net.StaticIpConfiguration);
10503    method public void addDnsServer(@NonNull java.net.InetAddress);
10504    method public void clear();
10505    method @NonNull public java.util.List<android.net.RouteInfo> getRoutes(@Nullable String);
10506  }
10507
10508  public final class TcpKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable {
10509    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;
10510    method public int describeContents();
10511    method public int getIpTos();
10512    method public int getIpTtl();
10513    method public int getTcpAck();
10514    method public int getTcpSeq();
10515    method public int getTcpWindow();
10516    method public int getTcpWindowScale();
10517    method public void writeToParcel(@NonNull android.os.Parcel, int);
10518    field @NonNull public static final android.os.Parcelable.Creator<android.net.TcpKeepalivePacketData> CREATOR;
10519  }
10520
10521  public final class TetheredClient implements android.os.Parcelable {
10522    ctor public TetheredClient(@NonNull android.net.MacAddress, @NonNull java.util.Collection<android.net.TetheredClient.AddressInfo>, int);
10523    method public int describeContents();
10524    method @NonNull public java.util.List<android.net.TetheredClient.AddressInfo> getAddresses();
10525    method @NonNull public android.net.MacAddress getMacAddress();
10526    method public int getTetheringType();
10527    method public void writeToParcel(@NonNull android.os.Parcel, int);
10528    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient> CREATOR;
10529  }
10530
10531  public static final class TetheredClient.AddressInfo implements android.os.Parcelable {
10532    method public int describeContents();
10533    method @NonNull public android.net.LinkAddress getAddress();
10534    method @Nullable public String getHostname();
10535    method public void writeToParcel(@NonNull android.os.Parcel, int);
10536    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient.AddressInfo> CREATOR;
10537  }
10538
10539  public final class TetheringInterface implements android.os.Parcelable {
10540    ctor public TetheringInterface(int, @NonNull String);
10541    method public int describeContents();
10542    method @NonNull public String getInterface();
10543    method public int getType();
10544    method public void writeToParcel(@NonNull android.os.Parcel, int);
10545    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheringInterface> CREATOR;
10546  }
10547
10548  public class TetheringManager {
10549    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.TetheringEventCallback);
10550    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);
10551    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);
10552    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopAllTethering();
10553    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopTethering(int);
10554    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.ACCESS_NETWORK_STATE}) public void unregisterTetheringEventCallback(@NonNull android.net.TetheringManager.TetheringEventCallback);
10555    field @Deprecated public static final String ACTION_TETHER_STATE_CHANGED = "android.net.conn.TETHER_STATE_CHANGED";
10556    field public static final int CONNECTIVITY_SCOPE_GLOBAL = 1; // 0x1
10557    field public static final int CONNECTIVITY_SCOPE_LOCAL = 2; // 0x2
10558    field public static final String EXTRA_ACTIVE_LOCAL_ONLY = "android.net.extra.ACTIVE_LOCAL_ONLY";
10559    field public static final String EXTRA_ACTIVE_TETHER = "tetherArray";
10560    field public static final String EXTRA_AVAILABLE_TETHER = "availableArray";
10561    field public static final String EXTRA_ERRORED_TETHER = "erroredArray";
10562    field public static final int TETHERING_BLUETOOTH = 2; // 0x2
10563    field public static final int TETHERING_ETHERNET = 5; // 0x5
10564    field public static final int TETHERING_INVALID = -1; // 0xffffffff
10565    field public static final int TETHERING_NCM = 4; // 0x4
10566    field public static final int TETHERING_USB = 1; // 0x1
10567    field public static final int TETHERING_WIFI = 0; // 0x0
10568    field public static final int TETHERING_WIFI_P2P = 3; // 0x3
10569    field public static final int TETHER_ERROR_DHCPSERVER_ERROR = 12; // 0xc
10570    field public static final int TETHER_ERROR_DISABLE_FORWARDING_ERROR = 9; // 0x9
10571    field public static final int TETHER_ERROR_ENABLE_FORWARDING_ERROR = 8; // 0x8
10572    field public static final int TETHER_ERROR_ENTITLEMENT_UNKNOWN = 13; // 0xd
10573    field public static final int TETHER_ERROR_IFACE_CFG_ERROR = 10; // 0xa
10574    field public static final int TETHER_ERROR_INTERNAL_ERROR = 5; // 0x5
10575    field public static final int TETHER_ERROR_NO_ACCESS_TETHERING_PERMISSION = 15; // 0xf
10576    field public static final int TETHER_ERROR_NO_CHANGE_TETHERING_PERMISSION = 14; // 0xe
10577    field public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0
10578    field public static final int TETHER_ERROR_PROVISIONING_FAILED = 11; // 0xb
10579    field public static final int TETHER_ERROR_SERVICE_UNAVAIL = 2; // 0x2
10580    field public static final int TETHER_ERROR_TETHER_IFACE_ERROR = 6; // 0x6
10581    field public static final int TETHER_ERROR_UNAVAIL_IFACE = 4; // 0x4
10582    field public static final int TETHER_ERROR_UNKNOWN_IFACE = 1; // 0x1
10583    field public static final int TETHER_ERROR_UNKNOWN_TYPE = 16; // 0x10
10584    field public static final int TETHER_ERROR_UNSUPPORTED = 3; // 0x3
10585    field public static final int TETHER_ERROR_UNTETHER_IFACE_ERROR = 7; // 0x7
10586    field public static final int TETHER_HARDWARE_OFFLOAD_FAILED = 2; // 0x2
10587    field public static final int TETHER_HARDWARE_OFFLOAD_STARTED = 1; // 0x1
10588    field public static final int TETHER_HARDWARE_OFFLOAD_STOPPED = 0; // 0x0
10589  }
10590
10591  public static interface TetheringManager.OnTetheringEntitlementResultListener {
10592    method public void onTetheringEntitlementResult(int);
10593  }
10594
10595  public static interface TetheringManager.StartTetheringCallback {
10596    method public default void onTetheringFailed(int);
10597    method public default void onTetheringStarted();
10598  }
10599
10600  public static interface TetheringManager.TetheringEventCallback {
10601    method public default void onClientsChanged(@NonNull java.util.Collection<android.net.TetheredClient>);
10602    method public default void onError(@NonNull String, int);
10603    method public default void onError(@NonNull android.net.TetheringInterface, int);
10604    method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.List<java.lang.String>);
10605    method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
10606    method public default void onOffloadStatusChanged(int);
10607    method public default void onTetherableInterfacesChanged(@NonNull java.util.List<java.lang.String>);
10608    method public default void onTetherableInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
10609    method public default void onTetheredInterfacesChanged(@NonNull java.util.List<java.lang.String>);
10610    method public default void onTetheredInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
10611    method public default void onTetheringSupported(boolean);
10612    method public default void onUpstreamChanged(@Nullable android.net.Network);
10613  }
10614
10615  public static class TetheringManager.TetheringRequest {
10616    method @Nullable public android.net.LinkAddress getClientStaticIpv4Address();
10617    method public int getConnectivityScope();
10618    method @Nullable public android.net.LinkAddress getLocalIpv4Address();
10619    method public boolean getShouldShowEntitlementUi();
10620    method public int getTetheringType();
10621    method public boolean isExemptFromEntitlementCheck();
10622  }
10623
10624  public static class TetheringManager.TetheringRequest.Builder {
10625    ctor public TetheringManager.TetheringRequest.Builder(int);
10626    method @NonNull public android.net.TetheringManager.TetheringRequest build();
10627    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setConnectivityScope(int);
10628    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setExemptFromEntitlementCheck(boolean);
10629    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setShouldShowEntitlementUi(boolean);
10630    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setStaticIpv4Addresses(@NonNull android.net.LinkAddress, @NonNull android.net.LinkAddress);
10631  }
10632
10633  public class TrafficStats {
10634    method public static void setThreadStatsTagApp();
10635    method public static void setThreadStatsTagBackup();
10636    method public static void setThreadStatsTagRestore();
10637    field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_END = -113; // 0xffffff8f
10638    field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_START = -128; // 0xffffff80
10639    field public static final int TAG_NETWORK_STACK_RANGE_END = -257; // 0xfffffeff
10640    field public static final int TAG_NETWORK_STACK_RANGE_START = -768; // 0xfffffd00
10641    field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_END = -241; // 0xffffff0f
10642    field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_START = -256; // 0xffffff00
10643  }
10644
10645  public abstract class Uri implements java.lang.Comparable<android.net.Uri> android.os.Parcelable {
10646    method @NonNull public String toSafeString();
10647  }
10648
10649  public class VpnService extends android.app.Service {
10650    method @RequiresPermission(android.Manifest.permission.CONTROL_VPN) public static void prepareAndAuthorize(android.content.Context);
10651  }
10652
10653  public class WebAddress {
10654    ctor public WebAddress(String) throws android.net.ParseException;
10655  }
10656
10657  @Deprecated public class WifiKey implements android.os.Parcelable {
10658    ctor @Deprecated public WifiKey(String, String);
10659    method @Deprecated public int describeContents();
10660    method @Deprecated public void writeToParcel(android.os.Parcel, int);
10661    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.WifiKey> CREATOR;
10662    field @Deprecated public final String bssid;
10663    field @Deprecated public final String ssid;
10664  }
10665
10666}
10667
10668package android.net.apf {
10669
10670  public final class ApfCapabilities implements android.os.Parcelable {
10671    ctor public ApfCapabilities(int, int, int);
10672    method public int describeContents();
10673    method public static boolean getApfDrop8023Frames();
10674    method @NonNull public static int[] getApfEtherTypeBlackList();
10675    method public boolean hasDataAccess();
10676    method public void writeToParcel(android.os.Parcel, int);
10677    field public static final android.os.Parcelable.Creator<android.net.apf.ApfCapabilities> CREATOR;
10678    field public final int apfPacketFormat;
10679    field public final int apfVersionSupported;
10680    field public final int maximumApfProgramSize;
10681  }
10682
10683}
10684
10685package android.net.eap {
10686
10687  public final class EapSessionConfig {
10688    method @Deprecated @Nullable public android.net.eap.EapSessionConfig.EapMsChapV2Config getEapMsChapV2onfig();
10689  }
10690
10691  @Deprecated public abstract static class EapSessionConfig.EapUiccConfig extends android.net.eap.EapSessionConfig.EapMethodConfig {
10692    method @Deprecated public int getAppType();
10693    method @Deprecated public int getSubId();
10694  }
10695
10696}
10697
10698package android.net.ipsec.ike {
10699
10700  public interface ChildSessionCallback {
10701    method @Deprecated public default void onClosedExceptionally(@NonNull android.net.ipsec.ike.exceptions.IkeException);
10702    method public default void onIpSecTransformsMigrated(@NonNull android.net.IpSecTransform, @NonNull android.net.IpSecTransform);
10703  }
10704
10705  public final class ChildSessionConfiguration {
10706    method @NonNull public java.util.List<android.net.LinkAddress> getInternalAddresses();
10707    method @NonNull public java.util.List<java.net.InetAddress> getInternalDhcpServers();
10708    method @NonNull public java.util.List<java.net.InetAddress> getInternalDnsServers();
10709    method @NonNull public java.util.List<android.net.IpPrefix> getInternalSubnets();
10710  }
10711
10712  public static final class ChildSessionConfiguration.Builder {
10713    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalAddress(@NonNull android.net.LinkAddress);
10714    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalDhcpServer(@NonNull java.net.InetAddress);
10715    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalDnsServer(@NonNull java.net.InetAddress);
10716    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalSubnet(@NonNull android.net.IpPrefix);
10717    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalAddresses();
10718    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalDhcpServers();
10719    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalDnsServers();
10720    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalSubnets();
10721  }
10722
10723  public abstract class ChildSessionParams {
10724    method @Deprecated @NonNull public java.util.List<android.net.ipsec.ike.ChildSaProposal> getSaProposals();
10725  }
10726
10727  public final class IkeSession implements java.lang.AutoCloseable {
10728    method public void setNetwork(@NonNull android.net.Network);
10729  }
10730
10731  public interface IkeSessionCallback {
10732    method @Deprecated public default void onClosedExceptionally(@NonNull android.net.ipsec.ike.exceptions.IkeException);
10733    method @Deprecated public default void onError(@NonNull android.net.ipsec.ike.exceptions.IkeProtocolException);
10734    method public default void onIkeSessionConnectionInfoChanged(@NonNull android.net.ipsec.ike.IkeSessionConnectionInfo);
10735  }
10736
10737  public final class IkeSessionConfiguration {
10738    method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers();
10739  }
10740
10741  public static final class IkeSessionConfiguration.Builder {
10742    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder addPcscfServer(@NonNull java.net.InetAddress);
10743    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder clearPcscfServers();
10744  }
10745
10746  public final class IkeSessionParams {
10747    method @NonNull public java.util.List<android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest> getConfigurationRequests();
10748    method @IntRange(from=0x0, to=0x3f) public int getDscp();
10749    method @Nullable public android.net.ipsec.ike.ike3gpp.Ike3gppExtension getIke3gppExtension();
10750    method @Deprecated @NonNull public java.util.List<android.net.ipsec.ike.IkeSaProposal> getSaProposals();
10751    field public static final int IKE_OPTION_REKEY_MOBILITY = 5; // 0x5
10752  }
10753
10754  public static final class IkeSessionParams.Builder {
10755    ctor @Deprecated public IkeSessionParams.Builder(@NonNull android.content.Context);
10756    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addPcscfServerRequest(@NonNull java.net.InetAddress);
10757    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addPcscfServerRequest(int);
10758    method @Deprecated @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.IkeSaProposal);
10759    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setDscp(@IntRange(from=0x0, to=0x3f) int);
10760    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setIke3gppExtension(@NonNull android.net.ipsec.ike.ike3gpp.Ike3gppExtension);
10761  }
10762
10763  public static interface IkeSessionParams.ConfigRequestIpv4PcscfServer extends android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest {
10764    method @Nullable public java.net.Inet4Address getAddress();
10765  }
10766
10767  public static interface IkeSessionParams.ConfigRequestIpv6PcscfServer extends android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest {
10768    method @Nullable public java.net.Inet6Address getAddress();
10769  }
10770
10771  public static interface IkeSessionParams.IkeConfigRequest {
10772  }
10773
10774  public static final class TransportModeChildSessionParams.Builder {
10775    method @Deprecated @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal);
10776  }
10777
10778  public static final class TunnelModeChildSessionParams.Builder {
10779    method @Deprecated @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal);
10780  }
10781
10782}
10783
10784package android.net.ipsec.ike.exceptions {
10785
10786  public abstract class IkeProtocolException extends android.net.ipsec.ike.exceptions.IkeException {
10787    method @Nullable public byte[] getErrorData();
10788  }
10789
10790}
10791
10792package android.net.ipsec.ike.ike3gpp {
10793
10794  public final class Ike3gppBackoffTimer extends android.net.ipsec.ike.ike3gpp.Ike3gppData {
10795    ctor public Ike3gppBackoffTimer(byte, int);
10796    method public int getBackoffCause();
10797    method public byte getBackoffTimer();
10798    method public int getDataType();
10799    field public static final int ERROR_TYPE_NETWORK_FAILURE = 10500; // 0x2904
10800    field public static final int ERROR_TYPE_NO_APN_SUBSCRIPTION = 9002; // 0x232a
10801  }
10802
10803  public abstract class Ike3gppData {
10804    method public abstract int getDataType();
10805    field public static final int DATA_TYPE_NOTIFY_BACKOFF_TIMER = 2; // 0x2
10806    field public static final int DATA_TYPE_NOTIFY_N1_MODE_INFORMATION = 1; // 0x1
10807  }
10808
10809  public final class Ike3gppExtension {
10810    ctor public Ike3gppExtension(@NonNull android.net.ipsec.ike.ike3gpp.Ike3gppParams, @NonNull android.net.ipsec.ike.ike3gpp.Ike3gppExtension.Ike3gppDataListener);
10811    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppExtension.Ike3gppDataListener getIke3gppDataListener();
10812    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams getIke3gppParams();
10813  }
10814
10815  public static interface Ike3gppExtension.Ike3gppDataListener {
10816    method public void onIke3gppDataReceived(@NonNull java.util.List<android.net.ipsec.ike.ike3gpp.Ike3gppData>);
10817  }
10818
10819  public final class Ike3gppN1ModeInformation extends android.net.ipsec.ike.ike3gpp.Ike3gppData {
10820    ctor public Ike3gppN1ModeInformation(@NonNull byte[]);
10821    method public int getDataType();
10822    method @NonNull public byte[] getSnssai();
10823  }
10824
10825  public final class Ike3gppParams {
10826    method @Nullable public String getMobileDeviceIdentity();
10827    method public byte getPduSessionId();
10828    field public static final byte PDU_SESSION_ID_UNSET = 0; // 0x0
10829  }
10830
10831  public static final class Ike3gppParams.Builder {
10832    ctor public Ike3gppParams.Builder();
10833    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams build();
10834    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams.Builder setMobileDeviceIdentity(@Nullable String);
10835    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams.Builder setPduSessionId(byte);
10836  }
10837
10838}
10839
10840package android.net.metrics {
10841
10842  @Deprecated public final class ApfProgramEvent implements android.net.metrics.IpConnectivityLog.Event {
10843  }
10844
10845  @Deprecated public static final class ApfProgramEvent.Builder {
10846    ctor @Deprecated public ApfProgramEvent.Builder();
10847    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent build();
10848    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setActualLifetime(long);
10849    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setCurrentRas(int);
10850    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setFilteredRas(int);
10851    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setFlags(boolean, boolean);
10852    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setLifetime(long);
10853    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setProgramLength(int);
10854  }
10855
10856  @Deprecated public final class ApfStats implements android.net.metrics.IpConnectivityLog.Event {
10857  }
10858
10859  @Deprecated public static final class ApfStats.Builder {
10860    ctor @Deprecated public ApfStats.Builder();
10861    method @Deprecated @NonNull public android.net.metrics.ApfStats build();
10862    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setDroppedRas(int);
10863    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setDurationMs(long);
10864    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setMatchingRas(int);
10865    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setMaxProgramSize(int);
10866    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setParseErrors(int);
10867    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdates(int);
10868    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdatesAll(int);
10869    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdatesAllowingMulticast(int);
10870    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setReceivedRas(int);
10871    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setZeroLifetimeRas(int);
10872  }
10873
10874  @Deprecated public final class DhcpClientEvent implements android.net.metrics.IpConnectivityLog.Event {
10875  }
10876
10877  @Deprecated public static final class DhcpClientEvent.Builder {
10878    ctor @Deprecated public DhcpClientEvent.Builder();
10879    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent build();
10880    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent.Builder setDurationMs(int);
10881    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent.Builder setMsg(String);
10882  }
10883
10884  @Deprecated public final class DhcpErrorEvent implements android.net.metrics.IpConnectivityLog.Event {
10885    ctor @Deprecated public DhcpErrorEvent(int);
10886    method @Deprecated public static int errorCodeWithOption(int, int);
10887    field @Deprecated public static final int BOOTP_TOO_SHORT = 67174400; // 0x4010000
10888    field @Deprecated public static final int BUFFER_UNDERFLOW = 83951616; // 0x5010000
10889    field @Deprecated public static final int DHCP_BAD_MAGIC_COOKIE = 67239936; // 0x4020000
10890    field @Deprecated public static final int DHCP_ERROR = 4; // 0x4
10891    field @Deprecated public static final int DHCP_INVALID_OPTION_LENGTH = 67305472; // 0x4030000
10892    field @Deprecated public static final int DHCP_NO_COOKIE = 67502080; // 0x4060000
10893    field @Deprecated public static final int DHCP_NO_MSG_TYPE = 67371008; // 0x4040000
10894    field @Deprecated public static final int DHCP_UNKNOWN_MSG_TYPE = 67436544; // 0x4050000
10895    field @Deprecated public static final int L2_ERROR = 1; // 0x1
10896    field @Deprecated public static final int L2_TOO_SHORT = 16842752; // 0x1010000
10897    field @Deprecated public static final int L2_WRONG_ETH_TYPE = 16908288; // 0x1020000
10898    field @Deprecated public static final int L3_ERROR = 2; // 0x2
10899    field @Deprecated public static final int L3_INVALID_IP = 33751040; // 0x2030000
10900    field @Deprecated public static final int L3_NOT_IPV4 = 33685504; // 0x2020000
10901    field @Deprecated public static final int L3_TOO_SHORT = 33619968; // 0x2010000
10902    field @Deprecated public static final int L4_ERROR = 3; // 0x3
10903    field @Deprecated public static final int L4_NOT_UDP = 50397184; // 0x3010000
10904    field @Deprecated public static final int L4_WRONG_PORT = 50462720; // 0x3020000
10905    field @Deprecated public static final int MISC_ERROR = 5; // 0x5
10906    field @Deprecated public static final int PARSING_ERROR = 84082688; // 0x5030000
10907    field @Deprecated public static final int RECEIVE_ERROR = 84017152; // 0x5020000
10908  }
10909
10910  @Deprecated public class IpConnectivityLog {
10911    ctor @Deprecated public IpConnectivityLog();
10912    method @Deprecated public boolean log(long, @NonNull android.net.metrics.IpConnectivityLog.Event);
10913    method @Deprecated public boolean log(@NonNull String, @NonNull android.net.metrics.IpConnectivityLog.Event);
10914    method @Deprecated public boolean log(@NonNull android.net.Network, @NonNull int[], @NonNull android.net.metrics.IpConnectivityLog.Event);
10915    method @Deprecated public boolean log(int, @NonNull int[], @NonNull android.net.metrics.IpConnectivityLog.Event);
10916    method @Deprecated public boolean log(@NonNull android.net.metrics.IpConnectivityLog.Event);
10917  }
10918
10919  @Deprecated public static interface IpConnectivityLog.Event extends android.os.Parcelable {
10920  }
10921
10922  @Deprecated public final class IpManagerEvent implements android.net.metrics.IpConnectivityLog.Event {
10923    ctor @Deprecated public IpManagerEvent(int, long);
10924    field @Deprecated public static final int COMPLETE_LIFECYCLE = 3; // 0x3
10925    field @Deprecated public static final int ERROR_INTERFACE_NOT_FOUND = 8; // 0x8
10926    field @Deprecated public static final int ERROR_INVALID_PROVISIONING = 7; // 0x7
10927    field @Deprecated public static final int ERROR_STARTING_IPREACHABILITYMONITOR = 6; // 0x6
10928    field @Deprecated public static final int ERROR_STARTING_IPV4 = 4; // 0x4
10929    field @Deprecated public static final int ERROR_STARTING_IPV6 = 5; // 0x5
10930    field @Deprecated public static final int PROVISIONING_FAIL = 2; // 0x2
10931    field @Deprecated public static final int PROVISIONING_OK = 1; // 0x1
10932  }
10933
10934  @Deprecated public final class IpReachabilityEvent implements android.net.metrics.IpConnectivityLog.Event {
10935    ctor @Deprecated public IpReachabilityEvent(int);
10936    field @Deprecated public static final int NUD_FAILED = 512; // 0x200
10937    field @Deprecated public static final int NUD_FAILED_ORGANIC = 1024; // 0x400
10938    field @Deprecated public static final int PROBE = 256; // 0x100
10939    field @Deprecated public static final int PROVISIONING_LOST = 768; // 0x300
10940    field @Deprecated public static final int PROVISIONING_LOST_ORGANIC = 1280; // 0x500
10941  }
10942
10943  @Deprecated public final class NetworkEvent implements android.net.metrics.IpConnectivityLog.Event {
10944    ctor @Deprecated public NetworkEvent(int, long);
10945    ctor @Deprecated public NetworkEvent(int);
10946    field @Deprecated public static final int NETWORK_CAPTIVE_PORTAL_FOUND = 4; // 0x4
10947    field @Deprecated public static final int NETWORK_CONNECTED = 1; // 0x1
10948    field @Deprecated public static final int NETWORK_CONSECUTIVE_DNS_TIMEOUT_FOUND = 12; // 0xc
10949    field @Deprecated public static final int NETWORK_DISCONNECTED = 7; // 0x7
10950    field @Deprecated public static final int NETWORK_FIRST_VALIDATION_PORTAL_FOUND = 10; // 0xa
10951    field @Deprecated public static final int NETWORK_FIRST_VALIDATION_SUCCESS = 8; // 0x8
10952    field @Deprecated public static final int NETWORK_LINGER = 5; // 0x5
10953    field @Deprecated public static final int NETWORK_PARTIAL_CONNECTIVITY = 13; // 0xd
10954    field @Deprecated public static final int NETWORK_REVALIDATION_PORTAL_FOUND = 11; // 0xb
10955    field @Deprecated public static final int NETWORK_REVALIDATION_SUCCESS = 9; // 0x9
10956    field @Deprecated public static final int NETWORK_UNLINGER = 6; // 0x6
10957    field @Deprecated public static final int NETWORK_VALIDATED = 2; // 0x2
10958    field @Deprecated public static final int NETWORK_VALIDATION_FAILED = 3; // 0x3
10959  }
10960
10961  @Deprecated public final class RaEvent implements android.net.metrics.IpConnectivityLog.Event {
10962  }
10963
10964  @Deprecated public static final class RaEvent.Builder {
10965    ctor @Deprecated public RaEvent.Builder();
10966    method @Deprecated @NonNull public android.net.metrics.RaEvent build();
10967    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateDnsslLifetime(long);
10968    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updatePrefixPreferredLifetime(long);
10969    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updatePrefixValidLifetime(long);
10970    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRdnssLifetime(long);
10971    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRouteInfoLifetime(long);
10972    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRouterLifetime(long);
10973  }
10974
10975  @Deprecated public final class ValidationProbeEvent implements android.net.metrics.IpConnectivityLog.Event {
10976    method @Deprecated @NonNull public static String getProbeName(int);
10977    field @Deprecated public static final int DNS_FAILURE = 0; // 0x0
10978    field @Deprecated public static final int DNS_SUCCESS = 1; // 0x1
10979    field @Deprecated public static final int PROBE_DNS = 0; // 0x0
10980    field @Deprecated public static final int PROBE_FALLBACK = 4; // 0x4
10981    field @Deprecated public static final int PROBE_HTTP = 1; // 0x1
10982    field @Deprecated public static final int PROBE_HTTPS = 2; // 0x2
10983    field @Deprecated public static final int PROBE_PAC = 3; // 0x3
10984    field @Deprecated public static final int PROBE_PRIVDNS = 5; // 0x5
10985  }
10986
10987  @Deprecated public static final class ValidationProbeEvent.Builder {
10988    ctor @Deprecated public ValidationProbeEvent.Builder();
10989    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent build();
10990    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setDurationMs(long);
10991    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setProbeType(int, boolean);
10992    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setReturnCode(int);
10993  }
10994
10995}
10996
10997package android.net.netstats.provider {
10998
10999  public abstract class NetworkStatsProvider {
11000    ctor public NetworkStatsProvider();
11001    method public void notifyAlertReached();
11002    method public void notifyLimitReached();
11003    method public void notifyStatsUpdated(int, @NonNull android.net.NetworkStats, @NonNull android.net.NetworkStats);
11004    method public void notifyWarningReached();
11005    method public abstract void onRequestStatsUpdate(int);
11006    method public abstract void onSetAlert(long);
11007    method public abstract void onSetLimit(@NonNull String, long);
11008    method public void onSetWarningAndLimit(@NonNull String, long, long);
11009    field public static final int QUOTA_UNLIMITED = -1; // 0xffffffff
11010  }
11011
11012}
11013
11014package android.net.sip {
11015
11016  @Deprecated public class SipAudioCall {
11017    method @Deprecated @Nullable public android.net.rtp.AudioGroup getAudioGroup();
11018    method @Deprecated public void setAudioGroup(@NonNull android.net.rtp.AudioGroup);
11019  }
11020
11021  @Deprecated public class SipManager {
11022    method @Deprecated @NonNull public java.util.List<android.net.sip.SipProfile> getProfiles() throws android.net.sip.SipException;
11023    field @Deprecated public static final String ACTION_SIP_CALL_OPTION_CHANGED = "android.net.sip.action.SIP_CALL_OPTION_CHANGED";
11024    field @Deprecated public static final String ACTION_SIP_INCOMING_CALL = "android.net.sip.action.SIP_INCOMING_CALL";
11025    field @Deprecated public static final String ACTION_SIP_REMOVE_PROFILE = "android.net.sip.action.SIP_REMOVE_PROFILE";
11026    field @Deprecated public static final String ACTION_SIP_SERVICE_UP = "android.net.sip.action.SIP_SERVICE_UP";
11027    field @Deprecated public static final String ACTION_START_SIP = "android.net.sip.action.START_SIP";
11028  }
11029
11030  @Deprecated public class SipProfile implements java.lang.Cloneable android.os.Parcelable java.io.Serializable {
11031    method @Deprecated public int getCallingUid();
11032  }
11033
11034}
11035
11036package android.net.util {
11037
11038  public final class SocketUtils {
11039    method public static void bindSocketToInterface(@NonNull java.io.FileDescriptor, @NonNull String) throws android.system.ErrnoException;
11040    method public static void closeSocket(@Nullable java.io.FileDescriptor) throws java.io.IOException;
11041    method @NonNull public static java.net.SocketAddress makeNetlinkSocketAddress(int, int);
11042    method @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, int);
11043    method @Deprecated @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, @NonNull byte[]);
11044    method @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, int, @NonNull byte[]);
11045  }
11046
11047}
11048
11049package android.net.vcn {
11050
11051  public class VcnManager {
11052    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void addVcnNetworkPolicyChangeListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.vcn.VcnManager.VcnNetworkPolicyChangeListener);
11053    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.vcn.VcnNetworkPolicyResult applyVcnNetworkPolicy(@NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties);
11054    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void removeVcnNetworkPolicyChangeListener(@NonNull android.net.vcn.VcnManager.VcnNetworkPolicyChangeListener);
11055  }
11056
11057  public static interface VcnManager.VcnNetworkPolicyChangeListener {
11058    method public void onPolicyChanged();
11059  }
11060
11061  public final class VcnNetworkPolicyResult implements android.os.Parcelable {
11062    method public int describeContents();
11063    method @NonNull public android.net.NetworkCapabilities getNetworkCapabilities();
11064    method public boolean isTeardownRequested();
11065    method public void writeToParcel(@NonNull android.os.Parcel, int);
11066    field @NonNull public static final android.os.Parcelable.Creator<android.net.vcn.VcnNetworkPolicyResult> CREATOR;
11067  }
11068
11069}
11070
11071package android.net.wifi {
11072
11073  public final class CoexUnsafeChannel implements android.os.Parcelable {
11074    ctor public CoexUnsafeChannel(int, int);
11075    ctor public CoexUnsafeChannel(int, int, int);
11076    method public int getBand();
11077    method public int getChannel();
11078    method public int getPowerCapDbm();
11079    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.CoexUnsafeChannel> CREATOR;
11080    field public static final int POWER_CAP_NONE = 2147483647; // 0x7fffffff
11081  }
11082
11083  public abstract class EasyConnectStatusCallback {
11084    ctor public EasyConnectStatusCallback();
11085    method public void onBootstrapUriGenerated(@NonNull android.net.Uri);
11086    method public abstract void onConfiguratorSuccess(int);
11087    method public abstract void onEnrolleeSuccess(int);
11088    method public void onFailure(int);
11089    method public void onFailure(int, @Nullable String, @NonNull android.util.SparseArray<int[]>, @NonNull int[]);
11090    method public abstract void onProgress(int);
11091    field public static final int EASY_CONNECT_EVENT_PROGRESS_AUTHENTICATION_SUCCESS = 0; // 0x0
11092    field public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_ACCEPTED = 3; // 0x3
11093    field public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_SENT_WAITING_RESPONSE = 2; // 0x2
11094    field public static final int EASY_CONNECT_EVENT_PROGRESS_RESPONSE_PENDING = 1; // 0x1
11095    field public static final int EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_APPLIED = 1; // 0x1
11096    field public static final int EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_SENT = 0; // 0x0
11097  }
11098
11099  @Deprecated public class RttManager {
11100    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void disableResponder(android.net.wifi.RttManager.ResponderCallback);
11101    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void enableResponder(android.net.wifi.RttManager.ResponderCallback);
11102    method @Deprecated public android.net.wifi.RttManager.Capabilities getCapabilities();
11103    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.net.wifi.RttManager.RttCapabilities getRttCapabilities();
11104    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startRanging(android.net.wifi.RttManager.RttParams[], android.net.wifi.RttManager.RttListener);
11105    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopRanging(android.net.wifi.RttManager.RttListener);
11106    field @Deprecated public static final int BASE = 160256; // 0x27200
11107    field @Deprecated public static final int CMD_OP_ABORTED = 160260; // 0x27204
11108    field @Deprecated public static final int CMD_OP_DISABLE_RESPONDER = 160262; // 0x27206
11109    field @Deprecated public static final int CMD_OP_ENABLE_RESPONDER = 160261; // 0x27205
11110    field @Deprecated public static final int CMD_OP_ENALBE_RESPONDER_FAILED = 160264; // 0x27208
11111    field @Deprecated public static final int CMD_OP_ENALBE_RESPONDER_SUCCEEDED = 160263; // 0x27207
11112    field @Deprecated public static final int CMD_OP_FAILED = 160258; // 0x27202
11113    field @Deprecated public static final int CMD_OP_START_RANGING = 160256; // 0x27200
11114    field @Deprecated public static final int CMD_OP_STOP_RANGING = 160257; // 0x27201
11115    field @Deprecated public static final int CMD_OP_SUCCEEDED = 160259; // 0x27203
11116    field @Deprecated public static final String DESCRIPTION_KEY = "android.net.wifi.RttManager.Description";
11117    field @Deprecated public static final int PREAMBLE_HT = 2; // 0x2
11118    field @Deprecated public static final int PREAMBLE_LEGACY = 1; // 0x1
11119    field @Deprecated public static final int PREAMBLE_VHT = 4; // 0x4
11120    field @Deprecated public static final int REASON_INITIATOR_NOT_ALLOWED_WHEN_RESPONDER_ON = -6; // 0xfffffffa
11121    field @Deprecated public static final int REASON_INVALID_LISTENER = -3; // 0xfffffffd
11122    field @Deprecated public static final int REASON_INVALID_REQUEST = -4; // 0xfffffffc
11123    field @Deprecated public static final int REASON_NOT_AVAILABLE = -2; // 0xfffffffe
11124    field @Deprecated public static final int REASON_PERMISSION_DENIED = -5; // 0xfffffffb
11125    field @Deprecated public static final int REASON_UNSPECIFIED = -1; // 0xffffffff
11126    field @Deprecated public static final int RTT_BW_10_SUPPORT = 2; // 0x2
11127    field @Deprecated public static final int RTT_BW_160_SUPPORT = 32; // 0x20
11128    field @Deprecated public static final int RTT_BW_20_SUPPORT = 4; // 0x4
11129    field @Deprecated public static final int RTT_BW_40_SUPPORT = 8; // 0x8
11130    field @Deprecated public static final int RTT_BW_5_SUPPORT = 1; // 0x1
11131    field @Deprecated public static final int RTT_BW_80_SUPPORT = 16; // 0x10
11132    field @Deprecated public static final int RTT_CHANNEL_WIDTH_10 = 6; // 0x6
11133    field @Deprecated public static final int RTT_CHANNEL_WIDTH_160 = 3; // 0x3
11134    field @Deprecated public static final int RTT_CHANNEL_WIDTH_20 = 0; // 0x0
11135    field @Deprecated public static final int RTT_CHANNEL_WIDTH_40 = 1; // 0x1
11136    field @Deprecated public static final int RTT_CHANNEL_WIDTH_5 = 5; // 0x5
11137    field @Deprecated public static final int RTT_CHANNEL_WIDTH_80 = 2; // 0x2
11138    field @Deprecated public static final int RTT_CHANNEL_WIDTH_80P80 = 4; // 0x4
11139    field @Deprecated public static final int RTT_CHANNEL_WIDTH_UNSPECIFIED = -1; // 0xffffffff
11140    field @Deprecated public static final int RTT_PEER_NAN = 5; // 0x5
11141    field @Deprecated public static final int RTT_PEER_P2P_CLIENT = 4; // 0x4
11142    field @Deprecated public static final int RTT_PEER_P2P_GO = 3; // 0x3
11143    field @Deprecated public static final int RTT_PEER_TYPE_AP = 1; // 0x1
11144    field @Deprecated public static final int RTT_PEER_TYPE_STA = 2; // 0x2
11145    field @Deprecated public static final int RTT_PEER_TYPE_UNSPECIFIED = 0; // 0x0
11146    field @Deprecated public static final int RTT_STATUS_ABORTED = 8; // 0x8
11147    field @Deprecated public static final int RTT_STATUS_FAILURE = 1; // 0x1
11148    field @Deprecated public static final int RTT_STATUS_FAIL_AP_ON_DIFF_CHANNEL = 6; // 0x6
11149    field @Deprecated public static final int RTT_STATUS_FAIL_BUSY_TRY_LATER = 12; // 0xc
11150    field @Deprecated public static final int RTT_STATUS_FAIL_FTM_PARAM_OVERRIDE = 15; // 0xf
11151    field @Deprecated public static final int RTT_STATUS_FAIL_INVALID_TS = 9; // 0x9
11152    field @Deprecated public static final int RTT_STATUS_FAIL_NOT_SCHEDULED_YET = 4; // 0x4
11153    field @Deprecated public static final int RTT_STATUS_FAIL_NO_CAPABILITY = 7; // 0x7
11154    field @Deprecated public static final int RTT_STATUS_FAIL_NO_RSP = 2; // 0x2
11155    field @Deprecated public static final int RTT_STATUS_FAIL_PROTOCOL = 10; // 0xa
11156    field @Deprecated public static final int RTT_STATUS_FAIL_REJECTED = 3; // 0x3
11157    field @Deprecated public static final int RTT_STATUS_FAIL_SCHEDULE = 11; // 0xb
11158    field @Deprecated public static final int RTT_STATUS_FAIL_TM_TIMEOUT = 5; // 0x5
11159    field @Deprecated public static final int RTT_STATUS_INVALID_REQ = 13; // 0xd
11160    field @Deprecated public static final int RTT_STATUS_NO_WIFI = 14; // 0xe
11161    field @Deprecated public static final int RTT_STATUS_SUCCESS = 0; // 0x0
11162    field @Deprecated public static final int RTT_TYPE_11_MC = 4; // 0x4
11163    field @Deprecated public static final int RTT_TYPE_11_V = 2; // 0x2
11164    field @Deprecated public static final int RTT_TYPE_ONE_SIDED = 1; // 0x1
11165    field @Deprecated public static final int RTT_TYPE_TWO_SIDED = 2; // 0x2
11166    field @Deprecated public static final int RTT_TYPE_UNSPECIFIED = 0; // 0x0
11167  }
11168
11169  @Deprecated public class RttManager.Capabilities {
11170    ctor @Deprecated public RttManager.Capabilities();
11171    field @Deprecated public int supportedPeerType;
11172    field @Deprecated public int supportedType;
11173  }
11174
11175  @Deprecated public static class RttManager.ParcelableRttParams implements android.os.Parcelable {
11176    field @Deprecated @NonNull public android.net.wifi.RttManager.RttParams[] mParams;
11177  }
11178
11179  @Deprecated public static class RttManager.ParcelableRttResults implements android.os.Parcelable {
11180    ctor @Deprecated public RttManager.ParcelableRttResults(android.net.wifi.RttManager.RttResult[]);
11181    field @Deprecated public android.net.wifi.RttManager.RttResult[] mResults;
11182  }
11183
11184  @Deprecated public abstract static class RttManager.ResponderCallback {
11185    ctor @Deprecated public RttManager.ResponderCallback();
11186    method @Deprecated public abstract void onResponderEnableFailure(int);
11187    method @Deprecated public abstract void onResponderEnabled(android.net.wifi.RttManager.ResponderConfig);
11188  }
11189
11190  @Deprecated public static class RttManager.ResponderConfig implements android.os.Parcelable {
11191    ctor @Deprecated public RttManager.ResponderConfig();
11192    method @Deprecated public int describeContents();
11193    method @Deprecated public void writeToParcel(android.os.Parcel, int);
11194    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.RttManager.ResponderConfig> CREATOR;
11195    field @Deprecated public int centerFreq0;
11196    field @Deprecated public int centerFreq1;
11197    field @Deprecated public int channelWidth;
11198    field @Deprecated public int frequency;
11199    field @Deprecated public String macAddress;
11200    field @Deprecated public int preamble;
11201  }
11202
11203  @Deprecated public static class RttManager.RttCapabilities implements android.os.Parcelable {
11204    ctor @Deprecated public RttManager.RttCapabilities();
11205    field @Deprecated public int bwSupported;
11206    field @Deprecated public boolean lciSupported;
11207    field @Deprecated public boolean lcrSupported;
11208    field @Deprecated public int mcVersion;
11209    field @Deprecated public boolean oneSidedRttSupported;
11210    field @Deprecated public int preambleSupported;
11211    field @Deprecated public boolean responderSupported;
11212    field @Deprecated public boolean secureRttSupported;
11213    field @Deprecated public boolean supportedPeerType;
11214    field @Deprecated public boolean supportedType;
11215    field @Deprecated public boolean twoSided11McRttSupported;
11216  }
11217
11218  @Deprecated public static interface RttManager.RttListener {
11219    method @Deprecated public void onAborted();
11220    method @Deprecated public void onFailure(int, String);
11221    method @Deprecated public void onSuccess(android.net.wifi.RttManager.RttResult[]);
11222  }
11223
11224  @Deprecated public static class RttManager.RttParams {
11225    ctor @Deprecated public RttManager.RttParams();
11226    field @Deprecated public boolean LCIRequest;
11227    field @Deprecated public boolean LCRRequest;
11228    field @Deprecated public int bandwidth;
11229    field @Deprecated public String bssid;
11230    field @Deprecated public int burstTimeout;
11231    field @Deprecated public int centerFreq0;
11232    field @Deprecated public int centerFreq1;
11233    field @Deprecated public int channelWidth;
11234    field @Deprecated public int deviceType;
11235    field @Deprecated public int frequency;
11236    field @Deprecated public int interval;
11237    field @Deprecated public int numRetriesPerFTMR;
11238    field @Deprecated public int numRetriesPerMeasurementFrame;
11239    field @Deprecated public int numSamplesPerBurst;
11240    field @Deprecated public int num_retries;
11241    field @Deprecated public int num_samples;
11242    field @Deprecated public int numberBurst;
11243    field @Deprecated public int preamble;
11244    field @Deprecated public int requestType;
11245    field @Deprecated public boolean secure;
11246  }
11247
11248  @Deprecated public static class RttManager.RttResult {
11249    ctor @Deprecated public RttManager.RttResult();
11250    field @Deprecated public android.net.wifi.RttManager.WifiInformationElement LCI;
11251    field @Deprecated public android.net.wifi.RttManager.WifiInformationElement LCR;
11252    field @Deprecated public String bssid;
11253    field @Deprecated public int burstDuration;
11254    field @Deprecated public int burstNumber;
11255    field @Deprecated public int distance;
11256    field @Deprecated public int distanceSpread;
11257    field @Deprecated public int distanceStandardDeviation;
11258    field @Deprecated public int distance_cm;
11259    field @Deprecated public int distance_sd_cm;
11260    field @Deprecated public int distance_spread_cm;
11261    field @Deprecated public int frameNumberPerBurstPeer;
11262    field @Deprecated public int measurementFrameNumber;
11263    field @Deprecated public int measurementType;
11264    field @Deprecated public int negotiatedBurstNum;
11265    field @Deprecated public int requestType;
11266    field @Deprecated public int retryAfterDuration;
11267    field @Deprecated public int rssi;
11268    field @Deprecated public int rssiSpread;
11269    field @Deprecated public int rssi_spread;
11270    field @Deprecated public long rtt;
11271    field @Deprecated public long rttSpread;
11272    field @Deprecated public long rttStandardDeviation;
11273    field @Deprecated public long rtt_ns;
11274    field @Deprecated public long rtt_sd_ns;
11275    field @Deprecated public long rtt_spread_ns;
11276    field @Deprecated public int rxRate;
11277    field @Deprecated public boolean secure;
11278    field @Deprecated public int status;
11279    field @Deprecated public int successMeasurementFrameNumber;
11280    field @Deprecated public long ts;
11281    field @Deprecated public int txRate;
11282    field @Deprecated public int tx_rate;
11283  }
11284
11285  @Deprecated public static class RttManager.WifiInformationElement {
11286    ctor @Deprecated public RttManager.WifiInformationElement();
11287    field @Deprecated public byte[] data;
11288    field @Deprecated public byte id;
11289  }
11290
11291  public final class ScanResult implements android.os.Parcelable {
11292    method public int getBand();
11293    method public void setWifiSsid(@NonNull android.net.wifi.WifiSsid);
11294    field public static final int CIPHER_BIP_CMAC_256 = 9; // 0x9
11295    field public static final int CIPHER_BIP_GMAC_128 = 7; // 0x7
11296    field public static final int CIPHER_BIP_GMAC_256 = 8; // 0x8
11297    field public static final int CIPHER_CCMP = 3; // 0x3
11298    field public static final int CIPHER_GCMP_128 = 6; // 0x6
11299    field public static final int CIPHER_GCMP_256 = 4; // 0x4
11300    field public static final int CIPHER_NONE = 0; // 0x0
11301    field public static final int CIPHER_NO_GROUP_ADDRESSED = 1; // 0x1
11302    field public static final int CIPHER_SMS4 = 5; // 0x5
11303    field public static final int CIPHER_TKIP = 2; // 0x2
11304    field public static final int KEY_MGMT_EAP = 2; // 0x2
11305    field public static final int KEY_MGMT_EAP_SHA256 = 6; // 0x6
11306    field public static final int KEY_MGMT_EAP_SUITE_B_192 = 10; // 0xa
11307    field public static final int KEY_MGMT_FT_EAP = 4; // 0x4
11308    field public static final int KEY_MGMT_FT_PSK = 3; // 0x3
11309    field public static final int KEY_MGMT_FT_SAE = 11; // 0xb
11310    field public static final int KEY_MGMT_NONE = 0; // 0x0
11311    field public static final int KEY_MGMT_OSEN = 7; // 0x7
11312    field public static final int KEY_MGMT_OWE = 9; // 0x9
11313    field public static final int KEY_MGMT_OWE_TRANSITION = 12; // 0xc
11314    field public static final int KEY_MGMT_PSK = 1; // 0x1
11315    field public static final int KEY_MGMT_PSK_SHA256 = 5; // 0x5
11316    field public static final int KEY_MGMT_SAE = 8; // 0x8
11317    field public static final int KEY_MGMT_WAPI_CERT = 14; // 0xe
11318    field public static final int KEY_MGMT_WAPI_PSK = 13; // 0xd
11319    field public static final int PROTOCOL_NONE = 0; // 0x0
11320    field public static final int PROTOCOL_OSEN = 3; // 0x3
11321    field public static final int PROTOCOL_RSN = 2; // 0x2
11322    field public static final int PROTOCOL_WAPI = 4; // 0x4
11323    field public static final int PROTOCOL_WPA = 1; // 0x1
11324  }
11325
11326  public final class SoftApCapability implements android.os.Parcelable {
11327    method public boolean areFeaturesSupported(long);
11328    method public int describeContents();
11329    method public int getMaxSupportedClients();
11330    method @NonNull public int[] getSupportedChannelList(int);
11331    method public void writeToParcel(@NonNull android.os.Parcel, int);
11332    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApCapability> CREATOR;
11333    field public static final long SOFTAP_FEATURE_ACS_OFFLOAD = 1L; // 0x1L
11334    field public static final long SOFTAP_FEATURE_BAND_24G_SUPPORTED = 32L; // 0x20L
11335    field public static final long SOFTAP_FEATURE_BAND_5G_SUPPORTED = 64L; // 0x40L
11336    field public static final long SOFTAP_FEATURE_BAND_60G_SUPPORTED = 256L; // 0x100L
11337    field public static final long SOFTAP_FEATURE_BAND_6G_SUPPORTED = 128L; // 0x80L
11338    field public static final long SOFTAP_FEATURE_CLIENT_FORCE_DISCONNECT = 2L; // 0x2L
11339    field public static final long SOFTAP_FEATURE_IEEE80211_AX = 16L; // 0x10L
11340    field public static final long SOFTAP_FEATURE_IEEE80211_BE = 512L; // 0x200L
11341    field public static final long SOFTAP_FEATURE_MAC_ADDRESS_CUSTOMIZATION = 8L; // 0x8L
11342    field public static final long SOFTAP_FEATURE_WPA3_OWE = 2048L; // 0x800L
11343    field public static final long SOFTAP_FEATURE_WPA3_OWE_TRANSITION = 1024L; // 0x400L
11344    field public static final long SOFTAP_FEATURE_WPA3_SAE = 4L; // 0x4L
11345  }
11346
11347  public final class SoftApConfiguration implements android.os.Parcelable {
11348    method @NonNull public int[] getAllowedAcsChannels(int);
11349    method @NonNull public java.util.List<android.net.MacAddress> getAllowedClientList();
11350    method @Deprecated public int getBand();
11351    method @NonNull public java.util.List<android.net.MacAddress> getBlockedClientList();
11352    method public long getBridgedModeOpportunisticShutdownTimeoutMillis();
11353    method @Deprecated public int getChannel();
11354    method @NonNull public android.util.SparseIntArray getChannels();
11355    method public int getMacRandomizationSetting();
11356    method public int getMaxChannelBandwidth();
11357    method public int getMaxNumberOfClients();
11358    method @NonNull public android.net.MacAddress getPersistentRandomizedMacAddress();
11359    method public long getShutdownTimeoutMillis();
11360    method @NonNull public java.util.List<android.net.wifi.ScanResult.InformationElement> getVendorElements();
11361    method public boolean isAutoShutdownEnabled();
11362    method public boolean isBridgedModeOpportunisticShutdownEnabled();
11363    method public boolean isClientControlByUserEnabled();
11364    method public boolean isIeee80211axEnabled();
11365    method public boolean isIeee80211beEnabled();
11366    method public boolean isUserConfiguration();
11367    method @Nullable public android.net.wifi.WifiConfiguration toWifiConfiguration();
11368    field public static final int BAND_2GHZ = 1; // 0x1
11369    field public static final int BAND_5GHZ = 2; // 0x2
11370    field public static final int BAND_60GHZ = 8; // 0x8
11371    field public static final int BAND_6GHZ = 4; // 0x4
11372    field @Deprecated public static final int BAND_ANY = 7; // 0x7
11373    field public static final long DEFAULT_TIMEOUT = -1L; // 0xffffffffffffffffL
11374    field public static final int RANDOMIZATION_NONE = 0; // 0x0
11375    field public static final int RANDOMIZATION_NON_PERSISTENT = 2; // 0x2
11376    field public static final int RANDOMIZATION_PERSISTENT = 1; // 0x1
11377  }
11378
11379  public static final class SoftApConfiguration.Builder {
11380    ctor public SoftApConfiguration.Builder();
11381    ctor public SoftApConfiguration.Builder(@NonNull android.net.wifi.SoftApConfiguration);
11382    method @NonNull public android.net.wifi.SoftApConfiguration build();
11383    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAllowedAcsChannels(int, @NonNull int[]);
11384    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAllowedClientList(@NonNull java.util.List<android.net.MacAddress>);
11385    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAutoShutdownEnabled(boolean);
11386    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBand(int);
11387    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBands(@NonNull int[]);
11388    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBlockedClientList(@NonNull java.util.List<android.net.MacAddress>);
11389    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBridgedModeOpportunisticShutdownEnabled(boolean);
11390    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBridgedModeOpportunisticShutdownTimeoutMillis(@IntRange(from=0xffffffff) long);
11391    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBssid(@Nullable android.net.MacAddress);
11392    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setChannel(int, int);
11393    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setChannels(@NonNull android.util.SparseIntArray);
11394    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setClientControlByUserEnabled(boolean);
11395    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setHiddenSsid(boolean);
11396    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setIeee80211axEnabled(boolean);
11397    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setIeee80211beEnabled(boolean);
11398    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMacRandomizationSetting(int);
11399    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMaxChannelBandwidth(int);
11400    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMaxNumberOfClients(@IntRange(from=0) int);
11401    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setPassphrase(@Nullable String, int);
11402    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setShutdownTimeoutMillis(@IntRange(from=0xffffffff) long);
11403    method @Deprecated @NonNull public android.net.wifi.SoftApConfiguration.Builder setSsid(@Nullable String);
11404    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setVendorElements(@NonNull java.util.List<android.net.wifi.ScanResult.InformationElement>);
11405    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setWifiSsid(@Nullable android.net.wifi.WifiSsid);
11406  }
11407
11408  public final class SoftApInfo implements android.os.Parcelable {
11409    method public int describeContents();
11410    method public long getAutoShutdownTimeoutMillis();
11411    method public int getBandwidth();
11412    method @Nullable public android.net.MacAddress getBssid();
11413    method public int getFrequency();
11414    method public int getWifiStandard();
11415    method public void writeToParcel(@NonNull android.os.Parcel, int);
11416    field public static final int CHANNEL_WIDTH_160MHZ = 6; // 0x6
11417    field public static final int CHANNEL_WIDTH_20MHZ = 2; // 0x2
11418    field public static final int CHANNEL_WIDTH_20MHZ_NOHT = 1; // 0x1
11419    field public static final int CHANNEL_WIDTH_2160MHZ = 7; // 0x7
11420    field public static final int CHANNEL_WIDTH_320MHZ = 11; // 0xb
11421    field public static final int CHANNEL_WIDTH_40MHZ = 3; // 0x3
11422    field public static final int CHANNEL_WIDTH_4320MHZ = 8; // 0x8
11423    field public static final int CHANNEL_WIDTH_6480MHZ = 9; // 0x9
11424    field public static final int CHANNEL_WIDTH_80MHZ = 4; // 0x4
11425    field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 5; // 0x5
11426    field public static final int CHANNEL_WIDTH_8640MHZ = 10; // 0xa
11427    field public static final int CHANNEL_WIDTH_AUTO = -1; // 0xffffffff
11428    field public static final int CHANNEL_WIDTH_INVALID = 0; // 0x0
11429    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApInfo> CREATOR;
11430  }
11431
11432  public final class WifiAvailableChannel implements android.os.Parcelable {
11433    ctor public WifiAvailableChannel(int, int);
11434    method public int describeContents();
11435    method public int getFrequencyMhz();
11436    method public int getOperationalModes();
11437    method public void writeToParcel(@NonNull android.os.Parcel, int);
11438    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiAvailableChannel> CREATOR;
11439    field public static final int OP_MODE_SAP = 2; // 0x2
11440    field public static final int OP_MODE_STA = 1; // 0x1
11441    field public static final int OP_MODE_TDLS = 32; // 0x20
11442    field public static final int OP_MODE_WIFI_AWARE = 16; // 0x10
11443    field public static final int OP_MODE_WIFI_DIRECT_CLI = 4; // 0x4
11444    field public static final int OP_MODE_WIFI_DIRECT_GO = 8; // 0x8
11445  }
11446
11447  public final class WifiClient implements android.os.Parcelable {
11448    method public int describeContents();
11449    method @NonNull public android.net.MacAddress getMacAddress();
11450    method public void writeToParcel(@NonNull android.os.Parcel, int);
11451    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiClient> CREATOR;
11452  }
11453
11454  @Deprecated public class WifiConfiguration implements android.os.Parcelable {
11455    method @Deprecated @NonNull public java.util.Set<java.lang.String> getAllNetworkKeys();
11456    method @Deprecated public int getAuthType();
11457    method @Deprecated @Nullable public java.util.List<android.net.MacAddress> getBssidAllowlist();
11458    method @Deprecated public int getDeletionPriority();
11459    method @Deprecated @NonNull public byte[] getDppCSignKey();
11460    method @Deprecated @NonNull public byte[] getDppConnector();
11461    method @Deprecated @NonNull public byte[] getDppNetAccessKey();
11462    method @Deprecated @NonNull public byte[] getDppPrivateEcKey();
11463    method @Deprecated @NonNull public android.net.IpConfiguration getIpConfiguration();
11464    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus getNetworkSelectionStatus();
11465    method @Deprecated @NonNull public String getPrintableSsid();
11466    method @Deprecated @NonNull public String getProfileKey();
11467    method @Deprecated public int getRecentFailureReason();
11468    method @Deprecated public boolean hasNoInternetAccess();
11469    method @Deprecated public boolean isEphemeral();
11470    method @Deprecated public static boolean isMetered(@Nullable android.net.wifi.WifiConfiguration, @Nullable android.net.wifi.WifiInfo);
11471    method @Deprecated public boolean isNoInternetAccessExpected();
11472    method @Deprecated public boolean isRepeaterEnabled();
11473    method @Deprecated public void setBssidAllowlist(@Nullable java.util.List<android.net.MacAddress>);
11474    method @Deprecated public void setDeletionPriority(int) throws java.lang.IllegalArgumentException;
11475    method @Deprecated public void setNetworkSelectionStatus(@NonNull android.net.wifi.WifiConfiguration.NetworkSelectionStatus);
11476    method @Deprecated @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setRepeaterEnabled(boolean);
11477    field @Deprecated public static final int INVALID_NETWORK_ID = -1; // 0xffffffff
11478    field @Deprecated public static final int METERED_OVERRIDE_METERED = 1; // 0x1
11479    field @Deprecated public static final int METERED_OVERRIDE_NONE = 0; // 0x0
11480    field @Deprecated public static final int METERED_OVERRIDE_NOT_METERED = 2; // 0x2
11481    field @Deprecated public static final int RECENT_FAILURE_AP_UNABLE_TO_HANDLE_NEW_STA = 17; // 0x11
11482    field @Deprecated public static final int RECENT_FAILURE_DISCONNECTION_AP_BUSY = 1004; // 0x3ec
11483    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_AIR_INTERFACE_OVERLOADED = 1007; // 0x3ef
11484    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_AUTH_SERVER_OVERLOADED = 1008; // 0x3f0
11485    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_INSUFFICIENT_RSSI = 1009; // 0x3f1
11486    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_MAX_NUM_STA_ASSOCIATED = 1006; // 0x3ee
11487    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_UNSPECIFIED = 1005; // 0x3ed
11488    field @Deprecated public static final int RECENT_FAILURE_NETWORK_NOT_FOUND = 1011; // 0x3f3
11489    field @Deprecated public static final int RECENT_FAILURE_NONE = 0; // 0x0
11490    field @Deprecated public static final int RECENT_FAILURE_OCE_RSSI_BASED_ASSOCIATION_REJECTION = 1010; // 0x3f2
11491    field @Deprecated public static final int RECENT_FAILURE_POOR_CHANNEL_CONDITIONS = 1003; // 0x3eb
11492    field @Deprecated public static final int RECENT_FAILURE_REFUSED_TEMPORARILY = 1002; // 0x3ea
11493    field @Deprecated public boolean allowAutojoin;
11494    field @Deprecated public int carrierId;
11495    field @Deprecated public boolean carrierMerged;
11496    field @Deprecated public String creatorName;
11497    field @Deprecated public int creatorUid;
11498    field @Deprecated public boolean fromWifiNetworkSpecifier;
11499    field @Deprecated public boolean fromWifiNetworkSuggestion;
11500    field @Deprecated public int lastConnectUid;
11501    field @Deprecated public String lastUpdateName;
11502    field @Deprecated public int lastUpdateUid;
11503    field @Deprecated public int macRandomizationSetting;
11504    field @Deprecated public boolean meteredHint;
11505    field @Deprecated public int meteredOverride;
11506    field @Deprecated public int numAssociation;
11507    field @Deprecated public int numScorerOverride;
11508    field @Deprecated public int numScorerOverrideAndSwitchedNetwork;
11509    field @Deprecated public boolean requirePmf;
11510    field @Deprecated public boolean shared;
11511    field @Deprecated public int subscriptionId;
11512    field @Deprecated public boolean useExternalScores;
11513  }
11514
11515  @Deprecated public static class WifiConfiguration.KeyMgmt {
11516    field @Deprecated public static final int WAPI_CERT = 14; // 0xe
11517    field @Deprecated public static final int WAPI_PSK = 13; // 0xd
11518    field @Deprecated public static final int WPA2_PSK = 4; // 0x4
11519  }
11520
11521  @Deprecated public static class WifiConfiguration.NetworkSelectionStatus {
11522    method @Deprecated public int getDisableReasonCounter(int);
11523    method @Deprecated public long getDisableTime();
11524    method @Deprecated public static int getMaxNetworkSelectionDisableReason();
11525    method @Deprecated public int getNetworkSelectionDisableReason();
11526    method @Deprecated @Nullable public static String getNetworkSelectionDisableReasonString(int);
11527    method @Deprecated public int getNetworkSelectionStatus();
11528    method @Deprecated @NonNull public String getNetworkStatusString();
11529    method @Deprecated public boolean hasEverConnected();
11530    field @Deprecated public static final int DISABLED_ASSOCIATION_REJECTION = 1; // 0x1
11531    field @Deprecated public static final int DISABLED_AUTHENTICATION_FAILURE = 2; // 0x2
11532    field @Deprecated public static final int DISABLED_AUTHENTICATION_NO_CREDENTIALS = 5; // 0x5
11533    field @Deprecated public static final int DISABLED_AUTHENTICATION_NO_SUBSCRIPTION = 9; // 0x9
11534    field @Deprecated public static final int DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR = 10; // 0xa
11535    field @Deprecated public static final int DISABLED_BY_WIFI_MANAGER = 7; // 0x7
11536    field @Deprecated public static final int DISABLED_BY_WRONG_PASSWORD = 8; // 0x8
11537    field @Deprecated public static final int DISABLED_CONSECUTIVE_FAILURES = 12; // 0xc
11538    field @Deprecated public static final int DISABLED_DHCP_FAILURE = 3; // 0x3
11539    field @Deprecated public static final int DISABLED_NETWORK_NOT_FOUND = 11; // 0xb
11540    field @Deprecated public static final int DISABLED_NONE = 0; // 0x0
11541    field @Deprecated public static final int DISABLED_NO_INTERNET_PERMANENT = 6; // 0x6
11542    field @Deprecated public static final int DISABLED_NO_INTERNET_TEMPORARY = 4; // 0x4
11543    field @Deprecated public static final int NETWORK_SELECTION_ENABLED = 0; // 0x0
11544    field @Deprecated public static final int NETWORK_SELECTION_PERMANENTLY_DISABLED = 2; // 0x2
11545    field @Deprecated public static final int NETWORK_SELECTION_TEMPORARY_DISABLED = 1; // 0x1
11546  }
11547
11548  @Deprecated public static final class WifiConfiguration.NetworkSelectionStatus.Builder {
11549    ctor @Deprecated public WifiConfiguration.NetworkSelectionStatus.Builder();
11550    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus build();
11551    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus.Builder setNetworkSelectionDisableReason(int);
11552    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus.Builder setNetworkSelectionStatus(int);
11553  }
11554
11555  public final class WifiConnectedSessionInfo implements android.os.Parcelable {
11556    method public int describeContents();
11557    method public int getSessionId();
11558    method public boolean isUserSelected();
11559    method public void writeToParcel(@NonNull android.os.Parcel, int);
11560    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiConnectedSessionInfo> CREATOR;
11561  }
11562
11563  public static final class WifiConnectedSessionInfo.Builder {
11564    ctor public WifiConnectedSessionInfo.Builder(int);
11565    method @NonNull public android.net.wifi.WifiConnectedSessionInfo build();
11566    method @NonNull public android.net.wifi.WifiConnectedSessionInfo.Builder setUserSelected(boolean);
11567  }
11568
11569  public class WifiEnterpriseConfig implements android.os.Parcelable {
11570    method @Nullable public String[] getCaCertificateAliases();
11571    method @NonNull public String getCaPath();
11572    method @NonNull public String getClientCertificateAlias();
11573    method public int getOcsp();
11574    method @NonNull public String getWapiCertSuite();
11575    method public void setCaCertificateAliases(@Nullable String[]);
11576    method public void setCaPath(@NonNull String);
11577    method public void setClientCertificateAlias(@NonNull String);
11578    method public void setOcsp(int);
11579    method public void setWapiCertSuite(@NonNull String);
11580    field public static final int OCSP_NONE = 0; // 0x0
11581    field public static final int OCSP_REQUEST_CERT_STATUS = 1; // 0x1
11582    field public static final int OCSP_REQUIRE_ALL_NON_TRUSTED_CERTS_STATUS = 3; // 0x3
11583    field public static final int OCSP_REQUIRE_CERT_STATUS = 2; // 0x2
11584  }
11585
11586  public class WifiFrameworkInitializer {
11587    method public static void registerServiceWrappers();
11588  }
11589
11590  public class WifiInfo implements android.os.Parcelable android.net.TransportInfo {
11591    method public double getLostTxPacketsPerSecond();
11592    method @Nullable public String getNetworkKey();
11593    method @Nullable public String getRequestingPackageName();
11594    method public double getRetriedTxPacketsPerSecond();
11595    method public int getScore();
11596    method public double getSuccessfulRxPacketsPerSecond();
11597    method public double getSuccessfulTxPacketsPerSecond();
11598    method public boolean isCarrierMerged();
11599    method public boolean isEphemeral();
11600    method public boolean isOemPaid();
11601    method public boolean isOemPrivate();
11602    method public boolean isOsuAp();
11603    method public boolean isPasspointAp();
11604    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public boolean isPrimary();
11605    method public boolean isTrusted();
11606    method @Nullable public static String sanitizeSsid(@Nullable String);
11607    field public static final String DEFAULT_MAC_ADDRESS = "02:00:00:00:00:00";
11608    field public static final int INVALID_RSSI = -127; // 0xffffff81
11609  }
11610
11611  public class WifiManager {
11612    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void addOnWifiUsabilityStatsListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener);
11613    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void addWifiVerboseLoggingStatusChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiVerboseLoggingStatusChangedListener);
11614    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoin(int, boolean);
11615    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoinPasspoint(@NonNull String, boolean);
11616    method public void clearExternalPnoScanRequest();
11617    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void clearOverrideCountryCode();
11618    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void clearWifiConnectedNetworkScorer();
11619    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);
11620    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);
11621    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);
11622    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK}) public void disableEphemeralNetwork(@NonNull String);
11623    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void factoryReset();
11624    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);
11625    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>);
11626    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<android.net.wifi.WifiAvailableChannel> getAllowedChannels(int, int);
11627    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.ACCESS_COARSE_LOCATION}) public String getCountryCode();
11628    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.Network getCurrentNetwork();
11629    method public static int getEasyConnectMaxAllowedResponderDeviceInfoLength();
11630    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String[] getFactoryMacAddresses();
11631    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>);
11632    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>);
11633    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>);
11634    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>);
11635    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public java.util.Set<java.lang.String> getOemPrivilegedWifiAdminPackages();
11636    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();
11637    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();
11638    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public android.net.wifi.SoftApConfiguration getSoftApConfiguration();
11639    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();
11640    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<android.net.wifi.WifiAvailableChannel> getUsableChannels(int, int);
11641    method public int getVerboseLoggingLevel();
11642    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void getWifiActivityEnergyInfoAsync(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.OnWifiActivityEnergyInfoListener);
11643    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public android.net.wifi.WifiConfiguration getWifiApConfiguration();
11644    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public int getWifiApState();
11645    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>);
11646    method public boolean isApMacRandomizationSupported();
11647    method public boolean isConnectedMacRandomizationSupported();
11648    method @Deprecated public boolean isDeviceToDeviceRttSupported();
11649    method public boolean isPortableHotspotSupported();
11650    method public boolean isStaConcurrencyForRestrictedConnectionsSupported();
11651    method public boolean isVerboseLoggingEnabled();
11652    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isWifiApEnabled();
11653    method public boolean isWifiScannerSupported();
11654    method @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_ADMINS) public void notifyMinimumRequiredWifiSecurityLevelChanged(int);
11655    method @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_ADMINS) public void notifyWifiSsidPolicyChanged(@NonNull android.app.admin.WifiSsidPolicy);
11656    method @RequiresPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION) public void registerActiveCountryCodeChangedCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.ActiveCountryCodeChangedCallback);
11657    method @RequiresPermission(android.Manifest.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS) public void registerCoexCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.CoexCallback);
11658    method @RequiresPermission(android.Manifest.permission.NEARBY_WIFI_DEVICES) public void registerLocalOnlyHotspotSoftApCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SoftApCallback);
11659    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void registerNetworkRequestMatchCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.NetworkRequestMatchCallback);
11660    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);
11661    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void registerTrafficStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.TrafficStateCallback);
11662    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void removeAppState(int, @NonNull String);
11663    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void removeOnWifiUsabilityStatsListener(@NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener);
11664    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeWifiVerboseLoggingStatusChangedListener(@NonNull android.net.wifi.WifiManager.WifiVerboseLoggingStatusChangedListener);
11665    method @RequiresPermission(android.Manifest.permission.RESTART_WIFI_SUBSYSTEM) public void restartWifiSubsystem();
11666    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void restoreBackupData(@NonNull byte[]);
11667    method @Nullable @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public android.net.wifi.SoftApConfiguration restoreSoftApBackupData(@NonNull byte[]);
11668    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void restoreSupplicantBackupData(@NonNull byte[], @NonNull byte[]);
11669    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public byte[] retrieveBackupData();
11670    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public byte[] retrieveSoftApBackupData();
11671    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);
11672    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setAutoWakeupEnabled(boolean);
11673    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setCarrierNetworkOffloadEnabled(int, boolean, boolean);
11674    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS) public void setCoexUnsafeChannels(@NonNull java.util.List<android.net.wifi.CoexUnsafeChannel>, int);
11675    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void setDefaultCountryCode(@NonNull String);
11676    method @RequiresPermission(android.Manifest.permission.WIFI_SET_DEVICE_MOBILITY_STATE) public void setDeviceMobilityState(int);
11677    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);
11678    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setMacRandomizationSettingPasspointEnabled(@NonNull String, boolean);
11679    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void setOverrideCountryCode(@NonNull String);
11680    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setPasspointMeteredOverride(@NonNull String, int);
11681    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setScanAlwaysAvailable(boolean);
11682    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setScanThrottleEnabled(boolean);
11683    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>);
11684    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public boolean setSoftApConfiguration(@NonNull android.net.wifi.SoftApConfiguration);
11685    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>);
11686    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean setStaConcurrencyForMultiInternetMode(int);
11687    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setVerboseLoggingEnabled(boolean);
11688    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setVerboseLoggingLevel(int);
11689    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public boolean setWifiApConfiguration(android.net.wifi.WifiConfiguration);
11690    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public boolean setWifiConnectedNetworkScorer(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiConnectedNetworkScorer);
11691    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setWifiPasspointEnabled(boolean);
11692    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public boolean setWifiScoringEnabled(boolean);
11693    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);
11694    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);
11695    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);
11696    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);
11697    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startRestrictingAutoJoinToSubscriptionId(int);
11698    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public boolean startScan(android.os.WorkSource);
11699    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);
11700    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean startTetheredHotspot(@Nullable android.net.wifi.SoftApConfiguration);
11701    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void stopEasyConnectSession();
11702    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void stopRestrictingAutoJoinToSubscriptionId();
11703    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean stopSoftAp();
11704    method public void unregisterActiveCountryCodeChangedCallback(@NonNull android.net.wifi.WifiManager.ActiveCountryCodeChangedCallback);
11705    method @RequiresPermission(android.Manifest.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS) public void unregisterCoexCallback(@NonNull android.net.wifi.WifiManager.CoexCallback);
11706    method @RequiresPermission(android.Manifest.permission.NEARBY_WIFI_DEVICES) public void unregisterLocalOnlyHotspotSoftApCallback(@NonNull android.net.wifi.WifiManager.SoftApCallback);
11707    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterNetworkRequestMatchCallback(@NonNull android.net.wifi.WifiManager.NetworkRequestMatchCallback);
11708    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);
11709    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterTrafficStateCallback(@NonNull android.net.wifi.WifiManager.TrafficStateCallback);
11710    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void updateInterfaceIpState(@Nullable String, int);
11711    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void updateWifiUsabilityScore(int, int, int);
11712    field public static final String ACTION_LINK_CONFIGURATION_CHANGED = "android.net.wifi.LINK_CONFIGURATION_CHANGED";
11713    field @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public static final String ACTION_NETWORK_SETTINGS_RESET = "android.net.wifi.action.NETWORK_SETTINGS_RESET";
11714    field public static final String ACTION_PASSPOINT_LAUNCH_OSU_VIEW = "android.net.wifi.action.PASSPOINT_LAUNCH_OSU_VIEW";
11715    field @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public static final String ACTION_REFRESH_USER_PROVISIONING = "android.net.wifi.action.REFRESH_USER_PROVISIONING";
11716    field public static final String ACTION_REQUEST_DISABLE = "android.net.wifi.action.REQUEST_DISABLE";
11717    field public static final String ACTION_REQUEST_ENABLE = "android.net.wifi.action.REQUEST_ENABLE";
11718    field public static final int API_AUTOJOIN_GLOBAL = 5; // 0x5
11719    field public static final int API_SCANNING_ENABLED = 1; // 0x1
11720    field public static final int API_SET_SCAN_SCHEDULE = 6; // 0x6
11721    field public static final int API_SOFT_AP = 3; // 0x3
11722    field public static final int API_TETHERED_HOTSPOT = 4; // 0x4
11723    field public static final int API_WIFI_ENABLED = 2; // 0x2
11724    field public static final int CHANGE_REASON_ADDED = 0; // 0x0
11725    field public static final int CHANGE_REASON_CONFIG_CHANGE = 2; // 0x2
11726    field public static final int CHANGE_REASON_REMOVED = 1; // 0x1
11727    field public static final int COEX_RESTRICTION_SOFTAP = 2; // 0x2
11728    field public static final int COEX_RESTRICTION_WIFI_AWARE = 4; // 0x4
11729    field public static final int COEX_RESTRICTION_WIFI_DIRECT = 1; // 0x1
11730    field public static final String CONFIGURED_NETWORKS_CHANGED_ACTION = "android.net.wifi.CONFIGURED_NETWORKS_CHANGE";
11731    field public static final int DEVICE_MOBILITY_STATE_HIGH_MVMT = 1; // 0x1
11732    field public static final int DEVICE_MOBILITY_STATE_LOW_MVMT = 2; // 0x2
11733    field public static final int DEVICE_MOBILITY_STATE_STATIONARY = 3; // 0x3
11734    field public static final int DEVICE_MOBILITY_STATE_UNKNOWN = 0; // 0x0
11735    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP256R1 = 3; // 0x3
11736    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP384R1 = 4; // 0x4
11737    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP512R1 = 5; // 0x5
11738    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_PRIME256V1 = 0; // 0x0
11739    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_SECP384R1 = 1; // 0x1
11740    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_SECP521R1 = 2; // 0x2
11741    field public static final int EASY_CONNECT_NETWORK_ROLE_AP = 1; // 0x1
11742    field public static final int EASY_CONNECT_NETWORK_ROLE_STA = 0; // 0x0
11743    field public static final String EXTRA_CHANGE_REASON = "changeReason";
11744    field @Deprecated public static final String EXTRA_LINK_PROPERTIES = "android.net.wifi.extra.LINK_PROPERTIES";
11745    field @Deprecated public static final String EXTRA_MULTIPLE_NETWORKS_CHANGED = "multipleChanges";
11746    field public static final String EXTRA_OSU_NETWORK = "android.net.wifi.extra.OSU_NETWORK";
11747    field public static final String EXTRA_PREVIOUS_WIFI_AP_STATE = "previous_wifi_state";
11748    field public static final String EXTRA_URL = "android.net.wifi.extra.URL";
11749    field public static final String EXTRA_WIFI_AP_FAILURE_REASON = "android.net.wifi.extra.WIFI_AP_FAILURE_REASON";
11750    field public static final String EXTRA_WIFI_AP_INTERFACE_NAME = "android.net.wifi.extra.WIFI_AP_INTERFACE_NAME";
11751    field public static final String EXTRA_WIFI_AP_MODE = "android.net.wifi.extra.WIFI_AP_MODE";
11752    field public static final String EXTRA_WIFI_AP_STATE = "wifi_state";
11753    field @Deprecated public static final String EXTRA_WIFI_CONFIGURATION = "wifiConfiguration";
11754    field public static final String EXTRA_WIFI_CREDENTIAL_EVENT_TYPE = "et";
11755    field public static final String EXTRA_WIFI_CREDENTIAL_SSID = "ssid";
11756    field public static final int IFACE_IP_MODE_CONFIGURATION_ERROR = 0; // 0x0
11757    field public static final int IFACE_IP_MODE_LOCAL_ONLY = 2; // 0x2
11758    field public static final int IFACE_IP_MODE_TETHERED = 1; // 0x1
11759    field public static final int IFACE_IP_MODE_UNSPECIFIED = -1; // 0xffffffff
11760    field public static final int PASSPOINT_HOME_NETWORK = 0; // 0x0
11761    field public static final int PASSPOINT_ROAMING_NETWORK = 1; // 0x1
11762    field public static final int SAP_CLIENT_BLOCK_REASON_CODE_BLOCKED_BY_USER = 0; // 0x0
11763    field public static final int SAP_CLIENT_BLOCK_REASON_CODE_NO_MORE_STAS = 1; // 0x1
11764    field public static final int SAP_START_FAILURE_GENERAL = 0; // 0x0
11765    field public static final int SAP_START_FAILURE_NO_CHANNEL = 1; // 0x1
11766    field public static final int SAP_START_FAILURE_UNSUPPORTED_CONFIGURATION = 2; // 0x2
11767    field public static final int VERBOSE_LOGGING_LEVEL_DISABLED = 0; // 0x0
11768    field public static final int VERBOSE_LOGGING_LEVEL_ENABLED = 1; // 0x1
11769    field public static final int VERBOSE_LOGGING_LEVEL_ENABLED_SHOW_KEY = 2; // 0x2
11770    field @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public static final String WIFI_AP_STATE_CHANGED_ACTION = "android.net.wifi.WIFI_AP_STATE_CHANGED";
11771    field public static final int WIFI_AP_STATE_DISABLED = 11; // 0xb
11772    field public static final int WIFI_AP_STATE_DISABLING = 10; // 0xa
11773    field public static final int WIFI_AP_STATE_ENABLED = 13; // 0xd
11774    field public static final int WIFI_AP_STATE_ENABLING = 12; // 0xc
11775    field public static final int WIFI_AP_STATE_FAILED = 14; // 0xe
11776    field public static final String WIFI_CREDENTIAL_CHANGED_ACTION = "android.net.wifi.WIFI_CREDENTIAL_CHANGED";
11777    field public static final int WIFI_CREDENTIAL_FORGOT = 1; // 0x1
11778    field public static final int WIFI_CREDENTIAL_SAVED = 0; // 0x0
11779  }
11780
11781  public static interface WifiManager.ActionListener {
11782    method public void onFailure(int);
11783    method public void onSuccess();
11784    field public static final int FAILURE_BUSY = 2; // 0x2
11785    field public static final int FAILURE_INTERNAL_ERROR = 0; // 0x0
11786    field public static final int FAILURE_INVALID_ARGS = 3; // 0x3
11787    field public static final int FAILURE_IN_PROGRESS = 1; // 0x1
11788    field public static final int FAILURE_NOT_AUTHORIZED = 4; // 0x4
11789  }
11790
11791  public static interface WifiManager.ActiveCountryCodeChangedCallback {
11792    method public void onActiveCountryCodeChanged(@NonNull String);
11793    method public void onCountryCodeInactive();
11794  }
11795
11796  public abstract static class WifiManager.CoexCallback {
11797    ctor public WifiManager.CoexCallback();
11798    method public abstract void onCoexUnsafeChannelsChanged(@NonNull java.util.List<android.net.wifi.CoexUnsafeChannel>, int);
11799  }
11800
11801  public static interface WifiManager.NetworkRequestMatchCallback {
11802    method public default void onAbort();
11803    method public default void onMatch(@NonNull java.util.List<android.net.wifi.ScanResult>);
11804    method public default void onUserSelectionCallbackRegistration(@NonNull android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback);
11805    method public default void onUserSelectionConnectFailure(@NonNull android.net.wifi.WifiConfiguration);
11806    method public default void onUserSelectionConnectSuccess(@NonNull android.net.wifi.WifiConfiguration);
11807  }
11808
11809  public static interface WifiManager.NetworkRequestUserSelectionCallback {
11810    method public default void reject();
11811    method public default void select(@NonNull android.net.wifi.WifiConfiguration);
11812  }
11813
11814  public static interface WifiManager.OnWifiActivityEnergyInfoListener {
11815    method public void onWifiActivityEnergyInfo(@Nullable android.os.connectivity.WifiActivityEnergyInfo);
11816  }
11817
11818  public static interface WifiManager.OnWifiUsabilityStatsListener {
11819    method public void onWifiUsabilityStats(int, boolean, @NonNull android.net.wifi.WifiUsabilityStatsEntry);
11820  }
11821
11822  public static interface WifiManager.PnoScanResultsCallback {
11823    method public void onRegisterFailed(int);
11824    method public void onRegisterSuccess();
11825    method public void onRemoved(int);
11826    method public void onScanResultsAvailable(@NonNull java.util.List<android.net.wifi.ScanResult>);
11827    field public static final int REGISTER_PNO_CALLBACK_ALREADY_REGISTERED = 1; // 0x1
11828    field public static final int REGISTER_PNO_CALLBACK_PNO_NOT_SUPPORTED = 3; // 0x3
11829    field public static final int REGISTER_PNO_CALLBACK_RESOURCE_BUSY = 2; // 0x2
11830    field public static final int REGISTER_PNO_CALLBACK_UNKNOWN = 0; // 0x0
11831    field public static final int REMOVE_PNO_CALLBACK_RESULTS_DELIVERED = 1; // 0x1
11832    field public static final int REMOVE_PNO_CALLBACK_UNKNOWN = 0; // 0x0
11833    field public static final int REMOVE_PNO_CALLBACK_UNREGISTERED = 2; // 0x2
11834  }
11835
11836  public static interface WifiManager.ScoreUpdateObserver {
11837    method public default void blocklistCurrentBssid(int);
11838    method public void notifyScoreUpdate(int, int);
11839    method public default void notifyStatusUpdate(int, boolean);
11840    method public default void requestNudOperation(int);
11841    method public void triggerUpdateOfWifiUsabilityStats(int);
11842  }
11843
11844  public static class WifiManager.ScreenOnScanSchedule {
11845    ctor public WifiManager.ScreenOnScanSchedule(@NonNull java.time.Duration, int);
11846    method @NonNull public java.time.Duration getScanInterval();
11847    method public int getScanType();
11848  }
11849
11850  public static interface WifiManager.SoftApCallback {
11851    method public default void onBlockedClientConnecting(@NonNull android.net.wifi.WifiClient, int);
11852    method public default void onCapabilityChanged(@NonNull android.net.wifi.SoftApCapability);
11853    method @Deprecated public default void onConnectedClientsChanged(@NonNull java.util.List<android.net.wifi.WifiClient>);
11854    method public default void onConnectedClientsChanged(@NonNull android.net.wifi.SoftApInfo, @NonNull java.util.List<android.net.wifi.WifiClient>);
11855    method @Deprecated public default void onInfoChanged(@NonNull android.net.wifi.SoftApInfo);
11856    method public default void onInfoChanged(@NonNull java.util.List<android.net.wifi.SoftApInfo>);
11857    method public default void onStateChanged(int, int);
11858  }
11859
11860  public static interface WifiManager.TrafficStateCallback {
11861    method public void onStateChanged(int);
11862    field public static final int DATA_ACTIVITY_IN = 1; // 0x1
11863    field public static final int DATA_ACTIVITY_INOUT = 3; // 0x3
11864    field public static final int DATA_ACTIVITY_NONE = 0; // 0x0
11865    field public static final int DATA_ACTIVITY_OUT = 2; // 0x2
11866  }
11867
11868  public static interface WifiManager.WifiConnectedNetworkScorer {
11869    method public void onSetScoreUpdateObserver(@NonNull android.net.wifi.WifiManager.ScoreUpdateObserver);
11870    method @Deprecated public default void onStart(int);
11871    method public default void onStart(@NonNull android.net.wifi.WifiConnectedSessionInfo);
11872    method public void onStop(int);
11873  }
11874
11875  public static interface WifiManager.WifiVerboseLoggingStatusChangedListener {
11876    method public void onWifiVerboseLoggingStatusChanged(boolean);
11877  }
11878
11879  public final class WifiMigration {
11880    method @Nullable public static java.io.InputStream convertAndRetrieveSharedConfigStoreFile(int);
11881    method @Nullable public static java.io.InputStream convertAndRetrieveUserConfigStoreFile(int, @NonNull android.os.UserHandle);
11882    method @NonNull public static android.net.wifi.WifiMigration.SettingsMigrationData loadFromSettings(@NonNull android.content.Context);
11883    method public static void removeSharedConfigStoreFile(int);
11884    method public static void removeUserConfigStoreFile(int, @NonNull android.os.UserHandle);
11885    field public static final int STORE_FILE_SHARED_GENERAL = 0; // 0x0
11886    field public static final int STORE_FILE_SHARED_SOFTAP = 1; // 0x1
11887    field public static final int STORE_FILE_USER_GENERAL = 2; // 0x2
11888    field public static final int STORE_FILE_USER_NETWORK_SUGGESTIONS = 3; // 0x3
11889  }
11890
11891  public static final class WifiMigration.SettingsMigrationData implements android.os.Parcelable {
11892    method public int describeContents();
11893    method @Nullable public String getP2pDeviceName();
11894    method public boolean isP2pFactoryResetPending();
11895    method public boolean isScanAlwaysAvailable();
11896    method public boolean isScanThrottleEnabled();
11897    method public boolean isSoftApTimeoutEnabled();
11898    method public boolean isVerboseLoggingEnabled();
11899    method public boolean isWakeUpEnabled();
11900    method public void writeToParcel(@NonNull android.os.Parcel, int);
11901    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiMigration.SettingsMigrationData> CREATOR;
11902  }
11903
11904  public static final class WifiMigration.SettingsMigrationData.Builder {
11905    ctor public WifiMigration.SettingsMigrationData.Builder();
11906    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData build();
11907    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setP2pDeviceName(@Nullable String);
11908    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setP2pFactoryResetPending(boolean);
11909    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setScanAlwaysAvailable(boolean);
11910    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setScanThrottleEnabled(boolean);
11911    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setSoftApTimeoutEnabled(boolean);
11912    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setVerboseLoggingEnabled(boolean);
11913    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setWakeUpEnabled(boolean);
11914  }
11915
11916  @Deprecated public class WifiNetworkConnectionStatistics implements android.os.Parcelable {
11917    ctor @Deprecated public WifiNetworkConnectionStatistics(int, int);
11918    ctor @Deprecated public WifiNetworkConnectionStatistics();
11919    ctor @Deprecated public WifiNetworkConnectionStatistics(android.net.wifi.WifiNetworkConnectionStatistics);
11920    method @Deprecated public int describeContents();
11921    method @Deprecated public void writeToParcel(android.os.Parcel, int);
11922    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkConnectionStatistics> CREATOR;
11923    field @Deprecated public int numConnection;
11924    field @Deprecated public int numUsage;
11925  }
11926
11927  public final class WifiNetworkSuggestion implements android.os.Parcelable {
11928    method public int getCarrierId();
11929    method @NonNull public android.net.wifi.WifiConfiguration getWifiConfiguration();
11930    method public boolean isOemPaid();
11931    method public boolean isOemPrivate();
11932  }
11933
11934  public static final class WifiNetworkSuggestion.Builder {
11935    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public android.net.wifi.WifiNetworkSuggestion.Builder setCarrierId(int);
11936    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setOemPaid(boolean);
11937    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setOemPrivate(boolean);
11938  }
11939
11940  public class WifiScanner {
11941    method @Deprecated public void configureWifiChange(int, int, int, int, int, android.net.wifi.WifiScanner.BssidInfo[]);
11942    method @Deprecated public void configureWifiChange(android.net.wifi.WifiScanner.WifiChangeSettings);
11943    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<java.lang.Integer> getAvailableChannels(int);
11944    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean getScanResults();
11945    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<android.net.wifi.ScanResult> getSingleScanResults();
11946    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean isScanning();
11947    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);
11948    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setScanningEnabled(boolean);
11949    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startBackgroundScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener);
11950    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startBackgroundScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener, android.os.WorkSource);
11951    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener);
11952    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener, android.os.WorkSource);
11953    method @Deprecated public void startTrackingBssids(android.net.wifi.WifiScanner.BssidInfo[], int, android.net.wifi.WifiScanner.BssidListener);
11954    method @Deprecated public void startTrackingWifiChange(android.net.wifi.WifiScanner.WifiChangeListener);
11955    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopBackgroundScan(android.net.wifi.WifiScanner.ScanListener);
11956    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopScan(android.net.wifi.WifiScanner.ScanListener);
11957    method @Deprecated public void stopTrackingBssids(android.net.wifi.WifiScanner.BssidListener);
11958    method @Deprecated public void stopTrackingWifiChange(android.net.wifi.WifiScanner.WifiChangeListener);
11959    method public void unregisterScanListener(@NonNull android.net.wifi.WifiScanner.ScanListener);
11960    field public static final int MAX_SCAN_PERIOD_MS = 1024000; // 0xfa000
11961    field public static final int MIN_SCAN_PERIOD_MS = 1000; // 0x3e8
11962    field public static final int REASON_DUPLICATE_REQEUST = -5; // 0xfffffffb
11963    field public static final int REASON_INVALID_LISTENER = -2; // 0xfffffffe
11964    field public static final int REASON_INVALID_REQUEST = -3; // 0xfffffffd
11965    field public static final int REASON_NOT_AUTHORIZED = -4; // 0xfffffffc
11966    field public static final int REASON_SUCCEEDED = 0; // 0x0
11967    field public static final int REASON_UNSPECIFIED = -1; // 0xffffffff
11968    field @Deprecated public static final int REPORT_EVENT_AFTER_BUFFER_FULL = 0; // 0x0
11969    field public static final int REPORT_EVENT_AFTER_EACH_SCAN = 1; // 0x1
11970    field public static final int REPORT_EVENT_FULL_SCAN_RESULT = 2; // 0x2
11971    field public static final int REPORT_EVENT_NO_BATCH = 4; // 0x4
11972    field public static final int SCAN_TYPE_HIGH_ACCURACY = 2; // 0x2
11973    field public static final int SCAN_TYPE_LOW_LATENCY = 0; // 0x0
11974    field public static final int SCAN_TYPE_LOW_POWER = 1; // 0x1
11975    field public static final int WIFI_BAND_24_5_6_GHZ = 11; // 0xb
11976    field public static final int WIFI_BAND_24_5_WITH_DFS_6_GHZ = 15; // 0xf
11977    field public static final int WIFI_BAND_24_GHZ = 1; // 0x1
11978    field public static final int WIFI_BAND_5_GHZ = 2; // 0x2
11979    field public static final int WIFI_BAND_5_GHZ_DFS_ONLY = 4; // 0x4
11980    field public static final int WIFI_BAND_5_GHZ_WITH_DFS = 6; // 0x6
11981    field public static final int WIFI_BAND_60_GHZ = 16; // 0x10
11982    field public static final int WIFI_BAND_6_GHZ = 8; // 0x8
11983    field public static final int WIFI_BAND_BOTH = 3; // 0x3
11984    field public static final int WIFI_BAND_BOTH_WITH_DFS = 7; // 0x7
11985    field public static final int WIFI_BAND_UNSPECIFIED = 0; // 0x0
11986    field public static final int WIFI_RNR_ENABLED = 1; // 0x1
11987    field public static final int WIFI_RNR_ENABLED_IF_WIFI_BAND_6_GHZ_SCANNED = 0; // 0x0
11988    field public static final int WIFI_RNR_NOT_NEEDED = 2; // 0x2
11989  }
11990
11991  public static interface WifiScanner.ActionListener {
11992    method public void onFailure(int, String);
11993    method public void onSuccess();
11994  }
11995
11996  @Deprecated public static class WifiScanner.BssidInfo {
11997    ctor @Deprecated public WifiScanner.BssidInfo();
11998    field @Deprecated public String bssid;
11999    field @Deprecated public int frequencyHint;
12000    field @Deprecated public int high;
12001    field @Deprecated public int low;
12002  }
12003
12004  @Deprecated public static interface WifiScanner.BssidListener extends android.net.wifi.WifiScanner.ActionListener {
12005    method @Deprecated public void onFound(android.net.wifi.ScanResult[]);
12006    method @Deprecated public void onLost(android.net.wifi.ScanResult[]);
12007  }
12008
12009  public static class WifiScanner.ChannelSpec {
12010    ctor public WifiScanner.ChannelSpec(int);
12011    field public int frequency;
12012  }
12013
12014  @Deprecated public static class WifiScanner.HotlistSettings implements android.os.Parcelable {
12015    ctor @Deprecated public WifiScanner.HotlistSettings();
12016    field @Deprecated public int apLostThreshold;
12017    field @Deprecated public android.net.wifi.WifiScanner.BssidInfo[] bssidInfos;
12018  }
12019
12020  public static class WifiScanner.ParcelableScanData implements android.os.Parcelable {
12021    ctor public WifiScanner.ParcelableScanData(android.net.wifi.WifiScanner.ScanData[]);
12022    method public android.net.wifi.WifiScanner.ScanData[] getResults();
12023    field public android.net.wifi.WifiScanner.ScanData[] mResults;
12024  }
12025
12026  public static class WifiScanner.ParcelableScanResults implements android.os.Parcelable {
12027    ctor public WifiScanner.ParcelableScanResults(android.net.wifi.ScanResult[]);
12028    method public android.net.wifi.ScanResult[] getResults();
12029    field public android.net.wifi.ScanResult[] mResults;
12030  }
12031
12032  public static class WifiScanner.ScanData implements android.os.Parcelable {
12033    ctor public WifiScanner.ScanData(int, int, android.net.wifi.ScanResult[]);
12034    ctor public WifiScanner.ScanData(android.net.wifi.WifiScanner.ScanData);
12035    method public int getFlags();
12036    method public int getId();
12037    method public android.net.wifi.ScanResult[] getResults();
12038    method public int getScannedBands();
12039  }
12040
12041  public static interface WifiScanner.ScanListener extends android.net.wifi.WifiScanner.ActionListener {
12042    method public void onFullResult(android.net.wifi.ScanResult);
12043    method @Deprecated public void onPeriodChanged(int);
12044    method public void onResults(android.net.wifi.WifiScanner.ScanData[]);
12045  }
12046
12047  public static class WifiScanner.ScanSettings implements android.os.Parcelable {
12048    ctor public WifiScanner.ScanSettings();
12049    method public int getRnrSetting();
12050    method public boolean is6GhzPscOnlyEnabled();
12051    method public void set6GhzPscOnlyEnabled(boolean);
12052    method public void setRnrSetting(int);
12053    field public int band;
12054    field public android.net.wifi.WifiScanner.ChannelSpec[] channels;
12055    field @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public final java.util.List<android.net.wifi.WifiScanner.ScanSettings.HiddenNetwork> hiddenNetworks;
12056    field public boolean hideFromAppOps;
12057    field public boolean ignoreLocationSettings;
12058    field @Deprecated public int maxPeriodInMs;
12059    field @Deprecated public int maxScansToCache;
12060    field @Deprecated public int numBssidsPerScan;
12061    field @Deprecated public int periodInMs;
12062    field @Deprecated public int reportEvents;
12063    field @Deprecated public int stepCount;
12064    field @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public int type;
12065  }
12066
12067  public static class WifiScanner.ScanSettings.HiddenNetwork {
12068    ctor public WifiScanner.ScanSettings.HiddenNetwork(@NonNull String);
12069    field @NonNull public final String ssid;
12070  }
12071
12072  @Deprecated public static interface WifiScanner.WifiChangeListener extends android.net.wifi.WifiScanner.ActionListener {
12073    method @Deprecated public void onChanging(android.net.wifi.ScanResult[]);
12074    method @Deprecated public void onQuiescence(android.net.wifi.ScanResult[]);
12075  }
12076
12077  @Deprecated public static class WifiScanner.WifiChangeSettings implements android.os.Parcelable {
12078    ctor @Deprecated public WifiScanner.WifiChangeSettings();
12079    field @Deprecated public android.net.wifi.WifiScanner.BssidInfo[] bssidInfos;
12080    field @Deprecated public int lostApSampleSize;
12081    field @Deprecated public int minApsBreachingThreshold;
12082    field @Deprecated public int periodInMs;
12083    field @Deprecated public int rssiSampleSize;
12084    field @Deprecated public int unchangedSampleSize;
12085  }
12086
12087  public final class WifiUsabilityStatsEntry implements android.os.Parcelable {
12088    method public int describeContents();
12089    method public int getCellularDataNetworkType();
12090    method public int getCellularSignalStrengthDb();
12091    method public int getCellularSignalStrengthDbm();
12092    method @IntRange(from=0xffffffff, to=255) public int getChannelUtilizationRatio();
12093    method @NonNull public android.net.wifi.WifiUsabilityStatsEntry.ContentionTimeStats getContentionTimeStats(int);
12094    method public int getLinkSpeedMbps();
12095    method public int getProbeElapsedTimeSinceLastUpdateMillis();
12096    method public int getProbeMcsRateSinceLastUpdate();
12097    method public int getProbeStatusSinceLastUpdate();
12098    method @NonNull public java.util.List<android.net.wifi.WifiUsabilityStatsEntry.RateStats> getRateStats();
12099    method public int getRssi();
12100    method public int getRxLinkSpeedMbps();
12101    method @IntRange(from=0, to=100) public int getTimeSliceDutyCycleInPercent();
12102    method public long getTimeStampMillis();
12103    method public long getTotalBackgroundScanTimeMillis();
12104    method public long getTotalBeaconRx();
12105    method public long getTotalCcaBusyFreqTimeMillis();
12106    method public long getTotalHotspot2ScanTimeMillis();
12107    method public long getTotalNanScanTimeMillis();
12108    method public long getTotalPnoScanTimeMillis();
12109    method public long getTotalRadioOnFreqTimeMillis();
12110    method public long getTotalRadioOnTimeMillis();
12111    method public long getTotalRadioRxTimeMillis();
12112    method public long getTotalRadioTxTimeMillis();
12113    method public long getTotalRoamScanTimeMillis();
12114    method public long getTotalRxSuccess();
12115    method public long getTotalScanTimeMillis();
12116    method public long getTotalTxBad();
12117    method public long getTotalTxRetries();
12118    method public long getTotalTxSuccess();
12119    method @NonNull public java.util.List<android.net.wifi.WifiUsabilityStatsEntry.RadioStats> getWifiLinkLayerRadioStats();
12120    method public boolean isCellularDataAvailable();
12121    method public boolean isSameRegisteredCell();
12122    method public boolean isThroughputSufficient();
12123    method public boolean isWifiScoringEnabled();
12124    method public void writeToParcel(android.os.Parcel, int);
12125    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry> CREATOR;
12126    field public static final int NUM_WME_ACCESS_CATEGORIES = 4; // 0x4
12127    field public static final int PROBE_STATUS_FAILURE = 3; // 0x3
12128    field public static final int PROBE_STATUS_NO_PROBE = 1; // 0x1
12129    field public static final int PROBE_STATUS_SUCCESS = 2; // 0x2
12130    field public static final int PROBE_STATUS_UNKNOWN = 0; // 0x0
12131    field public static final int WIFI_BANDWIDTH_10_MHZ = 6; // 0x6
12132    field public static final int WIFI_BANDWIDTH_160_MHZ = 3; // 0x3
12133    field public static final int WIFI_BANDWIDTH_20_MHZ = 0; // 0x0
12134    field public static final int WIFI_BANDWIDTH_320_MHZ = 7; // 0x7
12135    field public static final int WIFI_BANDWIDTH_40_MHZ = 1; // 0x1
12136    field public static final int WIFI_BANDWIDTH_5_MHZ = 5; // 0x5
12137    field public static final int WIFI_BANDWIDTH_80P80_MHZ = 4; // 0x4
12138    field public static final int WIFI_BANDWIDTH_80_MHZ = 2; // 0x2
12139    field public static final int WIFI_BANDWIDTH_INVALID = -1; // 0xffffffff
12140    field public static final int WIFI_PREAMBLE_CCK = 1; // 0x1
12141    field public static final int WIFI_PREAMBLE_EHT = 6; // 0x6
12142    field public static final int WIFI_PREAMBLE_HE = 5; // 0x5
12143    field public static final int WIFI_PREAMBLE_HT = 2; // 0x2
12144    field public static final int WIFI_PREAMBLE_INVALID = -1; // 0xffffffff
12145    field public static final int WIFI_PREAMBLE_OFDM = 0; // 0x0
12146    field public static final int WIFI_PREAMBLE_VHT = 3; // 0x3
12147    field public static final int WIFI_SPATIAL_STREAMS_FOUR = 4; // 0x4
12148    field public static final int WIFI_SPATIAL_STREAMS_INVALID = -1; // 0xffffffff
12149    field public static final int WIFI_SPATIAL_STREAMS_ONE = 1; // 0x1
12150    field public static final int WIFI_SPATIAL_STREAMS_THREE = 3; // 0x3
12151    field public static final int WIFI_SPATIAL_STREAMS_TWO = 2; // 0x2
12152    field public static final int WME_ACCESS_CATEGORY_BE = 0; // 0x0
12153    field public static final int WME_ACCESS_CATEGORY_BK = 1; // 0x1
12154    field public static final int WME_ACCESS_CATEGORY_VI = 2; // 0x2
12155    field public static final int WME_ACCESS_CATEGORY_VO = 3; // 0x3
12156  }
12157
12158  public static final class WifiUsabilityStatsEntry.ContentionTimeStats implements android.os.Parcelable {
12159    ctor public WifiUsabilityStatsEntry.ContentionTimeStats(long, long, long, long);
12160    method public int describeContents();
12161    method public long getContentionNumSamples();
12162    method public long getContentionTimeAvgMicros();
12163    method public long getContentionTimeMaxMicros();
12164    method public long getContentionTimeMinMicros();
12165    method public void writeToParcel(@NonNull android.os.Parcel, int);
12166    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.ContentionTimeStats> CREATOR;
12167  }
12168
12169  public static final class WifiUsabilityStatsEntry.RadioStats implements android.os.Parcelable {
12170    ctor public WifiUsabilityStatsEntry.RadioStats(int, long, long, long, long, long, long, long, long, long);
12171    method public int describeContents();
12172    method public long getRadioId();
12173    method public long getTotalBackgroundScanTimeMillis();
12174    method public long getTotalHotspot2ScanTimeMillis();
12175    method public long getTotalNanScanTimeMillis();
12176    method public long getTotalPnoScanTimeMillis();
12177    method public long getTotalRadioOnTimeMillis();
12178    method public long getTotalRadioRxTimeMillis();
12179    method public long getTotalRadioTxTimeMillis();
12180    method public long getTotalRoamScanTimeMillis();
12181    method public long getTotalScanTimeMillis();
12182    method public void writeToParcel(@NonNull android.os.Parcel, int);
12183    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.RadioStats> CREATOR;
12184  }
12185
12186  public static final class WifiUsabilityStatsEntry.RateStats implements android.os.Parcelable {
12187    ctor public WifiUsabilityStatsEntry.RateStats(int, int, int, int, int, int, int, int, int);
12188    method public int describeContents();
12189    method public int getBandwidthInMhz();
12190    method public int getBitRateInKbps();
12191    method public int getMpduLost();
12192    method public int getNumberOfSpatialStreams();
12193    method public int getPreamble();
12194    method public int getRateMcsIdx();
12195    method public int getRetries();
12196    method public int getRxMpdu();
12197    method public int getTxMpdu();
12198    method public void writeToParcel(@NonNull android.os.Parcel, int);
12199    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.RateStats> CREATOR;
12200  }
12201
12202}
12203
12204package android.net.wifi.aware {
12205
12206  public final class AwareParams implements android.os.Parcelable {
12207    ctor public AwareParams();
12208    method public int describeContents();
12209    method public int getDiscoveryBeaconIntervalMillis();
12210    method public int getDiscoveryWindowWakeInterval24Ghz();
12211    method public int getDiscoveryWindowWakeInterval5Ghz();
12212    method public int getMacRandomizationIntervalSeconds();
12213    method public int getNumSpatialStreamsInDiscovery();
12214    method public boolean isDwEarlyTerminationEnabled();
12215    method public void setDiscoveryBeaconIntervalMillis(@IntRange(from=1) int);
12216    method public void setDiscoveryWindowWakeInterval24Ghz(@IntRange(from=1, to=5) int);
12217    method public void setDiscoveryWindowWakeInterval5Ghz(@IntRange(from=0, to=5) int);
12218    method public void setDwEarlyTerminationEnabled(boolean);
12219    method public void setMacRandomizationIntervalSeconds(@IntRange(from=1, to=1800) int);
12220    method public void setNumSpatialStreamsInDiscovery(@IntRange(from=1) int);
12221    method public void writeToParcel(@NonNull android.os.Parcel, int);
12222    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.AwareParams> CREATOR;
12223    field public static final int UNSET_PARAMETER = -1; // 0xffffffff
12224  }
12225
12226  public class DiscoverySession implements java.lang.AutoCloseable {
12227    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPmk(@NonNull android.net.wifi.aware.PeerHandle, @NonNull byte[]);
12228  }
12229
12230  public class WifiAwareManager {
12231    method @RequiresPermission(allOf={android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void enableInstantCommunicationMode(boolean);
12232    method @RequiresPermission(allOf={android.Manifest.permission.OVERRIDE_WIFI_CONFIG, android.Manifest.permission.CHANGE_WIFI_STATE}) public void setAwareParams(@Nullable android.net.wifi.aware.AwareParams);
12233  }
12234
12235  public class WifiAwareSession implements java.lang.AutoCloseable {
12236    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPmk(int, @NonNull byte[], @NonNull byte[]);
12237  }
12238
12239}
12240
12241package android.net.wifi.hotspot2 {
12242
12243  public final class OsuProvider implements android.os.Parcelable {
12244    method public int describeContents();
12245    method @Nullable public String getFriendlyName();
12246    method @Nullable public android.net.Uri getServerUri();
12247    method public void writeToParcel(android.os.Parcel, int);
12248    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.OsuProvider> CREATOR;
12249  }
12250
12251  public final class PasspointConfiguration implements android.os.Parcelable {
12252    method public int getMeteredOverride();
12253    method public boolean isAutojoinEnabled();
12254    method public boolean isMacRandomizationEnabled();
12255  }
12256
12257  public abstract class ProvisioningCallback {
12258    ctor public ProvisioningCallback();
12259    method public abstract void onProvisioningComplete();
12260    method public abstract void onProvisioningFailure(int);
12261    method public abstract void onProvisioningStatus(int);
12262    field public static final int OSU_FAILURE_ADD_PASSPOINT_CONFIGURATION = 22; // 0x16
12263    field public static final int OSU_FAILURE_AP_CONNECTION = 1; // 0x1
12264    field public static final int OSU_FAILURE_INVALID_URL_FORMAT_FOR_OSU = 8; // 0x8
12265    field public static final int OSU_FAILURE_NO_AAA_SERVER_TRUST_ROOT_NODE = 17; // 0x11
12266    field public static final int OSU_FAILURE_NO_AAA_TRUST_ROOT_CERTIFICATE = 21; // 0x15
12267    field public static final int OSU_FAILURE_NO_OSU_ACTIVITY_FOUND = 14; // 0xe
12268    field public static final int OSU_FAILURE_NO_POLICY_SERVER_TRUST_ROOT_NODE = 19; // 0x13
12269    field public static final int OSU_FAILURE_NO_PPS_MO = 16; // 0x10
12270    field public static final int OSU_FAILURE_NO_REMEDIATION_SERVER_TRUST_ROOT_NODE = 18; // 0x12
12271    field public static final int OSU_FAILURE_OSU_PROVIDER_NOT_FOUND = 23; // 0x17
12272    field public static final int OSU_FAILURE_PROVISIONING_ABORTED = 6; // 0x6
12273    field public static final int OSU_FAILURE_PROVISIONING_NOT_AVAILABLE = 7; // 0x7
12274    field public static final int OSU_FAILURE_RETRIEVE_TRUST_ROOT_CERTIFICATES = 20; // 0x14
12275    field public static final int OSU_FAILURE_SERVER_CONNECTION = 3; // 0x3
12276    field public static final int OSU_FAILURE_SERVER_URL_INVALID = 2; // 0x2
12277    field public static final int OSU_FAILURE_SERVER_VALIDATION = 4; // 0x4
12278    field public static final int OSU_FAILURE_SERVICE_PROVIDER_VERIFICATION = 5; // 0x5
12279    field public static final int OSU_FAILURE_SOAP_MESSAGE_EXCHANGE = 11; // 0xb
12280    field public static final int OSU_FAILURE_START_REDIRECT_LISTENER = 12; // 0xc
12281    field public static final int OSU_FAILURE_TIMED_OUT_REDIRECT_LISTENER = 13; // 0xd
12282    field public static final int OSU_FAILURE_UNEXPECTED_COMMAND_TYPE = 9; // 0x9
12283    field public static final int OSU_FAILURE_UNEXPECTED_SOAP_MESSAGE_STATUS = 15; // 0xf
12284    field public static final int OSU_FAILURE_UNEXPECTED_SOAP_MESSAGE_TYPE = 10; // 0xa
12285    field public static final int OSU_STATUS_AP_CONNECTED = 2; // 0x2
12286    field public static final int OSU_STATUS_AP_CONNECTING = 1; // 0x1
12287    field public static final int OSU_STATUS_INIT_SOAP_EXCHANGE = 6; // 0x6
12288    field public static final int OSU_STATUS_REDIRECT_RESPONSE_RECEIVED = 8; // 0x8
12289    field public static final int OSU_STATUS_RETRIEVING_TRUST_ROOT_CERTS = 11; // 0xb
12290    field public static final int OSU_STATUS_SECOND_SOAP_EXCHANGE = 9; // 0x9
12291    field public static final int OSU_STATUS_SERVER_CONNECTED = 5; // 0x5
12292    field public static final int OSU_STATUS_SERVER_CONNECTING = 3; // 0x3
12293    field public static final int OSU_STATUS_SERVER_VALIDATED = 4; // 0x4
12294    field public static final int OSU_STATUS_THIRD_SOAP_EXCHANGE = 10; // 0xa
12295    field public static final int OSU_STATUS_WAITING_FOR_REDIRECT_RESPONSE = 7; // 0x7
12296  }
12297
12298}
12299
12300package android.net.wifi.nl80211 {
12301
12302  public final class DeviceWiphyCapabilities implements android.os.Parcelable {
12303    ctor public DeviceWiphyCapabilities();
12304    method public int describeContents();
12305    method public int getMaxNumberRxSpatialStreams();
12306    method public int getMaxNumberTxSpatialStreams();
12307    method public boolean isChannelWidthSupported(int);
12308    method public boolean isWifiStandardSupported(int);
12309    method public void setWifiStandardSupport(int, boolean);
12310    method public void writeToParcel(@NonNull android.os.Parcel, int);
12311    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.DeviceWiphyCapabilities> CREATOR;
12312  }
12313
12314  public final class NativeScanResult implements android.os.Parcelable {
12315    ctor public NativeScanResult();
12316    method public int describeContents();
12317    method @Nullable public android.net.MacAddress getBssid();
12318    method public int getCapabilities();
12319    method public int getFrequencyMhz();
12320    method @NonNull public byte[] getInformationElements();
12321    method @NonNull public java.util.List<android.net.wifi.nl80211.RadioChainInfo> getRadioChainInfos();
12322    method public int getSignalMbm();
12323    method @NonNull public byte[] getSsid();
12324    method public long getTsf();
12325    method public boolean isAssociated();
12326    method public void writeToParcel(@NonNull android.os.Parcel, int);
12327    field public static final int BSS_CAPABILITY_APSD = 2048; // 0x800
12328    field public static final int BSS_CAPABILITY_CF_POLLABLE = 4; // 0x4
12329    field public static final int BSS_CAPABILITY_CF_POLL_REQUEST = 8; // 0x8
12330    field public static final int BSS_CAPABILITY_CHANNEL_AGILITY = 128; // 0x80
12331    field public static final int BSS_CAPABILITY_DELAYED_BLOCK_ACK = 16384; // 0x4000
12332    field public static final int BSS_CAPABILITY_DMG_ESS = 3; // 0x3
12333    field public static final int BSS_CAPABILITY_DMG_IBSS = 1; // 0x1
12334    field public static final int BSS_CAPABILITY_DSSS_OFDM = 8192; // 0x2000
12335    field public static final int BSS_CAPABILITY_ESS = 1; // 0x1
12336    field public static final int BSS_CAPABILITY_IBSS = 2; // 0x2
12337    field public static final int BSS_CAPABILITY_IMMEDIATE_BLOCK_ACK = 32768; // 0x8000
12338    field public static final int BSS_CAPABILITY_PBCC = 64; // 0x40
12339    field public static final int BSS_CAPABILITY_PRIVACY = 16; // 0x10
12340    field public static final int BSS_CAPABILITY_QOS = 512; // 0x200
12341    field public static final int BSS_CAPABILITY_RADIO_MANAGEMENT = 4096; // 0x1000
12342    field public static final int BSS_CAPABILITY_SHORT_PREAMBLE = 32; // 0x20
12343    field public static final int BSS_CAPABILITY_SHORT_SLOT_TIME = 1024; // 0x400
12344    field public static final int BSS_CAPABILITY_SPECTRUM_MANAGEMENT = 256; // 0x100
12345    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.NativeScanResult> CREATOR;
12346  }
12347
12348  public final class NativeWifiClient implements android.os.Parcelable {
12349    ctor public NativeWifiClient(@Nullable android.net.MacAddress);
12350    method public int describeContents();
12351    method @Nullable public android.net.MacAddress getMacAddress();
12352    method public void writeToParcel(@NonNull android.os.Parcel, int);
12353    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.NativeWifiClient> CREATOR;
12354  }
12355
12356  public final class PnoNetwork implements android.os.Parcelable {
12357    ctor public PnoNetwork();
12358    method public int describeContents();
12359    method @NonNull public int[] getFrequenciesMhz();
12360    method @NonNull public byte[] getSsid();
12361    method public boolean isHidden();
12362    method public void setFrequenciesMhz(@NonNull int[]);
12363    method public void setHidden(boolean);
12364    method public void setSsid(@NonNull byte[]);
12365    method public void writeToParcel(@NonNull android.os.Parcel, int);
12366    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.PnoNetwork> CREATOR;
12367  }
12368
12369  public final class PnoSettings implements android.os.Parcelable {
12370    ctor public PnoSettings();
12371    method public int describeContents();
12372    method public long getIntervalMillis();
12373    method public int getMin2gRssiDbm();
12374    method public int getMin5gRssiDbm();
12375    method public int getMin6gRssiDbm();
12376    method @NonNull public java.util.List<android.net.wifi.nl80211.PnoNetwork> getPnoNetworks();
12377    method public void setIntervalMillis(long);
12378    method public void setMin2gRssiDbm(int);
12379    method public void setMin5gRssiDbm(int);
12380    method public void setMin6gRssiDbm(int);
12381    method public void setPnoNetworks(@NonNull java.util.List<android.net.wifi.nl80211.PnoNetwork>);
12382    method public void writeToParcel(@NonNull android.os.Parcel, int);
12383    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.PnoSettings> CREATOR;
12384  }
12385
12386  public final class RadioChainInfo implements android.os.Parcelable {
12387    ctor public RadioChainInfo(int, int);
12388    method public int describeContents();
12389    method public int getChainId();
12390    method public int getLevelDbm();
12391    method public void writeToParcel(@NonNull android.os.Parcel, int);
12392    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.RadioChainInfo> CREATOR;
12393  }
12394
12395  public class WifiNl80211Manager {
12396    method public void abortScan(@NonNull String);
12397    method public void enableVerboseLogging(boolean);
12398    method @NonNull public int[] getChannelsMhzForBand(int);
12399    method @Nullable public android.net.wifi.nl80211.DeviceWiphyCapabilities getDeviceWiphyCapabilities(@NonNull String);
12400    method public int getMaxSsidsPerScan(@NonNull String);
12401    method @NonNull public java.util.List<android.net.wifi.nl80211.NativeScanResult> getScanResults(@NonNull String, int);
12402    method @Nullable public android.net.wifi.nl80211.WifiNl80211Manager.TxPacketCounters getTxPacketCounters(@NonNull String);
12403    method public void notifyCountryCodeChanged(@Nullable String);
12404    method @Nullable public static android.net.wifi.nl80211.WifiNl80211Manager.OemSecurityType parseOemSecurityTypeElement(int, int, @NonNull byte[]);
12405    method @Deprecated public boolean registerApCallback(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.SoftApCallback);
12406    method public boolean registerCountryCodeChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.CountryCodeChangedListener);
12407    method public void sendMgmtFrame(@NonNull String, @NonNull byte[], int, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.SendMgmtFrameCallback);
12408    method public void setOnServiceDeadCallback(@NonNull Runnable);
12409    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);
12410    method public boolean setupInterfaceForSoftApMode(@NonNull String);
12411    method @Nullable public android.net.wifi.nl80211.WifiNl80211Manager.SignalPollResult signalPoll(@NonNull String);
12412    method public boolean startPnoScan(@NonNull String, @NonNull android.net.wifi.nl80211.PnoSettings, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.PnoScanRequestCallback);
12413    method @Deprecated public boolean startScan(@NonNull String, int, @Nullable java.util.Set<java.lang.Integer>, @Nullable java.util.List<byte[]>);
12414    method public boolean startScan(@NonNull String, int, @Nullable java.util.Set<java.lang.Integer>, @Nullable java.util.List<byte[]>, @Nullable android.os.Bundle);
12415    method public boolean stopPnoScan(@NonNull String);
12416    method public boolean tearDownClientInterface(@NonNull String);
12417    method public boolean tearDownInterfaces();
12418    method public boolean tearDownSoftApInterface(@NonNull String);
12419    method public void unregisterCountryCodeChangedListener(@NonNull android.net.wifi.nl80211.WifiNl80211Manager.CountryCodeChangedListener);
12420    field public static final String SCANNING_PARAM_ENABLE_6GHZ_RNR = "android.net.wifi.nl80211.SCANNING_PARAM_ENABLE_6GHZ_RNR";
12421    field public static final int SCAN_TYPE_PNO_SCAN = 1; // 0x1
12422    field public static final int SCAN_TYPE_SINGLE_SCAN = 0; // 0x0
12423    field public static final int SEND_MGMT_FRAME_ERROR_ALREADY_STARTED = 5; // 0x5
12424    field public static final int SEND_MGMT_FRAME_ERROR_MCS_UNSUPPORTED = 2; // 0x2
12425    field public static final int SEND_MGMT_FRAME_ERROR_NO_ACK = 3; // 0x3
12426    field public static final int SEND_MGMT_FRAME_ERROR_TIMEOUT = 4; // 0x4
12427    field public static final int SEND_MGMT_FRAME_ERROR_UNKNOWN = 1; // 0x1
12428  }
12429
12430  public static interface WifiNl80211Manager.CountryCodeChangedListener {
12431    method public void onCountryCodeChanged(@NonNull String);
12432  }
12433
12434  public static class WifiNl80211Manager.OemSecurityType {
12435    ctor public WifiNl80211Manager.OemSecurityType(int, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>, int);
12436    field public final int groupCipher;
12437    field @NonNull public final java.util.List<java.lang.Integer> keyManagement;
12438    field @NonNull public final java.util.List<java.lang.Integer> pairwiseCipher;
12439    field public final int protocol;
12440  }
12441
12442  public static interface WifiNl80211Manager.PnoScanRequestCallback {
12443    method public void onPnoRequestFailed();
12444    method public void onPnoRequestSucceeded();
12445  }
12446
12447  public static interface WifiNl80211Manager.ScanEventCallback {
12448    method public void onScanFailed();
12449    method public void onScanResultReady();
12450  }
12451
12452  public static interface WifiNl80211Manager.SendMgmtFrameCallback {
12453    method public void onAck(int);
12454    method public void onFailure(int);
12455  }
12456
12457  public static class WifiNl80211Manager.SignalPollResult {
12458    field public final int associationFrequencyMHz;
12459    field public final int currentRssiDbm;
12460    field public final int rxBitrateMbps;
12461    field public final int txBitrateMbps;
12462  }
12463
12464  @Deprecated public static interface WifiNl80211Manager.SoftApCallback {
12465    method @Deprecated public void onConnectedClientsChanged(@NonNull android.net.wifi.nl80211.NativeWifiClient, boolean);
12466    method @Deprecated public void onFailure();
12467    method @Deprecated public void onSoftApChannelSwitched(int, int);
12468  }
12469
12470  public static class WifiNl80211Manager.TxPacketCounters {
12471    field public final int txPacketFailed;
12472    field public final int txPacketSucceeded;
12473  }
12474
12475}
12476
12477package android.net.wifi.p2p {
12478
12479  public final class WifiP2pGroupList implements android.os.Parcelable {
12480    method public int describeContents();
12481    method @NonNull public java.util.List<android.net.wifi.p2p.WifiP2pGroup> getGroupList();
12482    method public void writeToParcel(@NonNull android.os.Parcel, int);
12483    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pGroupList> CREATOR;
12484  }
12485
12486  public class WifiP2pManager {
12487    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);
12488    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void factoryReset(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
12489    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);
12490    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);
12491    method @RequiresPermission(android.Manifest.permission.CONFIGURE_WIFI_DISPLAY) public void setMiracastMode(int);
12492    method @RequiresPermission(android.Manifest.permission.CONFIGURE_WIFI_DISPLAY) public void setWfdInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pWfdInfo, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
12493    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);
12494    field public static final String ACTION_WIFI_P2P_PERSISTENT_GROUPS_CHANGED = "android.net.wifi.p2p.action.WIFI_P2P_PERSISTENT_GROUPS_CHANGED";
12495    field public static final int MIRACAST_DISABLED = 0; // 0x0
12496    field public static final int MIRACAST_SINK = 2; // 0x2
12497    field public static final int MIRACAST_SOURCE = 1; // 0x1
12498  }
12499
12500  public static interface WifiP2pManager.PersistentGroupInfoListener {
12501    method public void onPersistentGroupInfoAvailable(@NonNull android.net.wifi.p2p.WifiP2pGroupList);
12502  }
12503
12504}
12505
12506package android.net.wifi.rtt {
12507
12508  public final class RangingRequest implements android.os.Parcelable {
12509    method @NonNull public java.util.List<android.net.wifi.rtt.ResponderConfig> getRttResponders();
12510  }
12511
12512  public final class RangingResult implements android.os.Parcelable {
12513    method @NonNull public byte[] getLci();
12514    method @NonNull public byte[] getLcr();
12515  }
12516
12517  public final class ResponderConfig implements android.os.Parcelable {
12518    ctor public ResponderConfig(@NonNull android.net.MacAddress, int, boolean, int, int, int, int, int);
12519    ctor public ResponderConfig(@NonNull android.net.wifi.aware.PeerHandle, int, boolean, int, int, int, int, int);
12520    method @NonNull public static android.net.wifi.rtt.ResponderConfig fromWifiAwarePeerHandleWithDefaults(@NonNull android.net.wifi.aware.PeerHandle);
12521    method @NonNull public static android.net.wifi.rtt.ResponderConfig fromWifiAwarePeerMacAddressWithDefaults(@NonNull android.net.MacAddress);
12522    field public static final int CHANNEL_WIDTH_160MHZ = 3; // 0x3
12523    field public static final int CHANNEL_WIDTH_20MHZ = 0; // 0x0
12524    field public static final int CHANNEL_WIDTH_320MHZ = 5; // 0x5
12525    field public static final int CHANNEL_WIDTH_40MHZ = 1; // 0x1
12526    field public static final int CHANNEL_WIDTH_80MHZ = 2; // 0x2
12527    field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 4; // 0x4
12528    field public static final int PREAMBLE_EHT = 4; // 0x4
12529    field public static final int PREAMBLE_HE = 3; // 0x3
12530    field public static final int PREAMBLE_HT = 1; // 0x1
12531    field public static final int PREAMBLE_LEGACY = 0; // 0x0
12532    field public static final int PREAMBLE_VHT = 2; // 0x2
12533    field public static final int RESPONDER_AP = 0; // 0x0
12534    field public static final int RESPONDER_AWARE = 4; // 0x4
12535    field public static final int RESPONDER_P2P_CLIENT = 3; // 0x3
12536    field public static final int RESPONDER_P2P_GO = 2; // 0x2
12537    field public static final int RESPONDER_STA = 1; // 0x1
12538    field public final int centerFreq0;
12539    field public final int centerFreq1;
12540    field public final int channelWidth;
12541    field public final int frequency;
12542    field @Nullable public final android.net.MacAddress macAddress;
12543    field @Nullable public final android.net.wifi.aware.PeerHandle peerHandle;
12544    field public final int preamble;
12545    field public final int responderType;
12546    field public final boolean supports80211mc;
12547  }
12548
12549  public final class ResponderLocation implements android.os.Parcelable {
12550    method public boolean getExtraInfoOnAssociationIndication();
12551  }
12552
12553  public class WifiRttManager {
12554    method @RequiresPermission(allOf={android.Manifest.permission.LOCATION_HARDWARE}) public void cancelRanging(@Nullable android.os.WorkSource);
12555    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);
12556  }
12557
12558}
12559
12560package android.nfc {
12561
12562  public final class NfcAdapter {
12563    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean addNfcUnlockHandler(android.nfc.NfcAdapter.NfcUnlockHandler, String[]);
12564    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disable();
12565    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disable(boolean);
12566    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disableNdefPush();
12567    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enable();
12568    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableNdefPush();
12569    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableSecureNfc(boolean);
12570    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean isControllerAlwaysOn();
12571    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean isControllerAlwaysOnSupported();
12572    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void registerControllerAlwaysOnListener(@NonNull java.util.concurrent.Executor, @NonNull android.nfc.NfcAdapter.ControllerAlwaysOnListener);
12573    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean removeNfcUnlockHandler(android.nfc.NfcAdapter.NfcUnlockHandler);
12574    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean setControllerAlwaysOn(boolean);
12575    method public void setNdefPushMessage(android.nfc.NdefMessage, android.app.Activity, int);
12576    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void unregisterControllerAlwaysOnListener(@NonNull android.nfc.NfcAdapter.ControllerAlwaysOnListener);
12577    field public static final int FLAG_NDEF_PUSH_NO_CONFIRM = 1; // 0x1
12578  }
12579
12580  public static interface NfcAdapter.ControllerAlwaysOnListener {
12581    method public void onControllerAlwaysOnChanged(boolean);
12582  }
12583
12584  public static interface NfcAdapter.NfcUnlockHandler {
12585    method public boolean onUnlockAttempted(android.nfc.Tag);
12586  }
12587
12588}
12589
12590package android.os {
12591
12592  public class BatteryManager {
12593    method @RequiresPermission(android.Manifest.permission.POWER_SAVER) public boolean setChargingStateUpdateDelayMillis(int);
12594    field public static final String EXTRA_EVENTS = "android.os.extra.EVENTS";
12595    field public static final String EXTRA_EVENT_TIMESTAMP = "android.os.extra.EVENT_TIMESTAMP";
12596  }
12597
12598  public final class BatterySaverPolicyConfig implements android.os.Parcelable {
12599    method public int describeContents();
12600    method public float getAdjustBrightnessFactor();
12601    method public boolean getAdvertiseIsEnabled();
12602    method public boolean getDeferFullBackup();
12603    method public boolean getDeferKeyValueBackup();
12604    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getDeviceSpecificSettings();
12605    method public boolean getDisableAnimation();
12606    method public boolean getDisableAod();
12607    method public boolean getDisableLaunchBoost();
12608    method public boolean getDisableOptionalSensors();
12609    method @Deprecated public boolean getDisableSoundTrigger();
12610    method public boolean getDisableVibration();
12611    method public boolean getEnableAdjustBrightness();
12612    method public boolean getEnableDataSaver();
12613    method public boolean getEnableFirewall();
12614    method public boolean getEnableNightMode();
12615    method public boolean getEnableQuickDoze();
12616    method public boolean getForceAllAppsStandby();
12617    method public boolean getForceBackgroundCheck();
12618    method public int getLocationMode();
12619    method public int getSoundTriggerMode();
12620    method public void writeToParcel(android.os.Parcel, int);
12621    field @NonNull public static final android.os.Parcelable.Creator<android.os.BatterySaverPolicyConfig> CREATOR;
12622  }
12623
12624  public static final class BatterySaverPolicyConfig.Builder {
12625    ctor public BatterySaverPolicyConfig.Builder();
12626    ctor public BatterySaverPolicyConfig.Builder(@NonNull android.os.BatterySaverPolicyConfig);
12627    method @NonNull public android.os.BatterySaverPolicyConfig.Builder addDeviceSpecificSetting(@NonNull String, @NonNull String);
12628    method @NonNull public android.os.BatterySaverPolicyConfig build();
12629    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setAdjustBrightnessFactor(float);
12630    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setAdvertiseIsEnabled(boolean);
12631    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDeferFullBackup(boolean);
12632    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDeferKeyValueBackup(boolean);
12633    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableAnimation(boolean);
12634    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableAod(boolean);
12635    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableLaunchBoost(boolean);
12636    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableOptionalSensors(boolean);
12637    method @Deprecated @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableSoundTrigger(boolean);
12638    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableVibration(boolean);
12639    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableAdjustBrightness(boolean);
12640    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableDataSaver(boolean);
12641    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableFirewall(boolean);
12642    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableNightMode(boolean);
12643    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableQuickDoze(boolean);
12644    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setForceAllAppsStandby(boolean);
12645    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setForceBackgroundCheck(boolean);
12646    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setLocationMode(int);
12647    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setSoundTriggerMode(int);
12648  }
12649
12650  public final class BatteryStatsManager {
12651    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.BATTERY_STATS, android.Manifest.permission.UPDATE_DEVICE_STATS}) public android.os.connectivity.CellularBatteryStats getCellularBatteryStats();
12652    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.BATTERY_STATS, android.Manifest.permission.UPDATE_DEVICE_STATS}) public android.os.connectivity.WifiBatteryStats getWifiBatteryStats();
12653    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanReset();
12654    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanResults(@NonNull android.os.WorkSource, int);
12655    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanStarted(@NonNull android.os.WorkSource, boolean);
12656    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanStopped(@NonNull android.os.WorkSource, boolean);
12657    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void reportBluetoothOff(int, int, @NonNull String);
12658    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void reportBluetoothOn(int, int, @NonNull String);
12659    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockAcquiredFromSource(@NonNull android.os.WorkSource);
12660    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockReleasedFromSource(@NonNull android.os.WorkSource);
12661    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportMobileRadioPowerState(boolean, int);
12662    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStartedFromSource(@NonNull android.os.WorkSource, @IntRange(from=0) int);
12663    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStoppedFromSource(@NonNull android.os.WorkSource);
12664    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiMulticastDisabled(@NonNull android.os.WorkSource);
12665    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiMulticastEnabled(@NonNull android.os.WorkSource);
12666    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiOff();
12667    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiOn();
12668    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiRadioPowerState(boolean, int);
12669    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiRssiChanged(@IntRange(from=0xffffff81, to=0) int);
12670    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStartedFromSource(@NonNull android.os.WorkSource);
12671    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStoppedFromSource(@NonNull android.os.WorkSource);
12672    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiState(int, @Nullable String);
12673    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiSupplicantStateChanged(int, boolean);
12674    field public static final int WIFI_STATE_OFF = 0; // 0x0
12675    field public static final int WIFI_STATE_OFF_SCANNING = 1; // 0x1
12676    field public static final int WIFI_STATE_ON_CONNECTED_P2P = 5; // 0x5
12677    field public static final int WIFI_STATE_ON_CONNECTED_STA = 4; // 0x4
12678    field public static final int WIFI_STATE_ON_CONNECTED_STA_P2P = 6; // 0x6
12679    field public static final int WIFI_STATE_ON_DISCONNECTED = 3; // 0x3
12680    field public static final int WIFI_STATE_ON_NO_NETWORKS = 2; // 0x2
12681    field public static final int WIFI_STATE_SOFT_AP = 7; // 0x7
12682    field public static final int WIFI_SUPPL_STATE_ASSOCIATED = 7; // 0x7
12683    field public static final int WIFI_SUPPL_STATE_ASSOCIATING = 6; // 0x6
12684    field public static final int WIFI_SUPPL_STATE_AUTHENTICATING = 5; // 0x5
12685    field public static final int WIFI_SUPPL_STATE_COMPLETED = 10; // 0xa
12686    field public static final int WIFI_SUPPL_STATE_DISCONNECTED = 1; // 0x1
12687    field public static final int WIFI_SUPPL_STATE_DORMANT = 11; // 0xb
12688    field public static final int WIFI_SUPPL_STATE_FOUR_WAY_HANDSHAKE = 8; // 0x8
12689    field public static final int WIFI_SUPPL_STATE_GROUP_HANDSHAKE = 9; // 0x9
12690    field public static final int WIFI_SUPPL_STATE_INACTIVE = 3; // 0x3
12691    field public static final int WIFI_SUPPL_STATE_INTERFACE_DISABLED = 2; // 0x2
12692    field public static final int WIFI_SUPPL_STATE_INVALID = 0; // 0x0
12693    field public static final int WIFI_SUPPL_STATE_SCANNING = 4; // 0x4
12694    field public static final int WIFI_SUPPL_STATE_UNINITIALIZED = 12; // 0xc
12695  }
12696
12697  public class Binder implements android.os.IBinder {
12698    method public int handleShellCommand(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.ParcelFileDescriptor, @NonNull android.os.ParcelFileDescriptor, @NonNull String[]);
12699    method public static void setProxyTransactListener(@Nullable android.os.Binder.ProxyTransactListener);
12700  }
12701
12702  public static interface Binder.ProxyTransactListener {
12703    method public void onTransactEnded(@Nullable Object);
12704    method @Nullable public Object onTransactStarted(@NonNull android.os.IBinder, int);
12705  }
12706
12707  public final class BugreportManager {
12708    method @RequiresPermission(android.Manifest.permission.DUMP) public void requestBugreport(@NonNull android.os.BugreportParams, @Nullable CharSequence, @Nullable CharSequence);
12709    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);
12710  }
12711
12712  public final class BugreportParams {
12713    ctor public BugreportParams(int);
12714    method public int getMode();
12715    field public static final int BUGREPORT_MODE_FULL = 0; // 0x0
12716    field public static final int BUGREPORT_MODE_INTERACTIVE = 1; // 0x1
12717    field public static final int BUGREPORT_MODE_REMOTE = 2; // 0x2
12718    field public static final int BUGREPORT_MODE_TELEPHONY = 4; // 0x4
12719    field public static final int BUGREPORT_MODE_WEAR = 3; // 0x3
12720    field public static final int BUGREPORT_MODE_WIFI = 5; // 0x5
12721  }
12722
12723  public static class Build.VERSION {
12724    field @NonNull public static final java.util.Set<java.lang.String> KNOWN_CODENAMES;
12725    field @NonNull public static final String PREVIEW_SDK_FINGERPRINT;
12726  }
12727
12728  public final class ConfigUpdate {
12729    field public static final String ACTION_UPDATE_CARRIER_ID_DB = "android.os.action.UPDATE_CARRIER_ID_DB";
12730    field public static final String ACTION_UPDATE_CARRIER_PROVISIONING_URLS = "android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS";
12731    field public static final String ACTION_UPDATE_CONVERSATION_ACTIONS = "android.intent.action.UPDATE_CONVERSATION_ACTIONS";
12732    field public static final String ACTION_UPDATE_CT_LOGS = "android.intent.action.UPDATE_CT_LOGS";
12733    field public static final String ACTION_UPDATE_EMERGENCY_NUMBER_DB = "android.os.action.UPDATE_EMERGENCY_NUMBER_DB";
12734    field public static final String ACTION_UPDATE_INTENT_FIREWALL = "android.intent.action.UPDATE_INTENT_FIREWALL";
12735    field public static final String ACTION_UPDATE_LANG_ID = "android.intent.action.UPDATE_LANG_ID";
12736    field public static final String ACTION_UPDATE_NETWORK_WATCHLIST = "android.intent.action.UPDATE_NETWORK_WATCHLIST";
12737    field public static final String ACTION_UPDATE_PINS = "android.intent.action.UPDATE_PINS";
12738    field public static final String ACTION_UPDATE_SMART_SELECTION = "android.intent.action.UPDATE_SMART_SELECTION";
12739    field public static final String ACTION_UPDATE_SMS_SHORT_CODES = "android.intent.action.UPDATE_SMS_SHORT_CODES";
12740    field public static final String EXTRA_REQUIRED_HASH = "android.os.extra.REQUIRED_HASH";
12741    field public static final String EXTRA_VERSION = "android.os.extra.VERSION";
12742  }
12743
12744  public class DeviceIdleManager {
12745    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void endIdle(@NonNull String);
12746  }
12747
12748  public class Environment {
12749    method @NonNull public static java.util.Collection<java.io.File> getInternalMediaDirectories();
12750    method @NonNull public static java.io.File getOdmDirectory();
12751    method @NonNull public static java.io.File getOemDirectory();
12752    method @NonNull public static java.io.File getProductDirectory();
12753    method @Deprecated @NonNull public static java.io.File getProductServicesDirectory();
12754    method @NonNull public static java.io.File getSystemExtDirectory();
12755    method @NonNull public static java.io.File getVendorDirectory();
12756  }
12757
12758  public class HidlMemory implements java.io.Closeable {
12759    ctor public HidlMemory(@NonNull String, @IntRange(from=0) long, @Nullable android.os.NativeHandle);
12760    method public void close() throws java.io.IOException;
12761    method @NonNull public android.os.HidlMemory dup() throws java.io.IOException;
12762    method protected void finalize();
12763    method @Nullable public android.os.NativeHandle getHandle();
12764    method @NonNull public String getName();
12765    method public long getSize();
12766    method @Nullable public android.os.NativeHandle releaseHandle();
12767  }
12768
12769  public class HidlSupport {
12770    method public static boolean deepEquals(Object, Object);
12771    method public static int deepHashCode(Object);
12772    method public static int getPidIfSharable();
12773    method public static boolean interfacesEqual(android.os.IHwInterface, Object);
12774  }
12775
12776  public abstract class HwBinder implements android.os.IHwBinder {
12777    ctor public HwBinder();
12778    method public static final void configureRpcThreadpool(long, boolean);
12779    method public static void enableInstrumentation();
12780    method public static final android.os.IHwBinder getService(String, String) throws java.util.NoSuchElementException, android.os.RemoteException;
12781    method public static final android.os.IHwBinder getService(String, String, boolean) throws java.util.NoSuchElementException, android.os.RemoteException;
12782    method public static final void joinRpcThreadpool();
12783    method public abstract void onTransact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
12784    method public final void registerService(String) throws android.os.RemoteException;
12785    method public final void transact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
12786  }
12787
12788  public class HwBlob {
12789    ctor public HwBlob(int);
12790    method public final void copyToBoolArray(long, boolean[], int);
12791    method public final void copyToDoubleArray(long, double[], int);
12792    method public final void copyToFloatArray(long, float[], int);
12793    method public final void copyToInt16Array(long, short[], int);
12794    method public final void copyToInt32Array(long, int[], int);
12795    method public final void copyToInt64Array(long, long[], int);
12796    method public final void copyToInt8Array(long, byte[], int);
12797    method public final boolean getBool(long);
12798    method public final double getDouble(long);
12799    method public final long getFieldHandle(long);
12800    method public final float getFloat(long);
12801    method public final short getInt16(long);
12802    method public final int getInt32(long);
12803    method public final long getInt64(long);
12804    method public final byte getInt8(long);
12805    method public final String getString(long);
12806    method public final long handle();
12807    method public final void putBlob(long, android.os.HwBlob);
12808    method public final void putBool(long, boolean);
12809    method public final void putBoolArray(long, boolean[]);
12810    method public final void putDouble(long, double);
12811    method public final void putDoubleArray(long, double[]);
12812    method public final void putFloat(long, float);
12813    method public final void putFloatArray(long, float[]);
12814    method public final void putHidlMemory(long, @NonNull android.os.HidlMemory);
12815    method public final void putInt16(long, short);
12816    method public final void putInt16Array(long, short[]);
12817    method public final void putInt32(long, int);
12818    method public final void putInt32Array(long, int[]);
12819    method public final void putInt64(long, long);
12820    method public final void putInt64Array(long, long[]);
12821    method public final void putInt8(long, byte);
12822    method public final void putInt8Array(long, byte[]);
12823    method public final void putNativeHandle(long, @Nullable android.os.NativeHandle);
12824    method public final void putString(long, String);
12825    method public static Boolean[] wrapArray(@NonNull boolean[]);
12826    method public static Long[] wrapArray(@NonNull long[]);
12827    method public static Byte[] wrapArray(@NonNull byte[]);
12828    method public static Short[] wrapArray(@NonNull short[]);
12829    method public static Integer[] wrapArray(@NonNull int[]);
12830    method public static Float[] wrapArray(@NonNull float[]);
12831    method public static Double[] wrapArray(@NonNull double[]);
12832  }
12833
12834  public class HwParcel {
12835    ctor public HwParcel();
12836    method public final void enforceInterface(String);
12837    method public final boolean readBool();
12838    method public final java.util.ArrayList<java.lang.Boolean> readBoolVector();
12839    method public final android.os.HwBlob readBuffer(long);
12840    method public final double readDouble();
12841    method public final java.util.ArrayList<java.lang.Double> readDoubleVector();
12842    method public final android.os.HwBlob readEmbeddedBuffer(long, long, long, boolean);
12843    method @NonNull @Nullable public final android.os.HidlMemory readEmbeddedHidlMemory(long, long, long);
12844    method @Nullable public final android.os.NativeHandle readEmbeddedNativeHandle(long, long);
12845    method public final float readFloat();
12846    method public final java.util.ArrayList<java.lang.Float> readFloatVector();
12847    method @NonNull public final android.os.HidlMemory readHidlMemory();
12848    method public final short readInt16();
12849    method public final java.util.ArrayList<java.lang.Short> readInt16Vector();
12850    method public final int readInt32();
12851    method public final java.util.ArrayList<java.lang.Integer> readInt32Vector();
12852    method public final long readInt64();
12853    method public final java.util.ArrayList<java.lang.Long> readInt64Vector();
12854    method public final byte readInt8();
12855    method public final java.util.ArrayList<java.lang.Byte> readInt8Vector();
12856    method @Nullable public final android.os.NativeHandle readNativeHandle();
12857    method @NonNull public final java.util.ArrayList<android.os.NativeHandle> readNativeHandleVector();
12858    method public final String readString();
12859    method public final java.util.ArrayList<java.lang.String> readStringVector();
12860    method public final android.os.IHwBinder readStrongBinder();
12861    method public final void release();
12862    method public final void releaseTemporaryStorage();
12863    method public final void send();
12864    method public final void verifySuccess();
12865    method public final void writeBool(boolean);
12866    method public final void writeBoolVector(java.util.ArrayList<java.lang.Boolean>);
12867    method public final void writeBuffer(android.os.HwBlob);
12868    method public final void writeDouble(double);
12869    method public final void writeDoubleVector(java.util.ArrayList<java.lang.Double>);
12870    method public final void writeFloat(float);
12871    method public final void writeFloatVector(java.util.ArrayList<java.lang.Float>);
12872    method public final void writeHidlMemory(@NonNull android.os.HidlMemory);
12873    method public final void writeInt16(short);
12874    method public final void writeInt16Vector(java.util.ArrayList<java.lang.Short>);
12875    method public final void writeInt32(int);
12876    method public final void writeInt32Vector(java.util.ArrayList<java.lang.Integer>);
12877    method public final void writeInt64(long);
12878    method public final void writeInt64Vector(java.util.ArrayList<java.lang.Long>);
12879    method public final void writeInt8(byte);
12880    method public final void writeInt8Vector(java.util.ArrayList<java.lang.Byte>);
12881    method public final void writeInterfaceToken(String);
12882    method public final void writeNativeHandle(@Nullable android.os.NativeHandle);
12883    method public final void writeNativeHandleVector(@NonNull java.util.ArrayList<android.os.NativeHandle>);
12884    method public final void writeStatus(int);
12885    method public final void writeString(String);
12886    method public final void writeStringVector(java.util.ArrayList<java.lang.String>);
12887    method public final void writeStrongBinder(android.os.IHwBinder);
12888    field public static final int STATUS_SUCCESS = 0; // 0x0
12889  }
12890
12891  public interface IHwBinder {
12892    method public boolean linkToDeath(android.os.IHwBinder.DeathRecipient, long);
12893    method public android.os.IHwInterface queryLocalInterface(String);
12894    method public void transact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
12895    method public boolean unlinkToDeath(android.os.IHwBinder.DeathRecipient);
12896  }
12897
12898  public static interface IHwBinder.DeathRecipient {
12899    method public void serviceDied(long);
12900  }
12901
12902  public interface IHwInterface {
12903    method public android.os.IHwBinder asBinder();
12904  }
12905
12906  public class IncidentManager {
12907    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public void approveReport(android.net.Uri);
12908    method @RequiresPermission("android.permission.REQUEST_INCIDENT_REPORT_APPROVAL") public void cancelAuthorization(android.os.IncidentManager.AuthListener);
12909    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void deleteIncidentReports(android.net.Uri);
12910    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public void denyReport(android.net.Uri);
12911    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public android.os.IncidentManager.IncidentReport getIncidentReport(android.net.Uri);
12912    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public java.util.List<android.net.Uri> getIncidentReportList(String);
12913    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public java.util.List<android.os.IncidentManager.PendingReport> getPendingReports();
12914    method public void registerSection(int, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.os.IncidentManager.DumpCallback);
12915    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void reportIncident(android.os.IncidentReportArgs);
12916    method @RequiresPermission("android.permission.REQUEST_INCIDENT_REPORT_APPROVAL") public void requestAuthorization(int, String, int, android.os.IncidentManager.AuthListener);
12917    method public void unregisterSection(int);
12918    field public static final int FLAG_CONFIRMATION_DIALOG = 1; // 0x1
12919    field public static final int PRIVACY_POLICY_AUTO = 200; // 0xc8
12920    field public static final int PRIVACY_POLICY_EXPLICIT = 100; // 0x64
12921    field public static final int PRIVACY_POLICY_LOCAL = 0; // 0x0
12922  }
12923
12924  public static class IncidentManager.AuthListener {
12925    ctor public IncidentManager.AuthListener();
12926    method public void onReportApproved();
12927    method public void onReportDenied();
12928  }
12929
12930  public static class IncidentManager.DumpCallback {
12931    ctor public IncidentManager.DumpCallback();
12932    method public void onDumpSection(int, @NonNull java.io.OutputStream);
12933  }
12934
12935  public static class IncidentManager.IncidentReport implements java.io.Closeable android.os.Parcelable {
12936    ctor public IncidentManager.IncidentReport(android.os.Parcel);
12937    method public void close();
12938    method public int describeContents();
12939    method public java.io.InputStream getInputStream() throws java.io.IOException;
12940    method public long getPrivacyPolicy();
12941    method public long getTimestamp();
12942    method public void writeToParcel(android.os.Parcel, int);
12943    field @NonNull public static final android.os.Parcelable.Creator<android.os.IncidentManager.IncidentReport> CREATOR;
12944  }
12945
12946  public static class IncidentManager.PendingReport {
12947    ctor public IncidentManager.PendingReport(@NonNull android.net.Uri);
12948    method public int getFlags();
12949    method @NonNull public String getRequestingPackage();
12950    method public long getTimestamp();
12951    method @NonNull public android.net.Uri getUri();
12952  }
12953
12954  public final class IncidentReportArgs implements android.os.Parcelable {
12955    ctor public IncidentReportArgs();
12956    ctor public IncidentReportArgs(android.os.Parcel);
12957    method public void addHeader(byte[]);
12958    method public void addSection(int);
12959    method public boolean containsSection(int);
12960    method public int describeContents();
12961    method public boolean isAll();
12962    method public void readFromParcel(android.os.Parcel);
12963    method public int sectionCount();
12964    method public void setAll(boolean);
12965    method public void setPrivacyPolicy(int);
12966    method public void writeToParcel(android.os.Parcel, int);
12967    field @NonNull public static final android.os.Parcelable.Creator<android.os.IncidentReportArgs> CREATOR;
12968  }
12969
12970  public final class NativeHandle implements java.io.Closeable {
12971    ctor public NativeHandle();
12972    ctor public NativeHandle(@NonNull java.io.FileDescriptor, boolean);
12973    ctor public NativeHandle(@NonNull java.io.FileDescriptor[], @NonNull int[], boolean);
12974    method public void close() throws java.io.IOException;
12975    method @NonNull public android.os.NativeHandle dup() throws java.io.IOException;
12976    method @NonNull public java.io.FileDescriptor getFileDescriptor();
12977    method @NonNull public java.io.FileDescriptor[] getFileDescriptors();
12978    method @NonNull public int[] getInts();
12979    method public boolean hasSingleFileDescriptor();
12980  }
12981
12982  public final class NewUserRequest {
12983    method @Nullable public String getAccountName();
12984    method @Nullable public android.os.PersistableBundle getAccountOptions();
12985    method @Nullable public String getAccountType();
12986    method @Nullable public String getName();
12987    method @Nullable public android.graphics.Bitmap getUserIcon();
12988    method @NonNull public String getUserType();
12989    method public boolean isAdmin();
12990    method public boolean isEphemeral();
12991  }
12992
12993  public static final class NewUserRequest.Builder {
12994    ctor public NewUserRequest.Builder();
12995    method @NonNull public android.os.NewUserRequest build();
12996    method @NonNull public android.os.NewUserRequest.Builder setAccountName(@Nullable String);
12997    method @NonNull public android.os.NewUserRequest.Builder setAccountOptions(@Nullable android.os.PersistableBundle);
12998    method @NonNull public android.os.NewUserRequest.Builder setAccountType(@Nullable String);
12999    method @NonNull public android.os.NewUserRequest.Builder setAdmin();
13000    method @NonNull public android.os.NewUserRequest.Builder setEphemeral();
13001    method @NonNull public android.os.NewUserRequest.Builder setName(@Nullable String);
13002    method @NonNull public android.os.NewUserRequest.Builder setUserIcon(@Nullable android.graphics.Bitmap);
13003    method @NonNull public android.os.NewUserRequest.Builder setUserType(@NonNull String);
13004  }
13005
13006  public final class NewUserResponse {
13007    method public int getOperationResult();
13008    method @Nullable public android.os.UserHandle getUser();
13009    method public boolean isSuccessful();
13010  }
13011
13012  public interface Parcelable {
13013    field public static final int PARCELABLE_STABILITY_LOCAL = 0; // 0x0
13014    field public static final int PARCELABLE_STABILITY_VINTF = 1; // 0x1
13015  }
13016
13017  public final class ParcelableHolder implements android.os.Parcelable {
13018    ctor public ParcelableHolder(int);
13019    method public int describeContents();
13020    method @Nullable public <T extends android.os.Parcelable> T getParcelable(@NonNull Class<T>);
13021    method public int getStability();
13022    method public void readFromParcel(@NonNull android.os.Parcel);
13023    method public void setParcelable(@Nullable android.os.Parcelable);
13024    method public void writeToParcel(@NonNull android.os.Parcel, int);
13025    field @NonNull public static final android.os.Parcelable.Creator<android.os.ParcelableHolder> CREATOR;
13026  }
13027
13028  public class PowerExemptionManager {
13029    method @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void addToTemporaryAllowList(@NonNull String, int, @Nullable String, long);
13030    method @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long addToTemporaryAllowListForEvent(@NonNull String, int, @Nullable String, int);
13031    field public static final int EVENT_MMS = 2; // 0x2
13032    field public static final int EVENT_SMS = 1; // 0x1
13033    field public static final int EVENT_UNSPECIFIED = 0; // 0x0
13034    field public static final int REASON_ACCOUNT_TRANSFER = 104; // 0x68
13035    field public static final int REASON_ACTIVITY_RECOGNITION = 103; // 0x67
13036    field public static final int REASON_BLUETOOTH_BROADCAST = 203; // 0xcb
13037    field public static final int REASON_GEOFENCING = 100; // 0x64
13038    field public static final int REASON_LOCATION_PROVIDER = 312; // 0x138
13039    field public static final int REASON_OTHER = 1; // 0x1
13040    field public static final int REASON_PUSH_MESSAGING = 101; // 0x65
13041    field public static final int REASON_PUSH_MESSAGING_OVER_QUOTA = 102; // 0x66
13042    field public static final int REASON_REFRESH_SAFETY_SOURCES = 208; // 0xd0
13043    field public static final int REASON_UNKNOWN = 0; // 0x0
13044    field public static final int TEMPORARY_ALLOW_LIST_TYPE_FOREGROUND_SERVICE_ALLOWED = 0; // 0x0
13045    field public static final int TEMPORARY_ALLOW_LIST_TYPE_FOREGROUND_SERVICE_NOT_ALLOWED = 1; // 0x1
13046    field public static final int TEMPORARY_ALLOW_LIST_TYPE_NONE = -1; // 0xffffffff
13047  }
13048
13049  public final class PowerManager {
13050    method @RequiresPermission(allOf={android.Manifest.permission.READ_DREAM_STATE, android.Manifest.permission.WRITE_DREAM_STATE}) public void dream(long);
13051    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public boolean forceSuspend();
13052    method @NonNull public android.os.BatterySaverPolicyConfig getFullPowerSavePolicy();
13053    method public int getPowerSaveModeTrigger();
13054    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplayAvailable();
13055    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplaySuppressed();
13056    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplaySuppressedForToken(@NonNull String);
13057    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public boolean isLowPowerStandbySupported();
13058    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setAdaptivePowerSaveEnabled(boolean);
13059    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setAdaptivePowerSavePolicy(@NonNull android.os.BatterySaverPolicyConfig);
13060    method @RequiresPermission(anyOf={android.Manifest.permission.BATTERY_PREDICTION, android.Manifest.permission.DEVICE_POWER}) public void setBatteryDischargePrediction(@NonNull java.time.Duration, boolean);
13061    method @RequiresPermission(android.Manifest.permission.POWER_SAVER) public boolean setDynamicPowerSaveHint(boolean, int);
13062    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setFullPowerSavePolicy(@NonNull android.os.BatterySaverPolicyConfig);
13063    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public void setLowPowerStandbyActiveDuringMaintenance(boolean);
13064    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public void setLowPowerStandbyEnabled(boolean);
13065    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setPowerSaveModeEnabled(boolean);
13066    method @RequiresPermission(android.Manifest.permission.WRITE_DREAM_STATE) public void suppressAmbientDisplay(@NonNull String, boolean);
13067    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.USER_ACTIVITY}) public void userActivity(long, int, int);
13068    field public static final int POWER_SAVE_MODE_TRIGGER_DYNAMIC = 1; // 0x1
13069    field public static final int POWER_SAVE_MODE_TRIGGER_PERCENTAGE = 0; // 0x0
13070    field public static final String REBOOT_USERSPACE = "userspace";
13071    field public static final int SOUND_TRIGGER_MODE_ALL_DISABLED = 2; // 0x2
13072    field public static final int SOUND_TRIGGER_MODE_ALL_ENABLED = 0; // 0x0
13073    field public static final int SOUND_TRIGGER_MODE_CRITICAL_ONLY = 1; // 0x1
13074    field public static final int USER_ACTIVITY_EVENT_ACCESSIBILITY = 3; // 0x3
13075    field public static final int USER_ACTIVITY_EVENT_BUTTON = 1; // 0x1
13076    field public static final int USER_ACTIVITY_EVENT_OTHER = 0; // 0x0
13077    field public static final int USER_ACTIVITY_EVENT_TOUCH = 2; // 0x2
13078    field public static final int USER_ACTIVITY_FLAG_INDIRECT = 2; // 0x2
13079    field public static final int USER_ACTIVITY_FLAG_NO_CHANGE_LIGHTS = 1; // 0x1
13080  }
13081
13082  @Deprecated public class PowerWhitelistManager {
13083    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void addToWhitelist(@NonNull String);
13084    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void addToWhitelist(@NonNull java.util.List<java.lang.String>);
13085    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void removeFromWhitelist(@NonNull String);
13086    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(@NonNull String, long, int, @Nullable String);
13087    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(@NonNull String, long);
13088    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long whitelistAppTemporarilyForEvent(@NonNull String, int, @Nullable String);
13089    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long whitelistAppTemporarilyForEvent(@NonNull String, int, int, @Nullable String);
13090    field @Deprecated public static final int EVENT_MMS = 2; // 0x2
13091    field @Deprecated public static final int EVENT_SMS = 1; // 0x1
13092    field @Deprecated public static final int EVENT_UNSPECIFIED = 0; // 0x0
13093    field @Deprecated public static final int REASON_ACTIVITY_RECOGNITION = 103; // 0x67
13094    field @Deprecated public static final int REASON_GEOFENCING = 100; // 0x64
13095    field @Deprecated public static final int REASON_LOCATION_PROVIDER = 312; // 0x138
13096    field @Deprecated public static final int REASON_OTHER = 1; // 0x1
13097    field @Deprecated public static final int REASON_PUSH_MESSAGING = 101; // 0x65
13098    field @Deprecated public static final int REASON_PUSH_MESSAGING_OVER_QUOTA = 102; // 0x66
13099    field @Deprecated public static final int REASON_UNKNOWN = 0; // 0x0
13100    field @Deprecated public static final int TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_ALLOWED = 0; // 0x0
13101    field @Deprecated public static final int TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_NOT_ALLOWED = 1; // 0x1
13102  }
13103
13104  public class RecoverySystem {
13105    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void cancelScheduledUpdate(android.content.Context) throws java.io.IOException;
13106    method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static void clearPrepareForUnattendedUpdate(@NonNull android.content.Context) throws java.io.IOException;
13107    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void installPackage(android.content.Context, java.io.File, boolean) throws java.io.IOException;
13108    method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static boolean isPreparedForUnattendedUpdate(@NonNull android.content.Context) throws java.io.IOException;
13109    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;
13110    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;
13111    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void processPackage(android.content.Context, java.io.File, android.os.RecoverySystem.ProgressListener) throws java.io.IOException;
13112    method @Deprecated @RequiresPermission(android.Manifest.permission.RECOVERY) public static void rebootAndApply(@NonNull android.content.Context, @NonNull String, @NonNull String) throws java.io.IOException;
13113    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;
13114    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;
13115    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void scheduleUpdateOnBoot(android.content.Context, java.io.File) throws java.io.IOException;
13116    method public static boolean verifyPackageCompatibility(java.io.File) throws java.io.IOException;
13117    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_INVALID_PACKAGE_NAME = 2000; // 0x7d0
13118    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_LSKF_NOT_CAPTURED = 3000; // 0xbb8
13119    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_PROVIDER_PREPARATION_FAILURE = 5000; // 0x1388
13120    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_SLOT_MISMATCH = 4000; // 0xfa0
13121    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_UNSPECIFIED = 1000; // 0x3e8
13122  }
13123
13124  public final class RemoteCallback implements android.os.Parcelable {
13125    ctor public RemoteCallback(android.os.RemoteCallback.OnResultListener);
13126    ctor public RemoteCallback(@NonNull android.os.RemoteCallback.OnResultListener, @Nullable android.os.Handler);
13127    method public int describeContents();
13128    method public void sendResult(@Nullable android.os.Bundle);
13129    method public void writeToParcel(android.os.Parcel, int);
13130    field @NonNull public static final android.os.Parcelable.Creator<android.os.RemoteCallback> CREATOR;
13131  }
13132
13133  public static interface RemoteCallback.OnResultListener {
13134    method public void onResult(@Nullable android.os.Bundle);
13135  }
13136
13137  public class ServiceSpecificException extends java.lang.RuntimeException {
13138    ctor public ServiceSpecificException(int, @Nullable String);
13139    ctor public ServiceSpecificException(int);
13140    field public final int errorCode;
13141  }
13142
13143  public final class StatsDimensionsValue implements android.os.Parcelable {
13144    method public int describeContents();
13145    method public boolean getBooleanValue();
13146    method public int getField();
13147    method public float getFloatValue();
13148    method public int getIntValue();
13149    method public long getLongValue();
13150    method public String getStringValue();
13151    method public java.util.List<android.os.StatsDimensionsValue> getTupleValueList();
13152    method public int getValueType();
13153    method public boolean isValueType(int);
13154    method public void writeToParcel(android.os.Parcel, int);
13155    field public static final int BOOLEAN_VALUE_TYPE = 5; // 0x5
13156    field @NonNull public static final android.os.Parcelable.Creator<android.os.StatsDimensionsValue> CREATOR;
13157    field public static final int FLOAT_VALUE_TYPE = 6; // 0x6
13158    field public static final int INT_VALUE_TYPE = 3; // 0x3
13159    field public static final int LONG_VALUE_TYPE = 4; // 0x4
13160    field public static final int STRING_VALUE_TYPE = 2; // 0x2
13161    field public static final int TUPLE_VALUE_TYPE = 7; // 0x7
13162  }
13163
13164  public class SystemConfigManager {
13165    method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Set<java.lang.String> getDisabledUntilUsedPreinstalledCarrierApps();
13166    method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getDisabledUntilUsedPreinstalledCarrierAssociatedApps();
13167    method @NonNull @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSIONS) public int[] getSystemPermissionUids(@NonNull String);
13168  }
13169
13170  public class SystemProperties {
13171    method @NonNull public static String get(@NonNull String);
13172    method @NonNull public static String get(@NonNull String, @Nullable String);
13173    method public static boolean getBoolean(@NonNull String, boolean);
13174    method public static int getInt(@NonNull String, int);
13175    method public static long getLong(@NonNull String, long);
13176  }
13177
13178  public class SystemUpdateManager {
13179    method @RequiresPermission(anyOf={android.Manifest.permission.READ_SYSTEM_UPDATE_INFO, android.Manifest.permission.RECOVERY}) public android.os.Bundle retrieveSystemUpdateInfo();
13180    method @RequiresPermission(android.Manifest.permission.RECOVERY) public void updateSystemUpdateInfo(android.os.PersistableBundle);
13181    field public static final String KEY_IS_SECURITY_UPDATE = "is_security_update";
13182    field public static final String KEY_STATUS = "status";
13183    field public static final String KEY_TARGET_BUILD_FINGERPRINT = "target_build_fingerprint";
13184    field public static final String KEY_TARGET_SECURITY_PATCH_LEVEL = "target_security_patch_level";
13185    field public static final String KEY_TITLE = "title";
13186    field public static final int STATUS_IDLE = 1; // 0x1
13187    field public static final int STATUS_IN_PROGRESS = 3; // 0x3
13188    field public static final int STATUS_UNKNOWN = 0; // 0x0
13189    field public static final int STATUS_WAITING_DOWNLOAD = 2; // 0x2
13190    field public static final int STATUS_WAITING_INSTALL = 4; // 0x4
13191    field public static final int STATUS_WAITING_REBOOT = 5; // 0x5
13192  }
13193
13194  public class UpdateEngine {
13195    ctor public UpdateEngine();
13196    method @NonNull @WorkerThread public android.os.UpdateEngine.AllocateSpaceResult allocateSpace(@NonNull String, @NonNull String[]);
13197    method public void applyPayload(String, long, long, String[]);
13198    method public void applyPayload(@NonNull android.content.res.AssetFileDescriptor, @NonNull String[]);
13199    method public boolean bind(android.os.UpdateEngineCallback, android.os.Handler);
13200    method public boolean bind(android.os.UpdateEngineCallback);
13201    method public void cancel();
13202    method @WorkerThread public int cleanupAppliedPayload();
13203    method public void resetShouldSwitchSlotOnReboot();
13204    method public void resetStatus();
13205    method public void resume();
13206    method public void setShouldSwitchSlotOnReboot(@NonNull String);
13207    method public void suspend();
13208    method public boolean unbind();
13209    method public boolean verifyPayloadMetadata(String);
13210  }
13211
13212  public static final class UpdateEngine.AllocateSpaceResult {
13213    method public int getErrorCode();
13214    method public long getFreeSpaceRequired();
13215  }
13216
13217  public static final class UpdateEngine.ErrorCodeConstants {
13218    ctor public UpdateEngine.ErrorCodeConstants();
13219    field public static final int DEVICE_CORRUPTED = 61; // 0x3d
13220    field public static final int DOWNLOAD_PAYLOAD_VERIFICATION_ERROR = 12; // 0xc
13221    field public static final int DOWNLOAD_TRANSFER_ERROR = 9; // 0x9
13222    field public static final int ERROR = 1; // 0x1
13223    field public static final int FILESYSTEM_COPIER_ERROR = 4; // 0x4
13224    field public static final int INSTALL_DEVICE_OPEN_ERROR = 7; // 0x7
13225    field public static final int KERNEL_DEVICE_OPEN_ERROR = 8; // 0x8
13226    field public static final int NOT_ENOUGH_SPACE = 60; // 0x3c
13227    field public static final int PAYLOAD_HASH_MISMATCH_ERROR = 10; // 0xa
13228    field public static final int PAYLOAD_MISMATCHED_TYPE_ERROR = 6; // 0x6
13229    field public static final int PAYLOAD_SIZE_MISMATCH_ERROR = 11; // 0xb
13230    field public static final int PAYLOAD_TIMESTAMP_ERROR = 51; // 0x33
13231    field public static final int POST_INSTALL_RUNNER_ERROR = 5; // 0x5
13232    field public static final int SUCCESS = 0; // 0x0
13233    field public static final int UPDATED_BUT_NOT_ACTIVE = 52; // 0x34
13234  }
13235
13236  public static final class UpdateEngine.UpdateStatusConstants {
13237    ctor public UpdateEngine.UpdateStatusConstants();
13238    field public static final int ATTEMPTING_ROLLBACK = 8; // 0x8
13239    field public static final int CHECKING_FOR_UPDATE = 1; // 0x1
13240    field public static final int DISABLED = 9; // 0x9
13241    field public static final int DOWNLOADING = 3; // 0x3
13242    field public static final int FINALIZING = 5; // 0x5
13243    field public static final int IDLE = 0; // 0x0
13244    field public static final int REPORTING_ERROR_EVENT = 7; // 0x7
13245    field public static final int UPDATED_NEED_REBOOT = 6; // 0x6
13246    field public static final int UPDATE_AVAILABLE = 2; // 0x2
13247    field public static final int VERIFYING = 4; // 0x4
13248  }
13249
13250  public abstract class UpdateEngineCallback {
13251    ctor public UpdateEngineCallback();
13252    method public abstract void onPayloadApplicationComplete(int);
13253    method public abstract void onStatusUpdate(int, float);
13254  }
13255
13256  public final class UserHandle implements android.os.Parcelable {
13257    method @NonNull public static String formatUid(int);
13258    method public static int getAppId(int);
13259    method public int getIdentifier();
13260    method public int getUid(int);
13261    method @Deprecated public boolean isOwner();
13262    method public boolean isSystem();
13263    method public static int myUserId();
13264    method public static android.os.UserHandle of(int);
13265    field @NonNull public static final android.os.UserHandle ALL;
13266    field @NonNull public static final android.os.UserHandle CURRENT;
13267    field @NonNull public static final android.os.UserHandle SYSTEM;
13268  }
13269
13270  public class UserManager {
13271    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean canHaveRestrictedProfile();
13272    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void clearSeedAccountData();
13273    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;
13274    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.os.NewUserResponse createUser(@NonNull android.os.NewUserRequest);
13275    method @NonNull public java.util.List<android.os.UserHandle> getAllProfiles();
13276    method @NonNull public java.util.List<android.os.UserHandle> getEnabledProfiles();
13277    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public android.os.UserHandle getProfileParent(@NonNull android.os.UserHandle);
13278    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public int getRemainingCreatableProfileCount(@NonNull String);
13279    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public int getRemainingCreatableUserCount(@NonNull String);
13280    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public android.os.UserHandle getRestrictedProfileParent();
13281    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountName();
13282    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.PersistableBundle getSeedAccountOptions();
13283    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountType();
13284    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public long[] getSerialNumbersOfUsers(boolean);
13285    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public java.util.List<android.os.UserHandle> getUserHandles(boolean);
13286    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}) public android.graphics.Bitmap getUserIcon();
13287    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);
13288    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);
13289    method @RequiresPermission(allOf={android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public int getUserSwitchability();
13290    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean hasRestrictedProfiles();
13291    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);
13292    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isAdminUser();
13293    method public boolean isCloneProfile();
13294    method public boolean isCredentialSharableWithParent();
13295    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isGuestUser();
13296    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);
13297    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isMediaSharedWithParent();
13298    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isPrimaryUser();
13299    method public static boolean isRemoveResultSuccessful(int);
13300    method public boolean isRestrictedProfile();
13301    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}, conditional=true) public boolean isRestrictedProfile(@NonNull android.os.UserHandle);
13302    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isSameProfileGroup(@NonNull android.os.UserHandle, @NonNull android.os.UserHandle);
13303    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();
13304    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isUserOfType(@NonNull String);
13305    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isUserUnlockingOrUnlocked(@NonNull android.os.UserHandle);
13306    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean removeUser(@NonNull android.os.UserHandle);
13307    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public int removeUserWhenPossible(@NonNull android.os.UserHandle, boolean);
13308    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserIcon(@NonNull android.graphics.Bitmap) throws android.os.UserManager.UserOperationException;
13309    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserName(@Nullable String);
13310    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean someUserHasAccount(@NonNull String, @NonNull String);
13311    field @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public static final String ACTION_CREATE_SUPERVISED_USER = "android.os.action.CREATE_SUPERVISED_USER";
13312    field public static final String ACTION_USER_RESTRICTIONS_CHANGED = "android.os.action.USER_RESTRICTIONS_CHANGED";
13313    field @Deprecated public static final String DISALLOW_OEM_UNLOCK = "no_oem_unlock";
13314    field public static final String DISALLOW_RUN_IN_BACKGROUND = "no_run_in_background";
13315    field public static final int REMOVE_RESULT_ALREADY_BEING_REMOVED = 2; // 0x2
13316    field public static final int REMOVE_RESULT_DEFERRED = 1; // 0x1
13317    field public static final int REMOVE_RESULT_ERROR_SYSTEM_USER = -4; // 0xfffffffc
13318    field public static final int REMOVE_RESULT_ERROR_UNKNOWN = -1; // 0xffffffff
13319    field public static final int REMOVE_RESULT_ERROR_USER_NOT_FOUND = -3; // 0xfffffffd
13320    field public static final int REMOVE_RESULT_ERROR_USER_RESTRICTION = -2; // 0xfffffffe
13321    field public static final int REMOVE_RESULT_REMOVED = 0; // 0x0
13322    field public static final int RESTRICTION_NOT_SET = 0; // 0x0
13323    field public static final int RESTRICTION_SOURCE_DEVICE_OWNER = 2; // 0x2
13324    field public static final int RESTRICTION_SOURCE_PROFILE_OWNER = 4; // 0x4
13325    field public static final int RESTRICTION_SOURCE_SYSTEM = 1; // 0x1
13326    field public static final int SWITCHABILITY_STATUS_OK = 0; // 0x0
13327    field public static final int SWITCHABILITY_STATUS_SYSTEM_USER_LOCKED = 4; // 0x4
13328    field public static final int SWITCHABILITY_STATUS_USER_IN_CALL = 1; // 0x1
13329    field public static final int SWITCHABILITY_STATUS_USER_SWITCH_DISALLOWED = 2; // 0x2
13330    field public static final int USER_OPERATION_ERROR_USER_ACCOUNT_ALREADY_EXISTS = 7; // 0x7
13331    field public static final String USER_TYPE_FULL_GUEST = "android.os.usertype.full.GUEST";
13332    field public static final String USER_TYPE_FULL_SECONDARY = "android.os.usertype.full.SECONDARY";
13333    field public static final String USER_TYPE_FULL_SYSTEM = "android.os.usertype.full.SYSTEM";
13334    field public static final String USER_TYPE_PROFILE_CLONE = "android.os.usertype.profile.CLONE";
13335    field public static final String USER_TYPE_PROFILE_MANAGED = "android.os.usertype.profile.MANAGED";
13336    field public static final String USER_TYPE_SYSTEM_HEADLESS = "android.os.usertype.system.HEADLESS";
13337  }
13338
13339  public static final class UserManager.EnforcingUser implements android.os.Parcelable {
13340    method public int describeContents();
13341    method public android.os.UserHandle getUserHandle();
13342    method @android.os.UserManager.UserRestrictionSource public int getUserRestrictionSource();
13343    method public void writeToParcel(android.os.Parcel, int);
13344    field @NonNull public static final android.os.Parcelable.Creator<android.os.UserManager.EnforcingUser> CREATOR;
13345  }
13346
13347  @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 {
13348  }
13349
13350  public abstract class Vibrator {
13351    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void addVibratorStateListener(@NonNull android.os.Vibrator.OnVibratorStateChangedListener);
13352    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void addVibratorStateListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.Vibrator.OnVibratorStateChangedListener);
13353    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public boolean isVibrating();
13354    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void removeVibratorStateListener(@NonNull android.os.Vibrator.OnVibratorStateChangedListener);
13355  }
13356
13357  public static interface Vibrator.OnVibratorStateChangedListener {
13358    method public void onVibratorStateChanged(boolean);
13359  }
13360
13361  public class WorkSource implements android.os.Parcelable {
13362    ctor public WorkSource(int);
13363    ctor public WorkSource(int, @NonNull String);
13364    method public android.os.WorkSource.WorkChain createWorkChain();
13365    method @Nullable public String getPackageName(int);
13366    method public int getUid(int);
13367    method @Nullable public java.util.List<android.os.WorkSource.WorkChain> getWorkChains();
13368    method public boolean isEmpty();
13369    method public int size();
13370    method @NonNull public android.os.WorkSource withoutNames();
13371  }
13372
13373  public static final class WorkSource.WorkChain implements android.os.Parcelable {
13374    ctor public WorkSource.WorkChain();
13375    method public android.os.WorkSource.WorkChain addNode(int, @Nullable String);
13376    method public int describeContents();
13377    method public String getAttributionTag();
13378    method public int getAttributionUid();
13379    method public void writeToParcel(android.os.Parcel, int);
13380    field @NonNull public static final android.os.Parcelable.Creator<android.os.WorkSource.WorkChain> CREATOR;
13381  }
13382
13383}
13384
13385package android.os.connectivity {
13386
13387  public final class CellularBatteryStats implements android.os.Parcelable {
13388    method public int describeContents();
13389    method public long getEnergyConsumedMaMillis();
13390    method public long getIdleTimeMillis();
13391    method public long getKernelActiveTimeMillis();
13392    method public long getLoggingDurationMillis();
13393    method public long getMonitoredRailChargeConsumedMaMillis();
13394    method public long getNumBytesRx();
13395    method public long getNumBytesTx();
13396    method public long getNumPacketsRx();
13397    method public long getNumPacketsTx();
13398    method public long getRxTimeMillis();
13399    method public long getSleepTimeMillis();
13400    method @NonNull public long getTimeInRatMicros(int);
13401    method @NonNull public long getTimeInRxSignalStrengthLevelMicros(@IntRange(from=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN, to=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_GREAT) int);
13402    method public void writeToParcel(@NonNull android.os.Parcel, int);
13403    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.CellularBatteryStats> CREATOR;
13404  }
13405
13406  public final class WifiActivityEnergyInfo implements android.os.Parcelable {
13407    ctor public WifiActivityEnergyInfo(long, int, @IntRange(from=0) long, @IntRange(from=0) long, @IntRange(from=0) long, @IntRange(from=0) long);
13408    method public int describeContents();
13409    method @IntRange(from=0) public long getControllerEnergyUsedMicroJoules();
13410    method @IntRange(from=0) public long getControllerIdleDurationMillis();
13411    method @IntRange(from=0) public long getControllerRxDurationMillis();
13412    method @IntRange(from=0) public long getControllerScanDurationMillis();
13413    method @IntRange(from=0) public long getControllerTxDurationMillis();
13414    method public int getStackState();
13415    method public long getTimeSinceBootMillis();
13416    method public void writeToParcel(@NonNull android.os.Parcel, int);
13417    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.WifiActivityEnergyInfo> CREATOR;
13418    field public static final int STACK_STATE_INVALID = 0; // 0x0
13419    field public static final int STACK_STATE_STATE_ACTIVE = 1; // 0x1
13420    field public static final int STACK_STATE_STATE_IDLE = 3; // 0x3
13421    field public static final int STACK_STATE_STATE_SCANNING = 2; // 0x2
13422  }
13423
13424  public final class WifiBatteryStats implements android.os.Parcelable {
13425    method public int describeContents();
13426    method public long getAppScanRequestCount();
13427    method public long getEnergyConsumedMaMillis();
13428    method public long getIdleTimeMillis();
13429    method public long getKernelActiveTimeMillis();
13430    method public long getLoggingDurationMillis();
13431    method public long getMonitoredRailChargeConsumedMaMillis();
13432    method public long getNumBytesRx();
13433    method public long getNumBytesTx();
13434    method public long getNumPacketsRx();
13435    method public long getNumPacketsTx();
13436    method public long getRxTimeMillis();
13437    method public long getScanTimeMillis();
13438    method public long getSleepTimeMillis();
13439    method public long getTxTimeMillis();
13440    method public void writeToParcel(@NonNull android.os.Parcel, int);
13441    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.WifiBatteryStats> CREATOR;
13442  }
13443
13444}
13445
13446package android.os.image {
13447
13448  public class DynamicSystemClient {
13449    ctor public DynamicSystemClient(@NonNull android.content.Context);
13450    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void bind();
13451    method public void setOnStatusChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.image.DynamicSystemClient.OnStatusChangedListener);
13452    method public void setOnStatusChangedListener(@NonNull android.os.image.DynamicSystemClient.OnStatusChangedListener);
13453    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void start(@NonNull android.net.Uri, long);
13454    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void start(@NonNull android.net.Uri, long, long);
13455    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void unbind();
13456    field public static final int CAUSE_ERROR_EXCEPTION = 6; // 0x6
13457    field public static final int CAUSE_ERROR_INVALID_URL = 4; // 0x4
13458    field public static final int CAUSE_ERROR_IO = 3; // 0x3
13459    field public static final int CAUSE_ERROR_IPC = 5; // 0x5
13460    field public static final int CAUSE_INSTALL_CANCELLED = 2; // 0x2
13461    field public static final int CAUSE_INSTALL_COMPLETED = 1; // 0x1
13462    field public static final int CAUSE_NOT_SPECIFIED = 0; // 0x0
13463    field public static final int STATUS_IN_PROGRESS = 2; // 0x2
13464    field public static final int STATUS_IN_USE = 4; // 0x4
13465    field public static final int STATUS_NOT_STARTED = 1; // 0x1
13466    field public static final int STATUS_READY = 3; // 0x3
13467    field public static final int STATUS_UNKNOWN = 0; // 0x0
13468  }
13469
13470  public static interface DynamicSystemClient.OnStatusChangedListener {
13471    method public void onStatusChanged(int, int, long, @Nullable Throwable);
13472  }
13473
13474}
13475
13476package android.os.storage {
13477
13478  public class StorageManager {
13479    method @WorkerThread public void allocateBytes(@NonNull java.util.UUID, long, @RequiresPermission int) throws java.io.IOException;
13480    method @WorkerThread public void allocateBytes(java.io.FileDescriptor, long, @RequiresPermission int) throws java.io.IOException;
13481    method @WorkerThread public long getAllocatableBytes(@NonNull java.util.UUID, @RequiresPermission int) throws java.io.IOException;
13482    method @RequiresPermission(android.Manifest.permission.WRITE_MEDIA_STORAGE) public int getExternalStorageMountMode(int, @NonNull String);
13483    method public static boolean hasIsolatedStorage();
13484    method public void updateExternalStorageFileQuotaType(@NonNull java.io.File, int) throws java.io.IOException;
13485    field @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public static final int FLAG_ALLOCATE_AGGRESSIVE = 1; // 0x1
13486    field public static final int MOUNT_MODE_EXTERNAL_ANDROID_WRITABLE = 4; // 0x4
13487    field public static final int MOUNT_MODE_EXTERNAL_DEFAULT = 1; // 0x1
13488    field public static final int MOUNT_MODE_EXTERNAL_INSTALLER = 2; // 0x2
13489    field public static final int MOUNT_MODE_EXTERNAL_NONE = 0; // 0x0
13490    field public static final int MOUNT_MODE_EXTERNAL_PASS_THROUGH = 3; // 0x3
13491    field public static final int QUOTA_TYPE_MEDIA_AUDIO = 2; // 0x2
13492    field public static final int QUOTA_TYPE_MEDIA_IMAGE = 1; // 0x1
13493    field public static final int QUOTA_TYPE_MEDIA_NONE = 0; // 0x0
13494    field public static final int QUOTA_TYPE_MEDIA_VIDEO = 3; // 0x3
13495  }
13496
13497  public final class StorageVolume implements android.os.Parcelable {
13498    method @NonNull public String getId();
13499    method public boolean isExternallyManaged();
13500  }
13501
13502}
13503
13504package android.permission {
13505
13506  public final class AdminPermissionControlParams implements android.os.Parcelable {
13507    method public boolean canAdminGrantSensorsPermissions();
13508    method public int describeContents();
13509    method public int getGrantState();
13510    method @NonNull public String getGranteePackageName();
13511    method @NonNull public String getPermission();
13512    method public void writeToParcel(@NonNull android.os.Parcel, int);
13513    field @NonNull public static final android.os.Parcelable.Creator<android.permission.AdminPermissionControlParams> CREATOR;
13514  }
13515
13516  public final class PermissionControllerManager {
13517    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>);
13518    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void getHibernationEligibility(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.IntConsumer);
13519    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[]>);
13520    method public void getUnusedAppCount(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.IntConsumer);
13521    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);
13522    method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.RESTORE_RUNTIME_PERMISSIONS}) public void stageAndApplyRuntimePermissionsBackup(@NonNull byte[], @NonNull android.os.UserHandle);
13523    field public static final int COUNT_ONLY_WHEN_GRANTED = 1; // 0x1
13524    field public static final int COUNT_WHEN_SYSTEM = 2; // 0x2
13525    field public static final int HIBERNATION_ELIGIBILITY_ELIGIBLE = 0; // 0x0
13526    field public static final int HIBERNATION_ELIGIBILITY_EXEMPT_BY_SYSTEM = 1; // 0x1
13527    field public static final int HIBERNATION_ELIGIBILITY_EXEMPT_BY_USER = 2; // 0x2
13528    field public static final int HIBERNATION_ELIGIBILITY_UNKNOWN = -1; // 0xffffffff
13529    field public static final int REASON_INSTALLER_POLICY_VIOLATION = 2; // 0x2
13530    field public static final int REASON_MALWARE = 1; // 0x1
13531  }
13532
13533  public abstract static class PermissionControllerManager.OnRevokeRuntimePermissionsCallback {
13534    ctor public PermissionControllerManager.OnRevokeRuntimePermissionsCallback();
13535    method public abstract void onRevokeRuntimePermissions(@NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>);
13536  }
13537
13538  public abstract class PermissionControllerService extends android.app.Service {
13539    ctor public PermissionControllerService();
13540    method @NonNull @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public String getPrivilegesDescriptionStringForProfile(@NonNull String);
13541    method @BinderThread public void onApplyStagedRuntimePermissionBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.function.Consumer<java.lang.Boolean>);
13542    method @NonNull public final android.os.IBinder onBind(android.content.Intent);
13543    method @BinderThread public abstract void onCountPermissionApps(@NonNull java.util.List<java.lang.String>, int, @NonNull java.util.function.IntConsumer);
13544    method @BinderThread public abstract void onGetAppPermissions(@NonNull String, @NonNull java.util.function.Consumer<java.util.List<android.permission.RuntimePermissionPresentationInfo>>);
13545    method @BinderThread public void onGetGroupOfPlatformPermission(@NonNull String, @NonNull java.util.function.Consumer<java.lang.String>);
13546    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void onGetHibernationEligibility(@NonNull String, @NonNull java.util.function.IntConsumer);
13547    method @BinderThread public abstract void onGetPermissionUsages(boolean, long, @NonNull java.util.function.Consumer<java.util.List<android.permission.RuntimePermissionUsageInfo>>);
13548    method @BinderThread public void onGetPlatformPermissionsForGroup(@NonNull String, @NonNull java.util.function.Consumer<java.util.List<java.lang.String>>);
13549    method @BinderThread public abstract void onGetRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.OutputStream, @NonNull Runnable);
13550    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void onGetUnusedAppCount(@NonNull java.util.function.IntConsumer);
13551    method @BinderThread public abstract void onGrantOrUpgradeDefaultRuntimePermissions(@NonNull Runnable);
13552    method @BinderThread public void onOneTimePermissionSessionTimeout(@NonNull String);
13553    method @Deprecated @BinderThread public void onRestoreDelayedRuntimePermissionsBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.function.Consumer<java.lang.Boolean>);
13554    method @Deprecated @BinderThread public void onRestoreRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable);
13555    method @BinderThread public abstract void onRevokeRuntimePermission(@NonNull String, @NonNull String, @NonNull Runnable);
13556    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>>>);
13557    method @BinderThread public void onRevokeSelfPermissionsOnKill(@NonNull String, @NonNull java.util.List<java.lang.String>, @NonNull Runnable);
13558    method @Deprecated @BinderThread public abstract void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String, @NonNull String, @NonNull String, int, @NonNull java.util.function.Consumer<java.lang.Boolean>);
13559    method @BinderThread public void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String, @NonNull android.permission.AdminPermissionControlParams, @NonNull java.util.function.Consumer<java.lang.Boolean>);
13560    method @BinderThread public void onStageAndApplyRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable);
13561    method @BinderThread public void onUpdateUserSensitivePermissionFlags(int, @NonNull java.util.concurrent.Executor, @NonNull Runnable);
13562    method @BinderThread public void onUpdateUserSensitivePermissionFlags(int, @NonNull Runnable);
13563    field public static final String SERVICE_INTERFACE = "android.permission.PermissionControllerService";
13564  }
13565
13566  public final class PermissionGroupUsage implements android.os.Parcelable {
13567    method public int describeContents();
13568    method @Nullable public CharSequence getAttributionLabel();
13569    method @Nullable public CharSequence getAttributionTag();
13570    method public long getLastAccessTimeMillis();
13571    method @NonNull public String getPackageName();
13572    method @NonNull public String getPermissionGroupName();
13573    method @Nullable public CharSequence getProxyLabel();
13574    method public int getUid();
13575    method public boolean isActive();
13576    method public boolean isPhoneCall();
13577    method public void writeToParcel(@NonNull android.os.Parcel, int);
13578    field @NonNull public static final android.os.Parcelable.Creator<android.permission.PermissionGroupUsage> CREATOR;
13579  }
13580
13581  public final class PermissionManager {
13582    method public int checkDeviceIdentifierAccess(@Nullable String, @Nullable String, @Nullable String, int, int);
13583    method @RequiresPermission(value=android.Manifest.permission.UPDATE_APP_OPS_STATS, conditional=true) public int checkPermissionForDataDelivery(@NonNull String, @NonNull android.content.AttributionSource, @Nullable String);
13584    method @RequiresPermission(value=android.Manifest.permission.UPDATE_APP_OPS_STATS, conditional=true) public int checkPermissionForDataDeliveryFromDataSource(@NonNull String, @NonNull android.content.AttributionSource, @Nullable String);
13585    method public int checkPermissionForPreflight(@NonNull String, @NonNull android.content.AttributionSource);
13586    method @RequiresPermission(value=android.Manifest.permission.UPDATE_APP_OPS_STATS, conditional=true) public int checkPermissionForStartDataDelivery(@NonNull String, @NonNull android.content.AttributionSource, @Nullable String);
13587    method public void finishDataDelivery(@NonNull String, @NonNull android.content.AttributionSource);
13588    method @NonNull @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Set<java.lang.String> getAutoRevokeExemptionGrantedPackages();
13589    method @NonNull @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Set<java.lang.String> getAutoRevokeExemptionRequestedPackages();
13590    method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY, android.Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS}) public int getRuntimePermissionsVersion();
13591    method @NonNull public java.util.List<android.permission.PermissionManager.SplitPermissionInfo> getSplitPermissions();
13592    method @RequiresPermission(anyOf={android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY, android.Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS}) public void setRuntimePermissionsVersion(@IntRange(from=0) int);
13593    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void startOneTimePermissionSession(@NonNull String, long, int, int);
13594    method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void startOneTimePermissionSession(@NonNull String, long, long, int, int);
13595    method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void stopOneTimePermissionSession(@NonNull String);
13596    field @RequiresPermission(android.Manifest.permission.START_REVIEW_PERMISSION_DECISIONS) public static final String ACTION_REVIEW_PERMISSION_DECISIONS = "android.permission.action.REVIEW_PERMISSION_DECISIONS";
13597    field public static final String EXTRA_PERMISSION_USAGES = "android.permission.extra.PERMISSION_USAGES";
13598    field public static final int PERMISSION_GRANTED = 0; // 0x0
13599    field public static final int PERMISSION_HARD_DENIED = 2; // 0x2
13600    field public static final int PERMISSION_SOFT_DENIED = 1; // 0x1
13601  }
13602
13603  public static final class PermissionManager.SplitPermissionInfo {
13604    method @NonNull public java.util.List<java.lang.String> getNewPermissions();
13605    method @NonNull public String getSplitPermission();
13606    method public int getTargetSdk();
13607  }
13608
13609  public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
13610    ctor public RuntimePermissionPresentationInfo(@NonNull CharSequence, boolean, boolean);
13611    method public int describeContents();
13612    method @NonNull public CharSequence getLabel();
13613    method public boolean isGranted();
13614    method public boolean isStandard();
13615    method public void writeToParcel(android.os.Parcel, int);
13616    field @NonNull public static final android.os.Parcelable.Creator<android.permission.RuntimePermissionPresentationInfo> CREATOR;
13617  }
13618
13619  public final class RuntimePermissionUsageInfo implements android.os.Parcelable {
13620    ctor public RuntimePermissionUsageInfo(@NonNull String, int);
13621    method public int describeContents();
13622    method public int getAppAccessCount();
13623    method @NonNull public String getName();
13624    method public void writeToParcel(android.os.Parcel, int);
13625    field @NonNull public static final android.os.Parcelable.Creator<android.permission.RuntimePermissionUsageInfo> CREATOR;
13626  }
13627
13628}
13629
13630package android.permissionpresenterservice {
13631
13632  @Deprecated public abstract class RuntimePermissionPresenterService extends android.app.Service {
13633    ctor @Deprecated public RuntimePermissionPresenterService();
13634    method @Deprecated public final void attachBaseContext(android.content.Context);
13635    method @Deprecated public final android.os.IBinder onBind(android.content.Intent);
13636    method @Deprecated public abstract java.util.List<android.content.pm.permission.RuntimePermissionPresentationInfo> onGetAppPermissions(@NonNull String);
13637    field @Deprecated public static final String SERVICE_INTERFACE = "android.permissionpresenterservice.RuntimePermissionPresenterService";
13638  }
13639
13640}
13641
13642package android.preference {
13643
13644  @Deprecated public class PreferenceManager {
13645    method @Deprecated public boolean isStorageCredentialProtected();
13646    method @Deprecated public void setStorageCredentialProtected();
13647  }
13648
13649}
13650
13651package android.print {
13652
13653  public final class PrintManager {
13654    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public void addPrintServiceRecommendationsChangeListener(@NonNull android.print.PrintManager.PrintServiceRecommendationsChangeListener, @Nullable android.os.Handler);
13655    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public void addPrintServicesChangeListener(@NonNull android.print.PrintManager.PrintServicesChangeListener, @Nullable android.os.Handler);
13656    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public java.util.List<android.printservice.recommendation.RecommendationInfo> getPrintServiceRecommendations();
13657    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public java.util.List<android.printservice.PrintServiceInfo> getPrintServices(int);
13658    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public void removePrintServiceRecommendationsChangeListener(@NonNull android.print.PrintManager.PrintServiceRecommendationsChangeListener);
13659    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public void removePrintServicesChangeListener(@NonNull android.print.PrintManager.PrintServicesChangeListener);
13660    field public static final int ENABLED_SERVICES = 1; // 0x1
13661  }
13662
13663  public static interface PrintManager.PrintServiceRecommendationsChangeListener {
13664    method public void onPrintServiceRecommendationsChanged();
13665  }
13666
13667  public static interface PrintManager.PrintServicesChangeListener {
13668    method public void onPrintServicesChanged();
13669  }
13670
13671}
13672
13673package android.printservice {
13674
13675  public final class PrintServiceInfo implements android.os.Parcelable {
13676    method public int describeContents();
13677    method @NonNull public android.content.ComponentName getComponentName();
13678    method public void writeToParcel(android.os.Parcel, int);
13679    field @NonNull public static final android.os.Parcelable.Creator<android.printservice.PrintServiceInfo> CREATOR;
13680  }
13681
13682}
13683
13684package android.printservice.recommendation {
13685
13686  public final class RecommendationInfo implements android.os.Parcelable {
13687    ctor public RecommendationInfo(@NonNull CharSequence, @NonNull CharSequence, @NonNull java.util.List<java.net.InetAddress>, boolean);
13688    ctor @Deprecated public RecommendationInfo(@NonNull CharSequence, @NonNull CharSequence, @IntRange(from=0) int, boolean);
13689    method public int describeContents();
13690    method @NonNull public java.util.List<java.net.InetAddress> getDiscoveredPrinters();
13691    method public CharSequence getName();
13692    method public int getNumDiscoveredPrinters();
13693    method public CharSequence getPackageName();
13694    method public boolean recommendsMultiVendorService();
13695    method public void writeToParcel(android.os.Parcel, int);
13696    field @NonNull public static final android.os.Parcelable.Creator<android.printservice.recommendation.RecommendationInfo> CREATOR;
13697  }
13698
13699  public abstract class RecommendationService extends android.app.Service {
13700    ctor public RecommendationService();
13701    method public final android.os.IBinder onBind(android.content.Intent);
13702    method public abstract void onConnected();
13703    method public abstract void onDisconnected();
13704    method public final void updateRecommendations(@Nullable java.util.List<android.printservice.recommendation.RecommendationInfo>);
13705    field public static final String SERVICE_INTERFACE = "android.printservice.recommendation.RecommendationService";
13706  }
13707
13708}
13709
13710package android.provider {
13711
13712  public class CallLog {
13713    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>);
13714  }
13715
13716  public static class CallLog.CallComposerLoggingException extends java.lang.Throwable {
13717    ctor public CallLog.CallComposerLoggingException(int);
13718    method public int getErrorCode();
13719    field public static final int ERROR_INPUT_CLOSED = 3; // 0x3
13720    field public static final int ERROR_REMOTE_END_CLOSED = 1; // 0x1
13721    field public static final int ERROR_STORAGE_FULL = 2; // 0x2
13722    field public static final int ERROR_UNKNOWN = 0; // 0x0
13723  }
13724
13725  public static final class ContactsContract.CommonDataKinds.Phone implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
13726    field @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public static final android.net.Uri ENTERPRISE_CONTENT_URI;
13727  }
13728
13729  @Deprecated public static final class ContactsContract.MetadataSync implements android.provider.BaseColumns android.provider.ContactsContract.MetadataSyncColumns {
13730    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_metadata";
13731    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_metadata";
13732    field @Deprecated public static final android.net.Uri CONTENT_URI;
13733    field @Deprecated public static final String METADATA_AUTHORITY = "com.android.contacts.metadata";
13734    field @Deprecated public static final android.net.Uri METADATA_AUTHORITY_URI;
13735  }
13736
13737  @Deprecated protected static interface ContactsContract.MetadataSyncColumns {
13738    field @Deprecated public static final String ACCOUNT_NAME = "account_name";
13739    field @Deprecated public static final String ACCOUNT_TYPE = "account_type";
13740    field @Deprecated public static final String DATA = "data";
13741    field @Deprecated public static final String DATA_SET = "data_set";
13742    field @Deprecated public static final String DELETED = "deleted";
13743    field @Deprecated public static final String RAW_CONTACT_BACKUP_ID = "raw_contact_backup_id";
13744  }
13745
13746  @Deprecated public static final class ContactsContract.MetadataSyncState implements android.provider.BaseColumns android.provider.ContactsContract.MetadataSyncStateColumns {
13747    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_metadata_sync_state";
13748    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_metadata_sync_state";
13749    field @Deprecated public static final android.net.Uri CONTENT_URI;
13750  }
13751
13752  @Deprecated protected static interface ContactsContract.MetadataSyncStateColumns {
13753    field @Deprecated public static final String ACCOUNT_NAME = "account_name";
13754    field @Deprecated public static final String ACCOUNT_TYPE = "account_type";
13755    field @Deprecated public static final String DATA_SET = "data_set";
13756    field @Deprecated public static final String STATE = "state";
13757  }
13758
13759  public static final class ContactsContract.Settings implements android.provider.ContactsContract.SettingsColumns {
13760    method @RequiresPermission(android.Manifest.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS) public static void setDefaultAccount(@NonNull android.content.ContentResolver, @Nullable android.accounts.Account);
13761  }
13762
13763  public static final class ContactsContract.SimContacts {
13764    method @RequiresPermission("android.contacts.permission.MANAGE_SIM_ACCOUNTS") public static void addSimAccount(@NonNull android.content.ContentResolver, @NonNull String, @NonNull String, int, int);
13765    method @RequiresPermission("android.contacts.permission.MANAGE_SIM_ACCOUNTS") public static void removeSimAccounts(@NonNull android.content.ContentResolver, int);
13766  }
13767
13768  public final class DeviceConfig {
13769    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static void addOnPropertiesChangedListener(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.provider.DeviceConfig.OnPropertiesChangedListener);
13770    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static boolean deleteProperty(@NonNull String, @NonNull String);
13771    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static boolean getBoolean(@NonNull String, @NonNull String, boolean);
13772    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static float getFloat(@NonNull String, @NonNull String, float);
13773    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static int getInt(@NonNull String, @NonNull String, int);
13774    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static long getLong(@NonNull String, @NonNull String, long);
13775    method @NonNull @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static android.provider.DeviceConfig.Properties getProperties(@NonNull String, @NonNull java.lang.String...);
13776    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static String getProperty(@NonNull String, @NonNull String);
13777    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static String getString(@NonNull String, @NonNull String, @Nullable String);
13778    method public static void removeOnPropertiesChangedListener(@NonNull android.provider.DeviceConfig.OnPropertiesChangedListener);
13779    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static void resetToDefaults(int, @Nullable String);
13780    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static boolean setProperties(@NonNull android.provider.DeviceConfig.Properties) throws android.provider.DeviceConfig.BadConfigException;
13781    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static boolean setProperty(@NonNull String, @NonNull String, @Nullable String, boolean);
13782    field public static final String NAMESPACE_ACTIVITY_MANAGER = "activity_manager";
13783    field public static final String NAMESPACE_ACTIVITY_MANAGER_NATIVE_BOOT = "activity_manager_native_boot";
13784    field public static final String NAMESPACE_ADSERVICES = "adservices";
13785    field public static final String NAMESPACE_AMBIENT_CONTEXT_MANAGER_SERVICE = "ambient_context_manager_service";
13786    field public static final String NAMESPACE_APPSEARCH = "appsearch";
13787    field public static final String NAMESPACE_APP_COMPAT = "app_compat";
13788    field public static final String NAMESPACE_APP_HIBERNATION = "app_hibernation";
13789    field public static final String NAMESPACE_ATTENTION_MANAGER_SERVICE = "attention_manager_service";
13790    field public static final String NAMESPACE_AUTOFILL = "autofill";
13791    field public static final String NAMESPACE_BATTERY_SAVER = "battery_saver";
13792    field public static final String NAMESPACE_BIOMETRICS = "biometrics";
13793    field public static final String NAMESPACE_BLOBSTORE = "blobstore";
13794    field public static final String NAMESPACE_BLUETOOTH = "bluetooth";
13795    field public static final String NAMESPACE_CAPTIVEPORTALLOGIN = "captive_portal_login";
13796    field public static final String NAMESPACE_CLIPBOARD = "clipboard";
13797    field public static final String NAMESPACE_CONNECTIVITY = "connectivity";
13798    field public static final String NAMESPACE_CONTENT_CAPTURE = "content_capture";
13799    field @Deprecated public static final String NAMESPACE_DEX_BOOT = "dex_boot";
13800    field public static final String NAMESPACE_DISPLAY_MANAGER = "display_manager";
13801    field public static final String NAMESPACE_GAME_DRIVER = "game_driver";
13802    field public static final String NAMESPACE_INPUT_NATIVE_BOOT = "input_native_boot";
13803    field public static final String NAMESPACE_INTELLIGENCE_ATTENTION = "intelligence_attention";
13804    field public static final String NAMESPACE_LMKD_NATIVE = "lmkd_native";
13805    field public static final String NAMESPACE_LOCATION = "location";
13806    field public static final String NAMESPACE_MEDIA = "media";
13807    field public static final String NAMESPACE_MEDIA_NATIVE = "media_native";
13808    field public static final String NAMESPACE_NETD_NATIVE = "netd_native";
13809    field public static final String NAMESPACE_NNAPI_NATIVE = "nnapi_native";
13810    field public static final String NAMESPACE_ON_DEVICE_PERSONALIZATION = "on_device_personalization";
13811    field public static final String NAMESPACE_OTA = "ota";
13812    field public static final String NAMESPACE_PACKAGE_MANAGER_SERVICE = "package_manager_service";
13813    field public static final String NAMESPACE_PERMISSIONS = "permissions";
13814    field public static final String NAMESPACE_PRIVACY = "privacy";
13815    field public static final String NAMESPACE_PROFCOLLECT_NATIVE_BOOT = "profcollect_native_boot";
13816    field public static final String NAMESPACE_REBOOT_READINESS = "reboot_readiness";
13817    field public static final String NAMESPACE_ROLLBACK = "rollback";
13818    field public static final String NAMESPACE_ROLLBACK_BOOT = "rollback_boot";
13819    field public static final String NAMESPACE_RUNTIME = "runtime";
13820    field public static final String NAMESPACE_RUNTIME_NATIVE = "runtime_native";
13821    field public static final String NAMESPACE_RUNTIME_NATIVE_BOOT = "runtime_native_boot";
13822    field public static final String NAMESPACE_SCHEDULER = "scheduler";
13823    field public static final String NAMESPACE_SDK_SANDBOX = "sdk_sandbox";
13824    field public static final String NAMESPACE_STATSD_JAVA = "statsd_java";
13825    field public static final String NAMESPACE_STATSD_JAVA_BOOT = "statsd_java_boot";
13826    field public static final String NAMESPACE_STATSD_NATIVE = "statsd_native";
13827    field public static final String NAMESPACE_STATSD_NATIVE_BOOT = "statsd_native_boot";
13828    field @Deprecated public static final String NAMESPACE_STORAGE = "storage";
13829    field public static final String NAMESPACE_STORAGE_NATIVE_BOOT = "storage_native_boot";
13830    field public static final String NAMESPACE_SURFACE_FLINGER_NATIVE_BOOT = "surface_flinger_native_boot";
13831    field public static final String NAMESPACE_SWCODEC_NATIVE = "swcodec_native";
13832    field public static final String NAMESPACE_SYSTEMUI = "systemui";
13833    field public static final String NAMESPACE_SYSTEM_TIME = "system_time";
13834    field public static final String NAMESPACE_TELEPHONY = "telephony";
13835    field public static final String NAMESPACE_TETHERING = "tethering";
13836    field public static final String NAMESPACE_TEXTCLASSIFIER = "textclassifier";
13837    field public static final String NAMESPACE_UWB = "uwb";
13838    field public static final String NAMESPACE_WINDOW_MANAGER_NATIVE_BOOT = "window_manager_native_boot";
13839  }
13840
13841  public static class DeviceConfig.BadConfigException extends java.lang.Exception {
13842    ctor public DeviceConfig.BadConfigException();
13843  }
13844
13845  public static interface DeviceConfig.OnPropertiesChangedListener {
13846    method public void onPropertiesChanged(@NonNull android.provider.DeviceConfig.Properties);
13847  }
13848
13849  public static class DeviceConfig.Properties {
13850    method public boolean getBoolean(@NonNull String, boolean);
13851    method public float getFloat(@NonNull String, float);
13852    method public int getInt(@NonNull String, int);
13853    method @NonNull public java.util.Set<java.lang.String> getKeyset();
13854    method public long getLong(@NonNull String, long);
13855    method @NonNull public String getNamespace();
13856    method @Nullable public String getString(@NonNull String, @Nullable String);
13857  }
13858
13859  public static final class DeviceConfig.Properties.Builder {
13860    ctor public DeviceConfig.Properties.Builder(@NonNull String);
13861    method @NonNull public android.provider.DeviceConfig.Properties build();
13862    method @NonNull public android.provider.DeviceConfig.Properties.Builder setBoolean(@NonNull String, boolean);
13863    method @NonNull public android.provider.DeviceConfig.Properties.Builder setFloat(@NonNull String, float);
13864    method @NonNull public android.provider.DeviceConfig.Properties.Builder setInt(@NonNull String, int);
13865    method @NonNull public android.provider.DeviceConfig.Properties.Builder setLong(@NonNull String, long);
13866    method @NonNull public android.provider.DeviceConfig.Properties.Builder setString(@NonNull String, @Nullable String);
13867  }
13868
13869  public final class DocumentsContract {
13870    method @NonNull public static android.net.Uri buildDocumentUriAsUser(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
13871    method public static boolean isManageMode(@NonNull android.net.Uri);
13872    method @NonNull public static android.net.Uri setManageMode(@NonNull android.net.Uri);
13873    field public static final String ACTION_DOCUMENT_ROOT_SETTINGS = "android.provider.action.DOCUMENT_ROOT_SETTINGS";
13874    field public static final String ACTION_MANAGE_DOCUMENT = "android.provider.action.MANAGE_DOCUMENT";
13875    field public static final String DOWNLOADS_PROVIDER_AUTHORITY = "downloads";
13876    field public static final String EXTERNAL_STORAGE_PROVIDER_AUTHORITY = "com.android.externalstorage.documents";
13877    field public static final String EXTRA_SHOW_ADVANCED = "android.provider.extra.SHOW_ADVANCED";
13878  }
13879
13880  public static final class DocumentsContract.Root {
13881    field public static final int FLAG_ADVANCED = 65536; // 0x10000
13882    field public static final int FLAG_HAS_SETTINGS = 131072; // 0x20000
13883    field public static final int FLAG_REMOVABLE_SD = 262144; // 0x40000
13884    field public static final int FLAG_REMOVABLE_USB = 524288; // 0x80000
13885  }
13886
13887  public final class MediaStore {
13888    method @NonNull public static android.net.Uri rewriteToLegacy(@NonNull android.net.Uri);
13889    method @NonNull @WorkerThread public static android.net.Uri scanFile(@NonNull android.content.ContentResolver, @NonNull java.io.File);
13890    method @WorkerThread public static void scanVolume(@NonNull android.content.ContentResolver, @NonNull String);
13891    method @WorkerThread public static void waitForIdle(@NonNull android.content.ContentResolver);
13892    field public static final String AUTHORITY_LEGACY = "media_legacy";
13893    field @NonNull public static final android.net.Uri AUTHORITY_LEGACY_URI;
13894    field public static final String QUERY_ARG_DEFER_SCAN = "android:query-arg-defer-scan";
13895  }
13896
13897  public abstract class SearchIndexableData {
13898    ctor public SearchIndexableData();
13899    ctor public SearchIndexableData(android.content.Context);
13900    field public String className;
13901    field public android.content.Context context;
13902    field public boolean enabled;
13903    field public int iconResId;
13904    field public String intentAction;
13905    field public String intentTargetClass;
13906    field public String intentTargetPackage;
13907    field public String key;
13908    field public java.util.Locale locale;
13909    field public String packageName;
13910    field public int rank;
13911    field public int userId;
13912  }
13913
13914  public class SearchIndexableResource extends android.provider.SearchIndexableData {
13915    ctor public SearchIndexableResource(int, int, String, int);
13916    ctor public SearchIndexableResource(android.content.Context);
13917    field public int xmlResId;
13918  }
13919
13920  public class SearchIndexablesContract {
13921    ctor public SearchIndexablesContract();
13922    field public static final int COLUMN_INDEX_NON_INDEXABLE_KEYS_KEY_VALUE = 0; // 0x0
13923    field public static final int COLUMN_INDEX_RAW_CLASS_NAME = 7; // 0x7
13924    field public static final int COLUMN_INDEX_RAW_ENTRIES = 4; // 0x4
13925    field public static final int COLUMN_INDEX_RAW_ICON_RESID = 8; // 0x8
13926    field public static final int COLUMN_INDEX_RAW_INTENT_ACTION = 9; // 0x9
13927    field public static final int COLUMN_INDEX_RAW_INTENT_TARGET_CLASS = 11; // 0xb
13928    field public static final int COLUMN_INDEX_RAW_INTENT_TARGET_PACKAGE = 10; // 0xa
13929    field public static final int COLUMN_INDEX_RAW_KEY = 12; // 0xc
13930    field public static final int COLUMN_INDEX_RAW_KEYWORDS = 5; // 0x5
13931    field public static final int COLUMN_INDEX_RAW_RANK = 0; // 0x0
13932    field public static final int COLUMN_INDEX_RAW_SCREEN_TITLE = 6; // 0x6
13933    field public static final int COLUMN_INDEX_RAW_SUMMARY_OFF = 3; // 0x3
13934    field public static final int COLUMN_INDEX_RAW_SUMMARY_ON = 2; // 0x2
13935    field public static final int COLUMN_INDEX_RAW_TITLE = 1; // 0x1
13936    field public static final int COLUMN_INDEX_RAW_USER_ID = 13; // 0xd
13937    field public static final int COLUMN_INDEX_XML_RES_CLASS_NAME = 2; // 0x2
13938    field public static final int COLUMN_INDEX_XML_RES_ICON_RESID = 3; // 0x3
13939    field public static final int COLUMN_INDEX_XML_RES_INTENT_ACTION = 4; // 0x4
13940    field public static final int COLUMN_INDEX_XML_RES_INTENT_TARGET_CLASS = 6; // 0x6
13941    field public static final int COLUMN_INDEX_XML_RES_INTENT_TARGET_PACKAGE = 5; // 0x5
13942    field public static final int COLUMN_INDEX_XML_RES_RANK = 0; // 0x0
13943    field public static final int COLUMN_INDEX_XML_RES_RESID = 1; // 0x1
13944    field public static final String DYNAMIC_INDEXABLES_RAW = "dynamic_indexables_raw";
13945    field public static final String DYNAMIC_INDEXABLES_RAW_PATH = "settings/dynamic_indexables_raw";
13946    field public static final String INDEXABLES_RAW = "indexables_raw";
13947    field public static final String[] INDEXABLES_RAW_COLUMNS;
13948    field public static final String INDEXABLES_RAW_PATH = "settings/indexables_raw";
13949    field public static final String INDEXABLES_XML_RES = "indexables_xml_res";
13950    field public static final String[] INDEXABLES_XML_RES_COLUMNS;
13951    field public static final String INDEXABLES_XML_RES_PATH = "settings/indexables_xml_res";
13952    field public static final String NON_INDEXABLES_KEYS = "non_indexables_key";
13953    field public static final String[] NON_INDEXABLES_KEYS_COLUMNS;
13954    field public static final String NON_INDEXABLES_KEYS_PATH = "settings/non_indexables_key";
13955    field public static final String PROVIDER_INTERFACE = "android.content.action.SEARCH_INDEXABLES_PROVIDER";
13956    field public static final String SLICE_URI_PAIRS = "slice_uri_pairs";
13957    field @NonNull public static final String[] SLICE_URI_PAIRS_COLUMNS;
13958    field public static final String SLICE_URI_PAIRS_PATH = "settings/slice_uri_pairs";
13959  }
13960
13961  public static class SearchIndexablesContract.BaseColumns {
13962    field public static final String COLUMN_CLASS_NAME = "className";
13963    field public static final String COLUMN_ICON_RESID = "iconResId";
13964    field public static final String COLUMN_INTENT_ACTION = "intentAction";
13965    field public static final String COLUMN_INTENT_TARGET_CLASS = "intentTargetClass";
13966    field public static final String COLUMN_INTENT_TARGET_PACKAGE = "intentTargetPackage";
13967    field public static final String COLUMN_RANK = "rank";
13968  }
13969
13970  public static final class SearchIndexablesContract.NonIndexableKey extends android.provider.SearchIndexablesContract.BaseColumns {
13971    field public static final String COLUMN_KEY_VALUE = "key";
13972    field public static final String MIME_TYPE = "vnd.android.cursor.dir/non_indexables_key";
13973  }
13974
13975  public static final class SearchIndexablesContract.RawData extends android.provider.SearchIndexablesContract.BaseColumns {
13976    field public static final String COLUMN_ENTRIES = "entries";
13977    field public static final String COLUMN_KEY = "key";
13978    field public static final String COLUMN_KEYWORDS = "keywords";
13979    field public static final String COLUMN_SCREEN_TITLE = "screenTitle";
13980    field public static final String COLUMN_SUMMARY_OFF = "summaryOff";
13981    field public static final String COLUMN_SUMMARY_ON = "summaryOn";
13982    field public static final String COLUMN_TITLE = "title";
13983    field public static final String COLUMN_USER_ID = "user_id";
13984    field public static final String MIME_TYPE = "vnd.android.cursor.dir/indexables_raw";
13985  }
13986
13987  public static final class SearchIndexablesContract.SliceUriPairColumns {
13988    field public static final String KEY = "key";
13989    field public static final String SLICE_URI = "slice_uri";
13990  }
13991
13992  public static final class SearchIndexablesContract.XmlResource extends android.provider.SearchIndexablesContract.BaseColumns {
13993    field public static final String COLUMN_XML_RESID = "xmlResId";
13994    field public static final String MIME_TYPE = "vnd.android.cursor.dir/indexables_xml_res";
13995  }
13996
13997  public abstract class SearchIndexablesProvider extends android.content.ContentProvider {
13998    ctor public SearchIndexablesProvider();
13999    method public final int delete(android.net.Uri, String, String[]);
14000    method public String getType(android.net.Uri);
14001    method public final android.net.Uri insert(android.net.Uri, android.content.ContentValues);
14002    method public android.database.Cursor query(android.net.Uri, String[], String, String[], String);
14003    method @Nullable public android.database.Cursor queryDynamicRawData(@Nullable String[]);
14004    method public abstract android.database.Cursor queryNonIndexableKeys(String[]);
14005    method public abstract android.database.Cursor queryRawData(String[]);
14006    method @Nullable public android.database.Cursor querySliceUriPairs();
14007    method public abstract android.database.Cursor queryXmlResources(String[]);
14008    method public final int update(android.net.Uri, android.content.ContentValues, String, String[]);
14009  }
14010
14011  public final class Settings {
14012    method @Deprecated public static boolean checkAndNoteWriteSettingsOperation(@NonNull android.content.Context, int, @NonNull String, boolean);
14013    method public static boolean checkAndNoteWriteSettingsOperation(@NonNull android.content.Context, int, @NonNull String, @Nullable String, boolean);
14014    field public static final String ACTION_ACCESSIBILITY_DETAILS_SETTINGS = "android.settings.ACCESSIBILITY_DETAILS_SETTINGS";
14015    field public static final String ACTION_BEDTIME_SETTINGS = "android.settings.BEDTIME_SETTINGS";
14016    field public static final String ACTION_BUGREPORT_HANDLER_SETTINGS = "android.settings.BUGREPORT_HANDLER_SETTINGS";
14017    field public static final String ACTION_ENTERPRISE_PRIVACY_SETTINGS = "android.settings.ENTERPRISE_PRIVACY_SETTINGS";
14018    field public static final String ACTION_LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS = "android.settings.LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS";
14019    field public static final String ACTION_MANAGE_APP_OVERLAY_PERMISSION = "android.settings.MANAGE_APP_OVERLAY_PERMISSION";
14020    field public static final String ACTION_MANAGE_DOMAIN_URLS = "android.settings.MANAGE_DOMAIN_URLS";
14021    field public static final String ACTION_MANAGE_MORE_DEFAULT_APPS_SETTINGS = "android.settings.MANAGE_MORE_DEFAULT_APPS_SETTINGS";
14022    field public static final String ACTION_NOTIFICATION_POLICY_ACCESS_DETAIL_SETTINGS = "android.settings.NOTIFICATION_POLICY_ACCESS_DETAIL_SETTINGS";
14023    field public static final String ACTION_REQUEST_ENABLE_CONTENT_CAPTURE = "android.settings.REQUEST_ENABLE_CONTENT_CAPTURE";
14024    field public static final String ACTION_SHOW_ADMIN_SUPPORT_DETAILS = "android.settings.SHOW_ADMIN_SUPPORT_DETAILS";
14025    field public static final String ACTION_TETHER_PROVISIONING_UI = "android.settings.TETHER_PROVISIONING_UI";
14026    field public static final String ACTION_TETHER_SETTINGS = "android.settings.TETHER_SETTINGS";
14027    field public static final String ACTION_TETHER_UNSUPPORTED_CARRIER_UI = "android.settings.TETHER_UNSUPPORTED_CARRIER_UI";
14028  }
14029
14030  public static final class Settings.Global extends android.provider.Settings.NameValueTable {
14031    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, @Nullable String, boolean);
14032    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String);
14033    field public static final String AIRPLANE_MODE_TOGGLEABLE_RADIOS = "airplane_mode_toggleable_radios";
14034    field public static final String APP_STANDBY_ENABLED = "app_standby_enabled";
14035    field @Deprecated public static final String AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES = "autofill_compat_mode_allowed_packages";
14036    field public static final String CARRIER_APP_NAMES = "carrier_app_names";
14037    field public static final String CARRIER_APP_WHITELIST = "carrier_app_whitelist";
14038    field public static final String DEFAULT_SM_DP_PLUS = "default_sm_dp_plus";
14039    field public static final String DEVICE_DEMO_MODE = "device_demo_mode";
14040    field public static final String DEVICE_PROVISIONING_MOBILE_DATA_ENABLED = "device_provisioning_mobile_data";
14041    field public static final String EUICC_PROVISIONED = "euicc_provisioned";
14042    field public static final String EUICC_SUPPORTED_COUNTRIES = "euicc_supported_countries";
14043    field public static final String EUICC_UNSUPPORTED_COUNTRIES = "euicc_unsupported_countries";
14044    field public static final String INSTALL_CARRIER_APP_NOTIFICATION_PERSISTENT = "install_carrier_app_notification_persistent";
14045    field public static final String INSTALL_CARRIER_APP_NOTIFICATION_SLEEP_MILLIS = "install_carrier_app_notification_sleep_millis";
14046    field public static final String OTA_DISABLE_AUTOMATIC_UPDATE = "ota_disable_automatic_update";
14047    field public static final String REQUIRE_PASSWORD_TO_DECRYPT = "require_password_to_decrypt";
14048    field public static final String TETHER_OFFLOAD_DISABLED = "tether_offload_disabled";
14049    field public static final String TETHER_SUPPORTED = "tether_supported";
14050    field public static final String THEATER_MODE_ON = "theater_mode_on";
14051    field public static final String WEBVIEW_MULTIPROCESS = "webview_multiprocess";
14052    field public static final String WIFI_BADGING_THRESHOLDS = "wifi_badging_thresholds";
14053    field @Deprecated public static final String WIFI_WAKEUP_ENABLED = "wifi_wakeup_enabled";
14054  }
14055
14056  public static final class Settings.Secure extends android.provider.Settings.NameValueTable {
14057    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, @Nullable String, boolean);
14058    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String);
14059    field @Deprecated public static final String ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED = "accessibility_display_magnification_navbar_enabled";
14060    field public static final String ASSIST_GESTURE_SETUP_COMPLETE = "assist_gesture_setup_complete";
14061    field public static final String AUTOFILL_FEATURE_FIELD_CLASSIFICATION = "autofill_field_classification";
14062    field public static final String AUTOFILL_USER_DATA_MAX_CATEGORY_COUNT = "autofill_user_data_max_category_count";
14063    field public static final String AUTOFILL_USER_DATA_MAX_FIELD_CLASSIFICATION_IDS_SIZE = "autofill_user_data_max_field_classification_size";
14064    field public static final String AUTOFILL_USER_DATA_MAX_USER_DATA_SIZE = "autofill_user_data_max_user_data_size";
14065    field public static final String AUTOFILL_USER_DATA_MAX_VALUE_LENGTH = "autofill_user_data_max_value_length";
14066    field public static final String AUTOFILL_USER_DATA_MIN_VALUE_LENGTH = "autofill_user_data_min_value_length";
14067    field public static final String AUTO_REVOKE_DISABLED = "auto_revoke_disabled";
14068    field public static final String COMPLETED_CATEGORY_PREFIX = "suggested.completed_category.";
14069    field public static final String DOZE_ALWAYS_ON = "doze_always_on";
14070    field public static final String HUSH_GESTURE_USED = "hush_gesture_used";
14071    field public static final String INSTANT_APPS_ENABLED = "instant_apps_enabled";
14072    field public static final String LAST_SETUP_SHOWN = "last_setup_shown";
14073    field public static final String LOCATION_ACCESS_CHECK_DELAY_MILLIS = "location_access_check_delay_millis";
14074    field public static final String LOCATION_ACCESS_CHECK_INTERVAL_MILLIS = "location_access_check_interval_millis";
14075    field public static final int LOCATION_MODE_ON = 3; // 0x3
14076    field @Deprecated public static final String LOCATION_PERMISSIONS_UPGRADE_TO_Q_MODE = "location_permissions_upgrade_to_q_mode";
14077    field public static final String LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS = "lock_screen_allow_private_notifications";
14078    field public static final String LOCK_SCREEN_SHOW_NOTIFICATIONS = "lock_screen_show_notifications";
14079    field public static final String ODI_CAPTIONS_ENABLED = "odi_captions_enabled";
14080    field public static final String THEME_CUSTOMIZATION_OVERLAY_PACKAGES = "theme_customization_overlay_packages";
14081    field public static final String UI_TRANSLATION_ENABLED = "ui_translation_enabled";
14082    field public static final String USER_SETUP_COMPLETE = "user_setup_complete";
14083    field public static final int USER_SETUP_PERSONALIZATION_COMPLETE = 10; // 0xa
14084    field public static final int USER_SETUP_PERSONALIZATION_NOT_STARTED = 0; // 0x0
14085    field public static final int USER_SETUP_PERSONALIZATION_PAUSED = 2; // 0x2
14086    field public static final int USER_SETUP_PERSONALIZATION_STARTED = 1; // 0x1
14087    field public static final String USER_SETUP_PERSONALIZATION_STATE = "user_setup_personalization_state";
14088    field public static final String VOLUME_HUSH_GESTURE = "volume_hush_gesture";
14089    field public static final int VOLUME_HUSH_MUTE = 2; // 0x2
14090    field public static final int VOLUME_HUSH_OFF = 0; // 0x0
14091    field public static final int VOLUME_HUSH_VIBRATE = 1; // 0x1
14092  }
14093
14094  public static final class Settings.System extends android.provider.Settings.NameValueTable {
14095    method @RequiresPermission(android.Manifest.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, boolean);
14096  }
14097
14098  public static final class SimPhonebookContract.SimRecords {
14099    field public static final String QUERY_ARG_PIN2 = "android:query-arg-pin2";
14100  }
14101
14102  public static final class Telephony.Carriers implements android.provider.BaseColumns {
14103    field public static final String APN_SET_ID = "apn_set_id";
14104    field public static final int CARRIER_EDITED = 4; // 0x4
14105    field public static final String EDITED_STATUS = "edited";
14106    field public static final int MATCH_ALL_APN_SET_ID = -1; // 0xffffffff
14107    field public static final String MAX_CONNECTIONS = "max_conns";
14108    field public static final String MODEM_PERSIST = "modem_cognitive";
14109    field @Deprecated public static final String MTU = "mtu";
14110    field public static final String MTU_V4 = "mtu_v4";
14111    field public static final String MTU_V6 = "mtu_v6";
14112    field public static final int NO_APN_SET_ID = 0; // 0x0
14113    field public static final String TIME_LIMIT_FOR_MAX_CONNECTIONS = "max_conns_time";
14114    field public static final int UNEDITED = 0; // 0x0
14115    field public static final int USER_DELETED = 2; // 0x2
14116    field public static final String USER_EDITABLE = "user_editable";
14117    field public static final int USER_EDITED = 1; // 0x1
14118    field public static final String USER_VISIBLE = "user_visible";
14119    field public static final String WAIT_TIME_RETRY = "wait_time";
14120  }
14121
14122  public static final class Telephony.CellBroadcasts implements android.provider.BaseColumns {
14123    field @NonNull public static final String AUTHORITY_LEGACY = "cellbroadcast-legacy";
14124    field @NonNull public static final android.net.Uri AUTHORITY_LEGACY_URI;
14125    field @NonNull public static final String CALL_METHOD_GET_PREFERENCE = "get_preference";
14126    field public static final String CID = "cid";
14127    field public static final String CMAS_CATEGORY = "cmas_category";
14128    field public static final String CMAS_CERTAINTY = "cmas_certainty";
14129    field public static final String CMAS_MESSAGE_CLASS = "cmas_message_class";
14130    field public static final String CMAS_RESPONSE_TYPE = "cmas_response_type";
14131    field public static final String CMAS_SEVERITY = "cmas_severity";
14132    field public static final String CMAS_URGENCY = "cmas_urgency";
14133    field @NonNull public static final android.net.Uri CONTENT_URI;
14134    field public static final String DATA_CODING_SCHEME = "dcs";
14135    field public static final String DEFAULT_SORT_ORDER = "date DESC";
14136    field public static final String DELIVERY_TIME = "date";
14137    field public static final String ETWS_IS_PRIMARY = "etws_is_primary";
14138    field public static final String ETWS_WARNING_TYPE = "etws_warning_type";
14139    field public static final String GEOGRAPHICAL_SCOPE = "geo_scope";
14140    field public static final String GEOMETRIES = "geometries";
14141    field public static final String LAC = "lac";
14142    field public static final String LANGUAGE_CODE = "language";
14143    field public static final String LOCATION_CHECK_TIME = "location_check_time";
14144    field public static final String MAXIMUM_WAIT_TIME = "maximum_wait_time";
14145    field public static final String MESSAGE_BODY = "body";
14146    field public static final String MESSAGE_BROADCASTED = "message_broadcasted";
14147    field public static final String MESSAGE_DISPLAYED = "message_displayed";
14148    field public static final String MESSAGE_FORMAT = "format";
14149    field @NonNull @RequiresPermission(android.Manifest.permission.READ_CELL_BROADCASTS) public static final android.net.Uri MESSAGE_HISTORY_URI;
14150    field public static final String MESSAGE_PRIORITY = "priority";
14151    field public static final String MESSAGE_READ = "read";
14152    field public static final String PLMN = "plmn";
14153    field public static final String RECEIVED_TIME = "received_time";
14154    field public static final String SERIAL_NUMBER = "serial_number";
14155    field public static final String SERVICE_CATEGORY = "service_category";
14156    field public static final String SLOT_INDEX = "slot_index";
14157    field public static final String SUBSCRIPTION_ID = "sub_id";
14158  }
14159
14160  public static final class Telephony.CellBroadcasts.Preference {
14161    field @NonNull public static final String ENABLE_ALERT_VIBRATION_PREF = "enable_alert_vibrate";
14162    field @NonNull public static final String ENABLE_AREA_UPDATE_INFO_PREF = "enable_area_update_info_alerts";
14163    field @NonNull public static final String ENABLE_CMAS_AMBER_PREF = "enable_cmas_amber_alerts";
14164    field @NonNull public static final String ENABLE_CMAS_EXTREME_THREAT_PREF = "enable_cmas_extreme_threat_alerts";
14165    field @NonNull public static final String ENABLE_CMAS_IN_SECOND_LANGUAGE_PREF = "receive_cmas_in_second_language";
14166    field @NonNull public static final String ENABLE_CMAS_PRESIDENTIAL_PREF = "enable_cmas_presidential_alerts";
14167    field @NonNull public static final String ENABLE_CMAS_SEVERE_THREAT_PREF = "enable_cmas_severe_threat_alerts";
14168    field @NonNull public static final String ENABLE_EMERGENCY_PERF = "enable_emergency_alerts";
14169    field @NonNull public static final String ENABLE_PUBLIC_SAFETY_PREF = "enable_public_safety_messages";
14170    field @NonNull public static final String ENABLE_STATE_LOCAL_TEST_PREF = "enable_state_local_test_alerts";
14171    field @NonNull public static final String ENABLE_TEST_ALERT_PREF = "enable_test_alerts";
14172  }
14173
14174  public static final class Telephony.Sms.Intents {
14175    field public static final String ACTION_SMS_EMERGENCY_CB_RECEIVED = "android.provider.action.SMS_EMERGENCY_CB_RECEIVED";
14176  }
14177
14178  public final class TimeZoneRulesDataContract {
14179    field public static final String AUTHORITY = "com.android.timezone";
14180  }
14181
14182  public static final class TimeZoneRulesDataContract.Operation {
14183    field public static final String COLUMN_DISTRO_MAJOR_VERSION = "distro_major_version";
14184    field public static final String COLUMN_DISTRO_MINOR_VERSION = "distro_minor_version";
14185    field public static final String COLUMN_REVISION = "revision";
14186    field public static final String COLUMN_RULES_VERSION = "rules_version";
14187    field public static final String COLUMN_TYPE = "type";
14188    field public static final android.net.Uri CONTENT_URI;
14189    field public static final String TYPE_INSTALL = "INSTALL";
14190    field public static final String TYPE_NO_OP = "NOOP";
14191    field public static final String TYPE_UNINSTALL = "UNINSTALL";
14192  }
14193
14194}
14195
14196package android.safetycenter {
14197
14198  public final class SafetyCenterData implements android.os.Parcelable {
14199    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>);
14200    method public int describeContents();
14201    method @NonNull public java.util.List<android.safetycenter.SafetyCenterEntryOrGroup> getEntriesOrGroups();
14202    method @NonNull public java.util.List<android.safetycenter.SafetyCenterIssue> getIssues();
14203    method @NonNull public java.util.List<android.safetycenter.SafetyCenterStaticEntryGroup> getStaticEntryGroups();
14204    method @NonNull public android.safetycenter.SafetyCenterStatus getStatus();
14205    method public void writeToParcel(@NonNull android.os.Parcel, int);
14206    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterData> CREATOR;
14207  }
14208
14209  public final class SafetyCenterEntry implements android.os.Parcelable {
14210    method public int describeContents();
14211    method @Nullable public android.safetycenter.SafetyCenterEntry.IconAction getIconAction();
14212    method @NonNull public String getId();
14213    method @Nullable public android.app.PendingIntent getPendingIntent();
14214    method public int getSeverityLevel();
14215    method public int getSeverityUnspecifiedIconType();
14216    method @Nullable public CharSequence getSummary();
14217    method @NonNull public CharSequence getTitle();
14218    method public boolean isEnabled();
14219    method public void writeToParcel(@NonNull android.os.Parcel, int);
14220    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterEntry> CREATOR;
14221    field public static final int ENTRY_SEVERITY_LEVEL_CRITICAL_WARNING = 3400; // 0xd48
14222    field public static final int ENTRY_SEVERITY_LEVEL_OK = 3200; // 0xc80
14223    field public static final int ENTRY_SEVERITY_LEVEL_RECOMMENDATION = 3300; // 0xce4
14224    field public static final int ENTRY_SEVERITY_LEVEL_UNKNOWN = 3000; // 0xbb8
14225    field public static final int ENTRY_SEVERITY_LEVEL_UNSPECIFIED = 3100; // 0xc1c
14226    field public static final int SEVERITY_UNSPECIFIED_ICON_TYPE_NO_ICON = 0; // 0x0
14227    field public static final int SEVERITY_UNSPECIFIED_ICON_TYPE_NO_RECOMMENDATION = 2; // 0x2
14228    field public static final int SEVERITY_UNSPECIFIED_ICON_TYPE_PRIVACY = 1; // 0x1
14229  }
14230
14231  public static final class SafetyCenterEntry.Builder {
14232    ctor public SafetyCenterEntry.Builder(@NonNull String, @NonNull CharSequence);
14233    ctor public SafetyCenterEntry.Builder(@NonNull android.safetycenter.SafetyCenterEntry);
14234    method @NonNull public android.safetycenter.SafetyCenterEntry build();
14235    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setEnabled(boolean);
14236    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setIconAction(@Nullable android.safetycenter.SafetyCenterEntry.IconAction);
14237    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setIconAction(int, @NonNull android.app.PendingIntent);
14238    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setId(@NonNull String);
14239    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setPendingIntent(@Nullable android.app.PendingIntent);
14240    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setSeverityLevel(int);
14241    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setSeverityUnspecifiedIconType(int);
14242    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setSummary(@Nullable CharSequence);
14243    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setTitle(@NonNull CharSequence);
14244  }
14245
14246  public static final class SafetyCenterEntry.IconAction implements android.os.Parcelable {
14247    ctor public SafetyCenterEntry.IconAction(int, @NonNull android.app.PendingIntent);
14248    method public int describeContents();
14249    method @NonNull public android.app.PendingIntent getPendingIntent();
14250    method public int getType();
14251    method public void writeToParcel(@NonNull android.os.Parcel, int);
14252    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterEntry.IconAction> CREATOR;
14253    field public static final int ICON_ACTION_TYPE_GEAR = 30100; // 0x7594
14254    field public static final int ICON_ACTION_TYPE_INFO = 30200; // 0x75f8
14255  }
14256
14257  public final class SafetyCenterEntryGroup implements android.os.Parcelable {
14258    method public int describeContents();
14259    method @NonNull public java.util.List<android.safetycenter.SafetyCenterEntry> getEntries();
14260    method @NonNull public String getId();
14261    method public int getSeverityLevel();
14262    method public int getSeverityUnspecifiedIconType();
14263    method @Nullable public CharSequence getSummary();
14264    method @NonNull public CharSequence getTitle();
14265    method public void writeToParcel(@NonNull android.os.Parcel, int);
14266    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterEntryGroup> CREATOR;
14267  }
14268
14269  public static final class SafetyCenterEntryGroup.Builder {
14270    ctor public SafetyCenterEntryGroup.Builder(@NonNull String, @NonNull CharSequence);
14271    ctor public SafetyCenterEntryGroup.Builder(@NonNull android.safetycenter.SafetyCenterEntryGroup);
14272    method @NonNull public android.safetycenter.SafetyCenterEntryGroup build();
14273    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setEntries(@NonNull java.util.List<android.safetycenter.SafetyCenterEntry>);
14274    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setId(@NonNull String);
14275    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setSeverityLevel(int);
14276    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setSeverityUnspecifiedIconType(int);
14277    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setSummary(@Nullable CharSequence);
14278    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setTitle(@NonNull CharSequence);
14279  }
14280
14281  public final class SafetyCenterEntryOrGroup implements android.os.Parcelable {
14282    ctor public SafetyCenterEntryOrGroup(@NonNull android.safetycenter.SafetyCenterEntry);
14283    ctor public SafetyCenterEntryOrGroup(@NonNull android.safetycenter.SafetyCenterEntryGroup);
14284    method public int describeContents();
14285    method @Nullable public android.safetycenter.SafetyCenterEntry getEntry();
14286    method @Nullable public android.safetycenter.SafetyCenterEntryGroup getEntryGroup();
14287    method public void writeToParcel(@NonNull android.os.Parcel, int);
14288    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterEntryOrGroup> CREATOR;
14289  }
14290
14291  public final class SafetyCenterErrorDetails implements android.os.Parcelable {
14292    ctor public SafetyCenterErrorDetails(@NonNull CharSequence);
14293    method public int describeContents();
14294    method @NonNull public CharSequence getErrorMessage();
14295    method public void writeToParcel(@NonNull android.os.Parcel, int);
14296    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterErrorDetails> CREATOR;
14297  }
14298
14299  public final class SafetyCenterIssue implements android.os.Parcelable {
14300    method public int describeContents();
14301    method @NonNull public java.util.List<android.safetycenter.SafetyCenterIssue.Action> getActions();
14302    method @NonNull public String getId();
14303    method public int getSeverityLevel();
14304    method @Nullable public CharSequence getSubtitle();
14305    method @NonNull public CharSequence getSummary();
14306    method @NonNull public CharSequence getTitle();
14307    method public boolean isDismissible();
14308    method public boolean shouldConfirmDismissal();
14309    method public void writeToParcel(@NonNull android.os.Parcel, int);
14310    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterIssue> CREATOR;
14311    field public static final int ISSUE_SEVERITY_LEVEL_CRITICAL_WARNING = 2300; // 0x8fc
14312    field public static final int ISSUE_SEVERITY_LEVEL_OK = 2100; // 0x834
14313    field public static final int ISSUE_SEVERITY_LEVEL_RECOMMENDATION = 2200; // 0x898
14314  }
14315
14316  public static final class SafetyCenterIssue.Action implements android.os.Parcelable {
14317    method public int describeContents();
14318    method @NonNull public String getId();
14319    method @NonNull public CharSequence getLabel();
14320    method @NonNull public android.app.PendingIntent getPendingIntent();
14321    method @Nullable public CharSequence getSuccessMessage();
14322    method public boolean isInFlight();
14323    method public boolean willResolve();
14324    method public void writeToParcel(@NonNull android.os.Parcel, int);
14325    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterIssue.Action> CREATOR;
14326  }
14327
14328  public static final class SafetyCenterIssue.Action.Builder {
14329    ctor public SafetyCenterIssue.Action.Builder(@NonNull String, @NonNull CharSequence, @NonNull android.app.PendingIntent);
14330    method @NonNull public android.safetycenter.SafetyCenterIssue.Action build();
14331    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setId(@NonNull String);
14332    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setIsInFlight(boolean);
14333    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setLabel(@NonNull CharSequence);
14334    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setPendingIntent(@NonNull android.app.PendingIntent);
14335    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setSuccessMessage(@Nullable CharSequence);
14336    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setWillResolve(boolean);
14337  }
14338
14339  public static final class SafetyCenterIssue.Builder {
14340    ctor public SafetyCenterIssue.Builder(@NonNull String, @NonNull CharSequence, @NonNull CharSequence);
14341    ctor public SafetyCenterIssue.Builder(@NonNull android.safetycenter.SafetyCenterIssue);
14342    method @NonNull public android.safetycenter.SafetyCenterIssue build();
14343    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setActions(@NonNull java.util.List<android.safetycenter.SafetyCenterIssue.Action>);
14344    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setDismissible(boolean);
14345    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setId(@NonNull String);
14346    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setSeverityLevel(int);
14347    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setShouldConfirmDismissal(boolean);
14348    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setSubtitle(@Nullable CharSequence);
14349    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setSummary(@NonNull CharSequence);
14350    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setTitle(@NonNull CharSequence);
14351  }
14352
14353  public final class SafetyCenterManager {
14354    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void addOnSafetyCenterDataChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.safetycenter.SafetyCenterManager.OnSafetyCenterDataChangedListener);
14355    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void clearAllSafetySourceDataForTests();
14356    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void clearSafetyCenterConfigForTests();
14357    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void dismissSafetyCenterIssue(@NonNull String);
14358    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void executeSafetyCenterIssueAction(@NonNull String, @NonNull String);
14359    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public android.safetycenter.config.SafetyCenterConfig getSafetyCenterConfig();
14360    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public android.safetycenter.SafetyCenterData getSafetyCenterData();
14361    method @Nullable @RequiresPermission(android.Manifest.permission.SEND_SAFETY_CENTER_UPDATE) public android.safetycenter.SafetySourceData getSafetySourceData(@NonNull String);
14362    method @RequiresPermission(anyOf={android.Manifest.permission.READ_SAFETY_CENTER_STATUS, android.Manifest.permission.SEND_SAFETY_CENTER_UPDATE}) public boolean isSafetyCenterEnabled();
14363    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void refreshSafetySources(int);
14364    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void removeOnSafetyCenterDataChangedListener(@NonNull android.safetycenter.SafetyCenterManager.OnSafetyCenterDataChangedListener);
14365    method @RequiresPermission(android.Manifest.permission.SEND_SAFETY_CENTER_UPDATE) public void reportSafetySourceError(@NonNull String, @NonNull android.safetycenter.SafetySourceErrorDetails);
14366    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void setSafetyCenterConfigForTests(@NonNull android.safetycenter.config.SafetyCenterConfig);
14367    method @RequiresPermission(android.Manifest.permission.SEND_SAFETY_CENTER_UPDATE) public void setSafetySourceData(@NonNull String, @Nullable android.safetycenter.SafetySourceData, @NonNull android.safetycenter.SafetyEvent);
14368    field public static final String ACTION_REFRESH_SAFETY_SOURCES = "android.safetycenter.action.REFRESH_SAFETY_SOURCES";
14369    field public static final String ACTION_SAFETY_CENTER_ENABLED_CHANGED = "android.safetycenter.action.SAFETY_CENTER_ENABLED_CHANGED";
14370    field public static final int EXTRA_REFRESH_REQUEST_TYPE_FETCH_FRESH_DATA = 0; // 0x0
14371    field public static final int EXTRA_REFRESH_REQUEST_TYPE_GET_DATA = 1; // 0x1
14372    field public static final String EXTRA_REFRESH_SAFETY_SOURCES_BROADCAST_ID = "android.safetycenter.extra.REFRESH_SAFETY_SOURCES_BROADCAST_ID";
14373    field public static final String EXTRA_REFRESH_SAFETY_SOURCES_REQUEST_TYPE = "android.safetycenter.extra.REFRESH_SAFETY_SOURCES_REQUEST_TYPE";
14374    field public static final String EXTRA_REFRESH_SAFETY_SOURCE_IDS = "android.safetycenter.extra.REFRESH_SAFETY_SOURCE_IDS";
14375    field public static final String EXTRA_SAFETY_SOURCE_ID = "android.safetycenter.extra.SAFETY_SOURCE_ID";
14376    field public static final String EXTRA_SAFETY_SOURCE_ISSUE_ID = "android.safetycenter.extra.SAFETY_SOURCE_ISSUE_ID";
14377    field public static final String EXTRA_SAFETY_SOURCE_USER_HANDLE = "android.safetycenter.extra.SAFETY_SOURCE_USER_HANDLE";
14378    field public static final int REFRESH_REASON_DEVICE_LOCALE_CHANGE = 400; // 0x190
14379    field public static final int REFRESH_REASON_DEVICE_REBOOT = 300; // 0x12c
14380    field public static final int REFRESH_REASON_OTHER = 600; // 0x258
14381    field public static final int REFRESH_REASON_PAGE_OPEN = 100; // 0x64
14382    field public static final int REFRESH_REASON_RESCAN_BUTTON_CLICK = 200; // 0xc8
14383    field public static final int REFRESH_REASON_SAFETY_CENTER_ENABLED = 500; // 0x1f4
14384  }
14385
14386  public static interface SafetyCenterManager.OnSafetyCenterDataChangedListener {
14387    method public default void onError(@NonNull android.safetycenter.SafetyCenterErrorDetails);
14388    method public void onSafetyCenterDataChanged(@NonNull android.safetycenter.SafetyCenterData);
14389  }
14390
14391  public final class SafetyCenterStaticEntry implements android.os.Parcelable {
14392    method public int describeContents();
14393    method @Nullable public android.app.PendingIntent getPendingIntent();
14394    method @Nullable public CharSequence getSummary();
14395    method @NonNull public CharSequence getTitle();
14396    method public void writeToParcel(@NonNull android.os.Parcel, int);
14397    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterStaticEntry> CREATOR;
14398  }
14399
14400  public static final class SafetyCenterStaticEntry.Builder {
14401    ctor public SafetyCenterStaticEntry.Builder(@NonNull CharSequence);
14402    ctor public SafetyCenterStaticEntry.Builder(@NonNull android.safetycenter.SafetyCenterStaticEntry);
14403    method @NonNull public android.safetycenter.SafetyCenterStaticEntry build();
14404    method @NonNull public android.safetycenter.SafetyCenterStaticEntry.Builder setPendingIntent(@Nullable android.app.PendingIntent);
14405    method @NonNull public android.safetycenter.SafetyCenterStaticEntry.Builder setSummary(@Nullable CharSequence);
14406    method @NonNull public android.safetycenter.SafetyCenterStaticEntry.Builder setTitle(@NonNull CharSequence);
14407  }
14408
14409  public final class SafetyCenterStaticEntryGroup implements android.os.Parcelable {
14410    ctor public SafetyCenterStaticEntryGroup(@NonNull CharSequence, @NonNull java.util.List<android.safetycenter.SafetyCenterStaticEntry>);
14411    method public int describeContents();
14412    method @NonNull public java.util.List<android.safetycenter.SafetyCenterStaticEntry> getStaticEntries();
14413    method @NonNull public CharSequence getTitle();
14414    method public void writeToParcel(@NonNull android.os.Parcel, int);
14415    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterStaticEntryGroup> CREATOR;
14416  }
14417
14418  public final class SafetyCenterStatus implements android.os.Parcelable {
14419    method public int describeContents();
14420    method public int getRefreshStatus();
14421    method public int getSeverityLevel();
14422    method @NonNull public CharSequence getSummary();
14423    method @NonNull public CharSequence getTitle();
14424    method public void writeToParcel(@NonNull android.os.Parcel, int);
14425    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterStatus> CREATOR;
14426    field public static final int OVERALL_SEVERITY_LEVEL_CRITICAL_WARNING = 1300; // 0x514
14427    field public static final int OVERALL_SEVERITY_LEVEL_OK = 1100; // 0x44c
14428    field public static final int OVERALL_SEVERITY_LEVEL_RECOMMENDATION = 1200; // 0x4b0
14429    field public static final int OVERALL_SEVERITY_LEVEL_UNKNOWN = 1000; // 0x3e8
14430    field public static final int REFRESH_STATUS_DATA_FETCH_IN_PROGRESS = 10100; // 0x2774
14431    field public static final int REFRESH_STATUS_FULL_RESCAN_IN_PROGRESS = 10200; // 0x27d8
14432    field public static final int REFRESH_STATUS_NONE = 0; // 0x0
14433  }
14434
14435  public static final class SafetyCenterStatus.Builder {
14436    ctor public SafetyCenterStatus.Builder(@NonNull CharSequence, @NonNull CharSequence);
14437    ctor public SafetyCenterStatus.Builder(@NonNull android.safetycenter.SafetyCenterStatus);
14438    method @NonNull public android.safetycenter.SafetyCenterStatus build();
14439    method @NonNull public android.safetycenter.SafetyCenterStatus.Builder setRefreshStatus(int);
14440    method @NonNull public android.safetycenter.SafetyCenterStatus.Builder setSeverityLevel(int);
14441    method @NonNull public android.safetycenter.SafetyCenterStatus.Builder setSummary(@NonNull CharSequence);
14442    method @NonNull public android.safetycenter.SafetyCenterStatus.Builder setTitle(@NonNull CharSequence);
14443  }
14444
14445  public final class SafetyEvent implements android.os.Parcelable {
14446    method public int describeContents();
14447    method @Nullable public String getRefreshBroadcastId();
14448    method @Nullable public String getSafetySourceIssueActionId();
14449    method @Nullable public String getSafetySourceIssueId();
14450    method public int getType();
14451    method public void writeToParcel(@NonNull android.os.Parcel, int);
14452    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyEvent> CREATOR;
14453    field public static final int SAFETY_EVENT_TYPE_DEVICE_LOCALE_CHANGED = 500; // 0x1f4
14454    field public static final int SAFETY_EVENT_TYPE_DEVICE_REBOOTED = 600; // 0x258
14455    field public static final int SAFETY_EVENT_TYPE_REFRESH_REQUESTED = 200; // 0xc8
14456    field public static final int SAFETY_EVENT_TYPE_RESOLVING_ACTION_FAILED = 400; // 0x190
14457    field public static final int SAFETY_EVENT_TYPE_RESOLVING_ACTION_SUCCEEDED = 300; // 0x12c
14458    field public static final int SAFETY_EVENT_TYPE_SOURCE_STATE_CHANGED = 100; // 0x64
14459  }
14460
14461  public static final class SafetyEvent.Builder {
14462    ctor public SafetyEvent.Builder(int);
14463    method @NonNull public android.safetycenter.SafetyEvent build();
14464    method @NonNull public android.safetycenter.SafetyEvent.Builder setRefreshBroadcastId(@Nullable String);
14465    method @NonNull public android.safetycenter.SafetyEvent.Builder setSafetySourceIssueActionId(@Nullable String);
14466    method @NonNull public android.safetycenter.SafetyEvent.Builder setSafetySourceIssueId(@Nullable String);
14467  }
14468
14469  public final class SafetySourceData implements android.os.Parcelable {
14470    method public int describeContents();
14471    method @NonNull public java.util.List<android.safetycenter.SafetySourceIssue> getIssues();
14472    method @Nullable public android.safetycenter.SafetySourceStatus getStatus();
14473    method public void writeToParcel(@NonNull android.os.Parcel, int);
14474    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceData> CREATOR;
14475    field public static final int SEVERITY_LEVEL_CRITICAL_WARNING = 400; // 0x190
14476    field public static final int SEVERITY_LEVEL_INFORMATION = 200; // 0xc8
14477    field public static final int SEVERITY_LEVEL_RECOMMENDATION = 300; // 0x12c
14478    field public static final int SEVERITY_LEVEL_UNSPECIFIED = 100; // 0x64
14479  }
14480
14481  public static final class SafetySourceData.Builder {
14482    ctor public SafetySourceData.Builder();
14483    method @NonNull public android.safetycenter.SafetySourceData.Builder addIssue(@NonNull android.safetycenter.SafetySourceIssue);
14484    method @NonNull public android.safetycenter.SafetySourceData build();
14485    method @NonNull public android.safetycenter.SafetySourceData.Builder clearIssues();
14486    method @NonNull public android.safetycenter.SafetySourceData.Builder setStatus(@Nullable android.safetycenter.SafetySourceStatus);
14487  }
14488
14489  public final class SafetySourceErrorDetails implements android.os.Parcelable {
14490    ctor public SafetySourceErrorDetails(@NonNull android.safetycenter.SafetyEvent);
14491    method public int describeContents();
14492    method @NonNull public android.safetycenter.SafetyEvent getSafetyEvent();
14493    method public void writeToParcel(@NonNull android.os.Parcel, int);
14494    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceErrorDetails> CREATOR;
14495  }
14496
14497  public final class SafetySourceIssue implements android.os.Parcelable {
14498    method public int describeContents();
14499    method @NonNull public java.util.List<android.safetycenter.SafetySourceIssue.Action> getActions();
14500    method @NonNull public String getId();
14501    method public int getIssueCategory();
14502    method @NonNull public String getIssueTypeId();
14503    method @Nullable public android.app.PendingIntent getOnDismissPendingIntent();
14504    method public int getSeverityLevel();
14505    method @Nullable public CharSequence getSubtitle();
14506    method @NonNull public CharSequence getSummary();
14507    method @NonNull public CharSequence getTitle();
14508    method public void writeToParcel(@NonNull android.os.Parcel, int);
14509    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceIssue> CREATOR;
14510    field public static final int ISSUE_CATEGORY_ACCOUNT = 200; // 0xc8
14511    field public static final int ISSUE_CATEGORY_DEVICE = 100; // 0x64
14512    field public static final int ISSUE_CATEGORY_GENERAL = 300; // 0x12c
14513  }
14514
14515  public static final class SafetySourceIssue.Action implements android.os.Parcelable {
14516    method public int describeContents();
14517    method @NonNull public String getId();
14518    method @NonNull public CharSequence getLabel();
14519    method @NonNull public android.app.PendingIntent getPendingIntent();
14520    method @Nullable public CharSequence getSuccessMessage();
14521    method public boolean willResolve();
14522    method public void writeToParcel(@NonNull android.os.Parcel, int);
14523    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceIssue.Action> CREATOR;
14524  }
14525
14526  public static final class SafetySourceIssue.Action.Builder {
14527    ctor public SafetySourceIssue.Action.Builder(@NonNull String, @NonNull CharSequence, @NonNull android.app.PendingIntent);
14528    method @NonNull public android.safetycenter.SafetySourceIssue.Action build();
14529    method @NonNull public android.safetycenter.SafetySourceIssue.Action.Builder setSuccessMessage(@Nullable CharSequence);
14530    method @NonNull public android.safetycenter.SafetySourceIssue.Action.Builder setWillResolve(boolean);
14531  }
14532
14533  public static final class SafetySourceIssue.Builder {
14534    ctor public SafetySourceIssue.Builder(@NonNull String, @NonNull CharSequence, @NonNull CharSequence, int, @NonNull String);
14535    method @NonNull public android.safetycenter.SafetySourceIssue.Builder addAction(@NonNull android.safetycenter.SafetySourceIssue.Action);
14536    method @NonNull public android.safetycenter.SafetySourceIssue build();
14537    method @NonNull public android.safetycenter.SafetySourceIssue.Builder clearActions();
14538    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setIssueCategory(int);
14539    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setOnDismissPendingIntent(@Nullable android.app.PendingIntent);
14540    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setSubtitle(@Nullable CharSequence);
14541  }
14542
14543  public final class SafetySourceStatus implements android.os.Parcelable {
14544    method public int describeContents();
14545    method @Nullable public android.safetycenter.SafetySourceStatus.IconAction getIconAction();
14546    method @Nullable public android.app.PendingIntent getPendingIntent();
14547    method public int getSeverityLevel();
14548    method @NonNull public CharSequence getSummary();
14549    method @NonNull public CharSequence getTitle();
14550    method public boolean isEnabled();
14551    method public void writeToParcel(@NonNull android.os.Parcel, int);
14552    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceStatus> CREATOR;
14553  }
14554
14555  public static final class SafetySourceStatus.Builder {
14556    ctor public SafetySourceStatus.Builder(@NonNull CharSequence, @NonNull CharSequence, int);
14557    method @NonNull public android.safetycenter.SafetySourceStatus build();
14558    method @NonNull public android.safetycenter.SafetySourceStatus.Builder setEnabled(boolean);
14559    method @NonNull public android.safetycenter.SafetySourceStatus.Builder setIconAction(@Nullable android.safetycenter.SafetySourceStatus.IconAction);
14560    method @NonNull public android.safetycenter.SafetySourceStatus.Builder setPendingIntent(@Nullable android.app.PendingIntent);
14561  }
14562
14563  public static final class SafetySourceStatus.IconAction implements android.os.Parcelable {
14564    ctor public SafetySourceStatus.IconAction(int, @NonNull android.app.PendingIntent);
14565    method public int describeContents();
14566    method public int getIconType();
14567    method @NonNull public android.app.PendingIntent getPendingIntent();
14568    method public void writeToParcel(@NonNull android.os.Parcel, int);
14569    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceStatus.IconAction> CREATOR;
14570    field public static final int ICON_TYPE_GEAR = 100; // 0x64
14571    field public static final int ICON_TYPE_INFO = 200; // 0xc8
14572  }
14573
14574}
14575
14576package android.safetycenter.config {
14577
14578  public final class SafetyCenterConfig implements android.os.Parcelable {
14579    method public int describeContents();
14580    method @NonNull public java.util.List<android.safetycenter.config.SafetySourcesGroup> getSafetySourcesGroups();
14581    method public void writeToParcel(@NonNull android.os.Parcel, int);
14582    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.config.SafetyCenterConfig> CREATOR;
14583  }
14584
14585  public static final class SafetyCenterConfig.Builder {
14586    ctor public SafetyCenterConfig.Builder();
14587    method @NonNull public android.safetycenter.config.SafetyCenterConfig.Builder addSafetySourcesGroup(@NonNull android.safetycenter.config.SafetySourcesGroup);
14588    method @NonNull public android.safetycenter.config.SafetyCenterConfig build();
14589  }
14590
14591  public final class SafetySource implements android.os.Parcelable {
14592    method public int describeContents();
14593    method @NonNull public String getId();
14594    method public int getInitialDisplayState();
14595    method @Nullable public String getIntentAction();
14596    method public int getMaxSeverityLevel();
14597    method @NonNull public String getPackageName();
14598    method public int getProfile();
14599    method @StringRes public int getSearchTermsResId();
14600    method @StringRes public int getSummaryResId();
14601    method @StringRes public int getTitleForWorkResId();
14602    method @StringRes public int getTitleResId();
14603    method public int getType();
14604    method public boolean isLoggingAllowed();
14605    method public boolean isRefreshOnPageOpenAllowed();
14606    method public void writeToParcel(@NonNull android.os.Parcel, int);
14607    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.config.SafetySource> CREATOR;
14608    field public static final int INITIAL_DISPLAY_STATE_DISABLED = 1; // 0x1
14609    field public static final int INITIAL_DISPLAY_STATE_ENABLED = 0; // 0x0
14610    field public static final int INITIAL_DISPLAY_STATE_HIDDEN = 2; // 0x2
14611    field public static final int PROFILE_ALL = 2; // 0x2
14612    field public static final int PROFILE_NONE = 0; // 0x0
14613    field public static final int PROFILE_PRIMARY = 1; // 0x1
14614    field public static final int SAFETY_SOURCE_TYPE_DYNAMIC = 2; // 0x2
14615    field public static final int SAFETY_SOURCE_TYPE_ISSUE_ONLY = 3; // 0x3
14616    field public static final int SAFETY_SOURCE_TYPE_STATIC = 1; // 0x1
14617  }
14618
14619  public static final class SafetySource.Builder {
14620    ctor public SafetySource.Builder(int);
14621    method @NonNull public android.safetycenter.config.SafetySource build();
14622    method @NonNull public android.safetycenter.config.SafetySource.Builder setId(@Nullable String);
14623    method @NonNull public android.safetycenter.config.SafetySource.Builder setInitialDisplayState(int);
14624    method @NonNull public android.safetycenter.config.SafetySource.Builder setIntentAction(@Nullable String);
14625    method @NonNull public android.safetycenter.config.SafetySource.Builder setLoggingAllowed(boolean);
14626    method @NonNull public android.safetycenter.config.SafetySource.Builder setMaxSeverityLevel(int);
14627    method @NonNull public android.safetycenter.config.SafetySource.Builder setPackageName(@Nullable String);
14628    method @NonNull public android.safetycenter.config.SafetySource.Builder setProfile(int);
14629    method @NonNull public android.safetycenter.config.SafetySource.Builder setRefreshOnPageOpenAllowed(boolean);
14630    method @NonNull public android.safetycenter.config.SafetySource.Builder setSearchTermsResId(@StringRes int);
14631    method @NonNull public android.safetycenter.config.SafetySource.Builder setSummaryResId(@StringRes int);
14632    method @NonNull public android.safetycenter.config.SafetySource.Builder setTitleForWorkResId(@StringRes int);
14633    method @NonNull public android.safetycenter.config.SafetySource.Builder setTitleResId(@StringRes int);
14634  }
14635
14636  public final class SafetySourcesGroup implements android.os.Parcelable {
14637    method public int describeContents();
14638    method @NonNull public String getId();
14639    method @NonNull public java.util.List<android.safetycenter.config.SafetySource> getSafetySources();
14640    method public int getStatelessIconType();
14641    method @StringRes public int getSummaryResId();
14642    method @StringRes public int getTitleResId();
14643    method public int getType();
14644    method public void writeToParcel(@NonNull android.os.Parcel, int);
14645    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.config.SafetySourcesGroup> CREATOR;
14646    field public static final int SAFETY_SOURCES_GROUP_TYPE_COLLAPSIBLE = 0; // 0x0
14647    field public static final int SAFETY_SOURCES_GROUP_TYPE_HIDDEN = 2; // 0x2
14648    field public static final int SAFETY_SOURCES_GROUP_TYPE_RIGID = 1; // 0x1
14649    field public static final int STATELESS_ICON_TYPE_NONE = 0; // 0x0
14650    field public static final int STATELESS_ICON_TYPE_PRIVACY = 1; // 0x1
14651  }
14652
14653  public static final class SafetySourcesGroup.Builder {
14654    ctor public SafetySourcesGroup.Builder();
14655    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder addSafetySource(@NonNull android.safetycenter.config.SafetySource);
14656    method @NonNull public android.safetycenter.config.SafetySourcesGroup build();
14657    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setId(@Nullable String);
14658    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setStatelessIconType(int);
14659    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setSummaryResId(@StringRes int);
14660    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setTitleResId(@StringRes int);
14661  }
14662
14663}
14664
14665package android.scheduling {
14666
14667  public final class RebootReadinessManager {
14668    method @RequiresPermission(android.Manifest.permission.SIGNAL_REBOOT_READINESS) public void addRequestRebootReadinessStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.scheduling.RebootReadinessManager.RequestRebootReadinessStatusListener);
14669    method @RequiresPermission(android.Manifest.permission.REBOOT) public void cancelPendingReboot();
14670    method @RequiresPermission(android.Manifest.permission.REBOOT) public boolean isReadyToReboot();
14671    method @RequiresPermission(android.Manifest.permission.REBOOT) public void markRebootPending();
14672    method @RequiresPermission(android.Manifest.permission.SIGNAL_REBOOT_READINESS) public void removeRequestRebootReadinessStatusListener(@NonNull android.scheduling.RebootReadinessManager.RequestRebootReadinessStatusListener);
14673    field public static final String ACTION_REBOOT_READY = "android.scheduling.action.REBOOT_READY";
14674    field public static final String EXTRA_IS_READY_TO_REBOOT = "android.scheduling.extra.IS_READY_TO_REBOOT";
14675  }
14676
14677  public static final class RebootReadinessManager.RebootReadinessStatus {
14678    ctor public RebootReadinessManager.RebootReadinessStatus(boolean, long, @NonNull String);
14679    method public long getEstimatedFinishTime();
14680    method @NonNull public String getLogSubsystemName();
14681    method public boolean isReadyToReboot();
14682  }
14683
14684  public static interface RebootReadinessManager.RequestRebootReadinessStatusListener {
14685    method @NonNull public android.scheduling.RebootReadinessManager.RebootReadinessStatus onRequestRebootReadinessStatus();
14686  }
14687
14688}
14689
14690package android.se.omapi {
14691
14692  public final class Reader {
14693    method @RequiresPermission(android.Manifest.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION) public boolean reset();
14694  }
14695
14696}
14697
14698package android.security {
14699
14700  public final class KeyChain {
14701    method @Nullable @WorkerThread public static String getWifiKeyGrantAsUser(@NonNull android.content.Context, @NonNull android.os.UserHandle, @NonNull String);
14702    method @WorkerThread public static boolean hasWifiKeyGrantAsUser(@NonNull android.content.Context, @NonNull android.os.UserHandle, @NonNull String);
14703  }
14704
14705}
14706
14707package android.security.keystore {
14708
14709  public class AndroidKeyStoreProvider extends java.security.Provider {
14710    method @NonNull public static java.security.KeyStore getKeyStoreForUid(int) throws java.security.KeyStoreException, java.security.NoSuchProviderException;
14711  }
14712
14713  public abstract class AttestationUtils {
14714    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;
14715    field public static final int ID_TYPE_IMEI = 2; // 0x2
14716    field public static final int ID_TYPE_MEID = 3; // 0x3
14717    field public static final int ID_TYPE_SERIAL = 1; // 0x1
14718    field public static final int USE_INDIVIDUAL_ATTESTATION = 4; // 0x4
14719  }
14720
14721  public class DeviceIdAttestationException extends java.lang.Exception {
14722    ctor public DeviceIdAttestationException(@Nullable String);
14723    ctor public DeviceIdAttestationException(@Nullable String, @Nullable Throwable);
14724  }
14725
14726  public final class KeyGenParameterSpec implements java.security.spec.AlgorithmParameterSpec {
14727    method @NonNull public int[] getAttestationIds();
14728    method public int getNamespace();
14729  }
14730
14731  public static final class KeyGenParameterSpec.Builder {
14732    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setAttestationIds(@NonNull int[]);
14733    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setNamespace(int);
14734    method @Deprecated @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUid(int);
14735  }
14736
14737  public abstract class KeyProperties {
14738    field public static final int NAMESPACE_APPLICATION = -1; // 0xffffffff
14739    field public static final int NAMESPACE_WIFI = 102; // 0x66
14740  }
14741
14742}
14743
14744package android.security.keystore.recovery {
14745
14746  public class DecryptionFailedException extends java.security.GeneralSecurityException {
14747    ctor public DecryptionFailedException(String);
14748  }
14749
14750  public class InternalRecoveryServiceException extends java.security.GeneralSecurityException {
14751    ctor public InternalRecoveryServiceException(String);
14752    ctor public InternalRecoveryServiceException(String, Throwable);
14753  }
14754
14755  public final class KeyChainProtectionParams implements android.os.Parcelable {
14756    method public void clearSecret();
14757    method public int describeContents();
14758    method @NonNull public android.security.keystore.recovery.KeyDerivationParams getKeyDerivationParams();
14759    method public int getLockScreenUiFormat();
14760    method @NonNull public byte[] getSecret();
14761    method public int getUserSecretType();
14762    method public void writeToParcel(android.os.Parcel, int);
14763    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyChainProtectionParams> CREATOR;
14764    field public static final int TYPE_LOCKSCREEN = 100; // 0x64
14765    field public static final int UI_FORMAT_PASSWORD = 2; // 0x2
14766    field public static final int UI_FORMAT_PATTERN = 3; // 0x3
14767    field public static final int UI_FORMAT_PIN = 1; // 0x1
14768  }
14769
14770  public static class KeyChainProtectionParams.Builder {
14771    ctor public KeyChainProtectionParams.Builder();
14772    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams build();
14773    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setKeyDerivationParams(@NonNull android.security.keystore.recovery.KeyDerivationParams);
14774    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setLockScreenUiFormat(int);
14775    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setSecret(@NonNull byte[]);
14776    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setUserSecretType(int);
14777  }
14778
14779  public final class KeyChainSnapshot implements android.os.Parcelable {
14780    method public int describeContents();
14781    method public long getCounterId();
14782    method @NonNull public byte[] getEncryptedRecoveryKeyBlob();
14783    method @NonNull public java.util.List<android.security.keystore.recovery.KeyChainProtectionParams> getKeyChainProtectionParams();
14784    method public int getMaxAttempts();
14785    method @NonNull public byte[] getServerParams();
14786    method public int getSnapshotVersion();
14787    method @NonNull public java.security.cert.CertPath getTrustedHardwareCertPath();
14788    method @NonNull public java.util.List<android.security.keystore.recovery.WrappedApplicationKey> getWrappedApplicationKeys();
14789    method public void writeToParcel(android.os.Parcel, int);
14790    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyChainSnapshot> CREATOR;
14791  }
14792
14793  public final class KeyDerivationParams implements android.os.Parcelable {
14794    method @NonNull public static android.security.keystore.recovery.KeyDerivationParams createScryptParams(@NonNull byte[], int);
14795    method @NonNull public static android.security.keystore.recovery.KeyDerivationParams createSha256Params(@NonNull byte[]);
14796    method public int describeContents();
14797    method public int getAlgorithm();
14798    method public int getMemoryDifficulty();
14799    method @NonNull public byte[] getSalt();
14800    method public void writeToParcel(android.os.Parcel, int);
14801    field public static final int ALGORITHM_SCRYPT = 2; // 0x2
14802    field public static final int ALGORITHM_SHA256 = 1; // 0x1
14803    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyDerivationParams> CREATOR;
14804  }
14805
14806  public class LockScreenRequiredException extends java.security.GeneralSecurityException {
14807    ctor public LockScreenRequiredException(String);
14808  }
14809
14810  public class RecoveryController {
14811    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public android.security.keystore.recovery.RecoverySession createRecoverySession();
14812    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;
14813    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;
14814    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.util.List<java.lang.String> getAliases() throws android.security.keystore.recovery.InternalRecoveryServiceException;
14815    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public static android.security.keystore.recovery.RecoveryController getInstance(@NonNull android.content.Context);
14816    method @Nullable @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.security.Key getKey(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException, java.security.UnrecoverableKeyException;
14817    method @Nullable @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public android.security.keystore.recovery.KeyChainSnapshot getKeyChainSnapshot() throws android.security.keystore.recovery.InternalRecoveryServiceException;
14818    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public int[] getRecoverySecretTypes() throws android.security.keystore.recovery.InternalRecoveryServiceException;
14819    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public int getRecoveryStatus(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException;
14820    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.util.Map<java.lang.String,java.security.cert.X509Certificate> getRootCertificates();
14821    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;
14822    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;
14823    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;
14824    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public static boolean isRecoverableKeyStoreEnabled(@NonNull android.content.Context);
14825    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void removeKey(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException;
14826    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setRecoverySecretTypes(@NonNull int[]) throws android.security.keystore.recovery.InternalRecoveryServiceException;
14827    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setRecoveryStatus(@NonNull String, int) throws android.security.keystore.recovery.InternalRecoveryServiceException;
14828    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setServerParams(@NonNull byte[]) throws android.security.keystore.recovery.InternalRecoveryServiceException;
14829    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setSnapshotCreatedPendingIntent(@Nullable android.app.PendingIntent) throws android.security.keystore.recovery.InternalRecoveryServiceException;
14830    field public static final int RECOVERY_STATUS_PERMANENT_FAILURE = 3; // 0x3
14831    field public static final int RECOVERY_STATUS_SYNCED = 0; // 0x0
14832    field public static final int RECOVERY_STATUS_SYNC_IN_PROGRESS = 1; // 0x1
14833  }
14834
14835  public class RecoverySession implements java.lang.AutoCloseable {
14836    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void close();
14837    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;
14838    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;
14839  }
14840
14841  public class SessionExpiredException extends java.security.GeneralSecurityException {
14842    ctor public SessionExpiredException(String);
14843  }
14844
14845  public final class WrappedApplicationKey implements android.os.Parcelable {
14846    method public int describeContents();
14847    method @NonNull public String getAlias();
14848    method @NonNull public byte[] getEncryptedKeyMaterial();
14849    method @Nullable public byte[] getMetadata();
14850    method public void writeToParcel(android.os.Parcel, int);
14851    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.WrappedApplicationKey> CREATOR;
14852  }
14853
14854  public static class WrappedApplicationKey.Builder {
14855    ctor public WrappedApplicationKey.Builder();
14856    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey build();
14857    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setAlias(@NonNull String);
14858    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setEncryptedKeyMaterial(@NonNull byte[]);
14859    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setMetadata(@Nullable byte[]);
14860  }
14861
14862}
14863
14864package android.service.ambientcontext {
14865
14866  public final class AmbientContextDetectionResult implements android.os.Parcelable {
14867    method public int describeContents();
14868    method @NonNull public java.util.List<android.app.ambientcontext.AmbientContextEvent> getEvents();
14869    method @NonNull public String getPackageName();
14870    method public void writeToParcel(@NonNull android.os.Parcel, int);
14871    field @NonNull public static final android.os.Parcelable.Creator<android.service.ambientcontext.AmbientContextDetectionResult> CREATOR;
14872  }
14873
14874  public static final class AmbientContextDetectionResult.Builder {
14875    ctor public AmbientContextDetectionResult.Builder(@NonNull String);
14876    method @NonNull public android.service.ambientcontext.AmbientContextDetectionResult.Builder addEvent(@NonNull android.app.ambientcontext.AmbientContextEvent);
14877    method @NonNull public android.service.ambientcontext.AmbientContextDetectionResult.Builder addEvents(@NonNull java.util.List<android.app.ambientcontext.AmbientContextEvent>);
14878    method @NonNull public android.service.ambientcontext.AmbientContextDetectionResult build();
14879    method @NonNull public android.service.ambientcontext.AmbientContextDetectionResult.Builder clearEvents();
14880  }
14881
14882  public abstract class AmbientContextDetectionService extends android.app.Service {
14883    ctor public AmbientContextDetectionService();
14884    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
14885    method @BinderThread public abstract void onQueryServiceStatus(@NonNull int[], @NonNull String, @NonNull java.util.function.Consumer<android.service.ambientcontext.AmbientContextDetectionServiceStatus>);
14886    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>);
14887    method public abstract void onStopDetection(@NonNull String);
14888    field public static final String SERVICE_INTERFACE = "android.service.ambientcontext.AmbientContextDetectionService";
14889  }
14890
14891  public final class AmbientContextDetectionServiceStatus implements android.os.Parcelable {
14892    method public int describeContents();
14893    method @NonNull public String getPackageName();
14894    method public int getStatusCode();
14895    method public void writeToParcel(@NonNull android.os.Parcel, int);
14896    field @NonNull public static final android.os.Parcelable.Creator<android.service.ambientcontext.AmbientContextDetectionServiceStatus> CREATOR;
14897  }
14898
14899  public static final class AmbientContextDetectionServiceStatus.Builder {
14900    ctor public AmbientContextDetectionServiceStatus.Builder(@NonNull String);
14901    method @NonNull public android.service.ambientcontext.AmbientContextDetectionServiceStatus build();
14902    method @NonNull public android.service.ambientcontext.AmbientContextDetectionServiceStatus.Builder setStatusCode(int);
14903  }
14904
14905}
14906
14907package android.service.appprediction {
14908
14909  public abstract class AppPredictionService extends android.app.Service {
14910    ctor public AppPredictionService();
14911    method @MainThread public abstract void onAppTargetEvent(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull android.app.prediction.AppTargetEvent);
14912    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
14913    method public void onCreatePredictionSession(@NonNull android.app.prediction.AppPredictionContext, @NonNull android.app.prediction.AppPredictionSessionId);
14914    method @MainThread public void onDestroyPredictionSession(@NonNull android.app.prediction.AppPredictionSessionId);
14915    method @MainThread public abstract void onLaunchLocationShown(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull String, @NonNull java.util.List<android.app.prediction.AppTargetId>);
14916    method @MainThread public abstract void onRequestPredictionUpdate(@NonNull android.app.prediction.AppPredictionSessionId);
14917    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>>);
14918    method @MainThread public void onStartPredictionUpdates();
14919    method @MainThread public void onStopPredictionUpdates();
14920    method public final void updatePredictions(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull java.util.List<android.app.prediction.AppTarget>);
14921  }
14922
14923}
14924
14925package android.service.attention {
14926
14927  public abstract class AttentionService extends android.app.Service {
14928    ctor public AttentionService();
14929    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
14930    method public abstract void onCancelAttentionCheck(@NonNull android.service.attention.AttentionService.AttentionCallback);
14931    method public abstract void onCheckAttention(@NonNull android.service.attention.AttentionService.AttentionCallback);
14932    method public void onStartProximityUpdates(@NonNull android.service.attention.AttentionService.ProximityUpdateCallback);
14933    method public void onStopProximityUpdates();
14934    field public static final int ATTENTION_FAILURE_CAMERA_PERMISSION_ABSENT = 6; // 0x6
14935    field public static final int ATTENTION_FAILURE_CANCELLED = 3; // 0x3
14936    field public static final int ATTENTION_FAILURE_PREEMPTED = 4; // 0x4
14937    field public static final int ATTENTION_FAILURE_TIMED_OUT = 5; // 0x5
14938    field public static final int ATTENTION_FAILURE_UNKNOWN = 2; // 0x2
14939    field public static final int ATTENTION_SUCCESS_ABSENT = 0; // 0x0
14940    field public static final int ATTENTION_SUCCESS_PRESENT = 1; // 0x1
14941    field public static final double PROXIMITY_UNKNOWN = -1.0;
14942    field public static final String SERVICE_INTERFACE = "android.service.attention.AttentionService";
14943  }
14944
14945  public static final class AttentionService.AttentionCallback {
14946    method public void onFailure(int);
14947    method public void onSuccess(int, long);
14948  }
14949
14950  public static final class AttentionService.ProximityUpdateCallback {
14951    method public void onProximityUpdate(double);
14952  }
14953
14954}
14955
14956package android.service.autofill {
14957
14958  public abstract class AutofillFieldClassificationService extends android.app.Service {
14959    ctor public AutofillFieldClassificationService();
14960    method public android.os.IBinder onBind(android.content.Intent);
14961    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);
14962    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>);
14963    field public static final String REQUIRED_ALGORITHM_CREDIT_CARD = "CREDIT_CARD";
14964    field public static final String REQUIRED_ALGORITHM_EDIT_DISTANCE = "EDIT_DISTANCE";
14965    field public static final String REQUIRED_ALGORITHM_EXACT_MATCH = "EXACT_MATCH";
14966    field public static final String SERVICE_INTERFACE = "android.service.autofill.AutofillFieldClassificationService";
14967    field public static final String SERVICE_META_DATA_KEY_AVAILABLE_ALGORITHMS = "android.autofill.field_classification.available_algorithms";
14968    field public static final String SERVICE_META_DATA_KEY_DEFAULT_ALGORITHM = "android.autofill.field_classification.default_algorithm";
14969  }
14970
14971  public static final class Dataset.Builder {
14972    ctor @Deprecated public Dataset.Builder(@NonNull android.service.autofill.InlinePresentation);
14973    method @NonNull public android.service.autofill.Dataset.Builder setContent(@NonNull android.view.autofill.AutofillId, @Nullable android.content.ClipData);
14974    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);
14975  }
14976
14977  public abstract class InlineSuggestionRenderService extends android.app.Service {
14978    ctor public InlineSuggestionRenderService();
14979    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
14980    method @NonNull public android.os.Bundle onGetInlineSuggestionsRendererInfo();
14981    method @Nullable public android.view.View onRenderSuggestion(@NonNull android.service.autofill.InlinePresentation, int, int);
14982    method public final void startIntentSender(@NonNull android.content.IntentSender);
14983    field public static final String SERVICE_INTERFACE = "android.service.autofill.InlineSuggestionRenderService";
14984  }
14985
14986}
14987
14988package android.service.autofill.augmented {
14989
14990  public abstract class AugmentedAutofillService extends android.app.Service {
14991    ctor public AugmentedAutofillService();
14992    method protected final void dump(java.io.FileDescriptor, java.io.PrintWriter, String[]);
14993    method protected void dump(@NonNull java.io.PrintWriter, @NonNull String[]);
14994    method @Nullable public final android.service.autofill.FillEventHistory getFillEventHistory();
14995    method public void onConnected();
14996    method public void onDisconnected();
14997    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);
14998    method public final boolean requestAutofill(@NonNull android.content.ComponentName, @NonNull android.view.autofill.AutofillId);
14999    field public static final String SERVICE_INTERFACE = "android.service.autofill.augmented.AugmentedAutofillService";
15000  }
15001
15002  public final class FillCallback {
15003    method public void onSuccess(@Nullable android.service.autofill.augmented.FillResponse);
15004  }
15005
15006  public final class FillController {
15007    method public void autofill(@NonNull java.util.List<android.util.Pair<android.view.autofill.AutofillId,android.view.autofill.AutofillValue>>);
15008  }
15009
15010  public final class FillRequest {
15011    method @NonNull public android.content.ComponentName getActivityComponent();
15012    method @NonNull public android.view.autofill.AutofillId getFocusedId();
15013    method @NonNull public android.view.autofill.AutofillValue getFocusedValue();
15014    method @Nullable public android.app.assist.AssistStructure.ViewNode getFocusedViewNode();
15015    method @Nullable public android.view.inputmethod.InlineSuggestionsRequest getInlineSuggestionsRequest();
15016    method @Nullable public android.service.autofill.augmented.PresentationParams getPresentationParams();
15017    method public int getTaskId();
15018  }
15019
15020  public final class FillResponse {
15021  }
15022
15023  public static final class FillResponse.Builder {
15024    ctor public FillResponse.Builder();
15025    method @NonNull public android.service.autofill.augmented.FillResponse build();
15026    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setClientState(@NonNull android.os.Bundle);
15027    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setFillWindow(@NonNull android.service.autofill.augmented.FillWindow);
15028    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setInlineSuggestions(@NonNull java.util.List<android.service.autofill.Dataset>);
15029  }
15030
15031  public final class FillWindow implements java.lang.AutoCloseable {
15032    ctor public FillWindow();
15033    method public void destroy();
15034    method public boolean update(@NonNull android.service.autofill.augmented.PresentationParams.Area, @NonNull android.view.View, long);
15035  }
15036
15037  public abstract class PresentationParams {
15038    method @Nullable public android.service.autofill.augmented.PresentationParams.Area getSuggestionArea();
15039  }
15040
15041  public abstract static class PresentationParams.Area {
15042    method @NonNull public android.graphics.Rect getBounds();
15043  }
15044
15045}
15046
15047package android.service.carrier {
15048
15049  public abstract class ApnService extends android.app.Service {
15050    ctor public ApnService();
15051    method @NonNull public android.os.IBinder onBind(@Nullable android.content.Intent);
15052    method @NonNull @WorkerThread public abstract java.util.List<android.content.ContentValues> onRestoreApns(int);
15053  }
15054
15055  public final class CarrierMessagingServiceWrapper implements java.lang.AutoCloseable {
15056    ctor public CarrierMessagingServiceWrapper();
15057    method public boolean bindToCarrierMessagingService(@NonNull android.content.Context, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull Runnable);
15058    method public void disconnect();
15059    method public void downloadMms(@NonNull android.net.Uri, int, @NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
15060    method public void receiveSms(@NonNull android.service.carrier.MessagePdu, @NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
15061    method public void sendDataSms(@NonNull byte[], int, @NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
15062    method public void sendMms(@NonNull android.net.Uri, int, @NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
15063    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);
15064    method public void sendTextSms(@NonNull String, int, @NonNull String, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
15065  }
15066
15067  public static interface CarrierMessagingServiceWrapper.CarrierMessagingCallback {
15068    method public default void onDownloadMmsComplete(int);
15069    method public default void onReceiveSmsComplete(int);
15070    method public default void onSendMmsComplete(int, @Nullable byte[]);
15071    method public default void onSendMultipartSmsComplete(int, @Nullable int[]);
15072    method public default void onSendSmsComplete(int, int);
15073  }
15074
15075}
15076
15077package android.service.cloudsearch {
15078
15079  public abstract class CloudSearchService extends android.app.Service {
15080    ctor public CloudSearchService();
15081    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
15082    method public abstract void onSearch(@NonNull android.app.cloudsearch.SearchRequest);
15083    method public final void returnResults(@NonNull String, @NonNull android.app.cloudsearch.SearchResponse);
15084  }
15085
15086}
15087
15088package android.service.contentcapture {
15089
15090  public final class ActivityEvent implements android.os.Parcelable {
15091    method public int describeContents();
15092    method @NonNull public android.content.ComponentName getComponentName();
15093    method public int getEventType();
15094    method public void writeToParcel(@NonNull android.os.Parcel, int);
15095    field @NonNull public static final android.os.Parcelable.Creator<android.service.contentcapture.ActivityEvent> CREATOR;
15096    field public static final int TYPE_ACTIVITY_DESTROYED = 24; // 0x18
15097    field public static final int TYPE_ACTIVITY_PAUSED = 2; // 0x2
15098    field public static final int TYPE_ACTIVITY_RESUMED = 1; // 0x1
15099    field public static final int TYPE_ACTIVITY_STOPPED = 23; // 0x17
15100  }
15101
15102  public abstract class ContentCaptureService extends android.app.Service {
15103    ctor public ContentCaptureService();
15104    method public final void disableSelf();
15105    method public void onActivityEvent(@NonNull android.service.contentcapture.ActivityEvent);
15106    method public void onActivitySnapshot(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.service.contentcapture.SnapshotData);
15107    method public void onConnected();
15108    method public void onContentCaptureEvent(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.view.contentcapture.ContentCaptureEvent);
15109    method public void onCreateContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureContext, @NonNull android.view.contentcapture.ContentCaptureSessionId);
15110    method public void onDataRemovalRequest(@NonNull android.view.contentcapture.DataRemovalRequest);
15111    method public void onDataShareRequest(@NonNull android.view.contentcapture.DataShareRequest, @NonNull android.service.contentcapture.DataShareCallback);
15112    method public void onDestroyContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureSessionId);
15113    method public void onDisconnected();
15114    method public final void setContentCaptureConditions(@NonNull String, @Nullable java.util.Set<android.view.contentcapture.ContentCaptureCondition>);
15115    method public final void setContentCaptureWhitelist(@Nullable java.util.Set<java.lang.String>, @Nullable java.util.Set<android.content.ComponentName>);
15116    field public static final String SERVICE_INTERFACE = "android.service.contentcapture.ContentCaptureService";
15117    field public static final String SERVICE_META_DATA = "android.content_capture";
15118  }
15119
15120  public interface DataShareCallback {
15121    method public void onAccept(@NonNull java.util.concurrent.Executor, @NonNull android.service.contentcapture.DataShareReadAdapter);
15122    method public void onReject();
15123  }
15124
15125  public interface DataShareReadAdapter {
15126    method public void onError(int);
15127    method public void onStart(@NonNull android.os.ParcelFileDescriptor);
15128  }
15129
15130  public final class SnapshotData implements android.os.Parcelable {
15131    method public int describeContents();
15132    method @Nullable public android.app.assist.AssistContent getAssistContent();
15133    method @NonNull public android.os.Bundle getAssistData();
15134    method @NonNull public android.app.assist.AssistStructure getAssistStructure();
15135    method public void writeToParcel(@NonNull android.os.Parcel, int);
15136    field @NonNull public static final android.os.Parcelable.Creator<android.service.contentcapture.SnapshotData> CREATOR;
15137  }
15138
15139}
15140
15141package android.service.contentsuggestions {
15142
15143  public abstract class ContentSuggestionsService extends android.app.Service {
15144    ctor public ContentSuggestionsService();
15145    method public abstract void onClassifyContentSelections(@NonNull android.app.contentsuggestions.ClassificationsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.ClassificationsCallback);
15146    method public abstract void onNotifyInteraction(@NonNull String, @NonNull android.os.Bundle);
15147    method public abstract void onProcessContextImage(int, @Nullable android.graphics.Bitmap, @NonNull android.os.Bundle);
15148    method public abstract void onSuggestContentSelections(@NonNull android.app.contentsuggestions.SelectionsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.SelectionsCallback);
15149    field public static final String SERVICE_INTERFACE = "android.service.contentsuggestions.ContentSuggestionsService";
15150  }
15151
15152}
15153
15154package android.service.dataloader {
15155
15156  public abstract class DataLoaderService extends android.app.Service {
15157    ctor public DataLoaderService();
15158    method @Nullable public android.service.dataloader.DataLoaderService.DataLoader onCreateDataLoader(@NonNull android.content.pm.DataLoaderParams);
15159  }
15160
15161  public static interface DataLoaderService.DataLoader {
15162    method public boolean onCreate(@NonNull android.content.pm.DataLoaderParams, @NonNull android.service.dataloader.DataLoaderService.FileSystemConnector);
15163    method public boolean onPrepareImage(@NonNull java.util.Collection<android.content.pm.InstallationFile>, @NonNull java.util.Collection<java.lang.String>);
15164  }
15165
15166  public static final class DataLoaderService.FileSystemConnector {
15167    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void writeData(@NonNull String, long, long, @NonNull android.os.ParcelFileDescriptor) throws java.io.IOException;
15168  }
15169
15170}
15171
15172package android.service.displayhash {
15173
15174  public final class DisplayHashParams implements android.os.Parcelable {
15175    method public int describeContents();
15176    method @Nullable public android.util.Size getBufferSize();
15177    method public boolean isGrayscaleBuffer();
15178    method public void writeToParcel(@NonNull android.os.Parcel, int);
15179    field @NonNull public static final android.os.Parcelable.Creator<android.service.displayhash.DisplayHashParams> CREATOR;
15180  }
15181
15182  public static final class DisplayHashParams.Builder {
15183    ctor public DisplayHashParams.Builder();
15184    method @NonNull public android.service.displayhash.DisplayHashParams build();
15185    method @NonNull public android.service.displayhash.DisplayHashParams.Builder setBufferSize(int, int);
15186    method @NonNull public android.service.displayhash.DisplayHashParams.Builder setGrayscaleBuffer(boolean);
15187  }
15188
15189  public abstract class DisplayHashingService extends android.app.Service {
15190    ctor public DisplayHashingService();
15191    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
15192    method public abstract void onGenerateDisplayHash(@NonNull byte[], @NonNull android.hardware.HardwareBuffer, @NonNull android.graphics.Rect, @NonNull String, @NonNull android.view.displayhash.DisplayHashResultCallback);
15193    method @NonNull public abstract java.util.Map<java.lang.String,android.service.displayhash.DisplayHashParams> onGetDisplayHashAlgorithms();
15194    method public abstract int onGetIntervalBetweenRequestsMillis();
15195    method @Nullable public abstract android.view.displayhash.VerifiedDisplayHash onVerifyDisplayHash(@NonNull byte[], @NonNull android.view.displayhash.DisplayHash);
15196    field public static final String SERVICE_INTERFACE = "android.service.displayhash.DisplayHashingService";
15197  }
15198
15199}
15200
15201package android.service.euicc {
15202
15203  public final class DownloadSubscriptionResult implements android.os.Parcelable {
15204    ctor public DownloadSubscriptionResult(int, int, int);
15205    method public int describeContents();
15206    method public int getCardId();
15207    method public int getResolvableErrors();
15208    method public int getResult();
15209    method public void writeToParcel(android.os.Parcel, int);
15210    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.DownloadSubscriptionResult> CREATOR;
15211  }
15212
15213  public final class EuiccProfileInfo implements android.os.Parcelable {
15214    method public int describeContents();
15215    method public android.service.carrier.CarrierIdentifier getCarrierIdentifier();
15216    method public String getIccid();
15217    method @Nullable public String getNickname();
15218    method @android.service.euicc.EuiccProfileInfo.PolicyRule public int getPolicyRules();
15219    method @android.service.euicc.EuiccProfileInfo.ProfileClass public int getProfileClass();
15220    method public String getProfileName();
15221    method public String getServiceProviderName();
15222    method @android.service.euicc.EuiccProfileInfo.ProfileState public int getState();
15223    method @Nullable public java.util.List<android.telephony.UiccAccessRule> getUiccAccessRules();
15224    method public boolean hasPolicyRule(@android.service.euicc.EuiccProfileInfo.PolicyRule int);
15225    method public boolean hasPolicyRules();
15226    method public void writeToParcel(android.os.Parcel, int);
15227    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.EuiccProfileInfo> CREATOR;
15228    field public static final int POLICY_RULE_DELETE_AFTER_DISABLING = 4; // 0x4
15229    field public static final int POLICY_RULE_DO_NOT_DELETE = 2; // 0x2
15230    field public static final int POLICY_RULE_DO_NOT_DISABLE = 1; // 0x1
15231    field public static final int PROFILE_CLASS_OPERATIONAL = 2; // 0x2
15232    field public static final int PROFILE_CLASS_PROVISIONING = 1; // 0x1
15233    field public static final int PROFILE_CLASS_TESTING = 0; // 0x0
15234    field public static final int PROFILE_STATE_DISABLED = 0; // 0x0
15235    field public static final int PROFILE_STATE_ENABLED = 1; // 0x1
15236  }
15237
15238  public static final class EuiccProfileInfo.Builder {
15239    ctor public EuiccProfileInfo.Builder(String);
15240    ctor public EuiccProfileInfo.Builder(android.service.euicc.EuiccProfileInfo);
15241    method public android.service.euicc.EuiccProfileInfo build();
15242    method public android.service.euicc.EuiccProfileInfo.Builder setCarrierIdentifier(android.service.carrier.CarrierIdentifier);
15243    method public android.service.euicc.EuiccProfileInfo.Builder setIccid(String);
15244    method public android.service.euicc.EuiccProfileInfo.Builder setNickname(String);
15245    method public android.service.euicc.EuiccProfileInfo.Builder setPolicyRules(@android.service.euicc.EuiccProfileInfo.PolicyRule int);
15246    method public android.service.euicc.EuiccProfileInfo.Builder setProfileClass(@android.service.euicc.EuiccProfileInfo.ProfileClass int);
15247    method public android.service.euicc.EuiccProfileInfo.Builder setProfileName(String);
15248    method public android.service.euicc.EuiccProfileInfo.Builder setServiceProviderName(String);
15249    method public android.service.euicc.EuiccProfileInfo.Builder setState(@android.service.euicc.EuiccProfileInfo.ProfileState int);
15250    method public android.service.euicc.EuiccProfileInfo.Builder setUiccAccessRule(@Nullable java.util.List<android.telephony.UiccAccessRule>);
15251  }
15252
15253  @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 {
15254  }
15255
15256  @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 {
15257  }
15258
15259  @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 {
15260  }
15261
15262  public abstract class EuiccService extends android.app.Service {
15263    ctor public EuiccService();
15264    method public void dump(@NonNull java.io.PrintWriter);
15265    method public int encodeSmdxSubjectAndReasonCode(@Nullable String, @Nullable String);
15266    method @CallSuper public android.os.IBinder onBind(android.content.Intent);
15267    method public abstract int onDeleteSubscription(int, String);
15268    method @Deprecated public android.service.euicc.DownloadSubscriptionResult onDownloadSubscription(int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean, @Nullable android.os.Bundle);
15269    method @NonNull public android.service.euicc.DownloadSubscriptionResult onDownloadSubscription(int, int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean, @NonNull android.os.Bundle);
15270    method @Deprecated public int onDownloadSubscription(int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean);
15271    method @Deprecated public abstract int onEraseSubscriptions(int);
15272    method public int onEraseSubscriptions(int, @android.telephony.euicc.EuiccCardManager.ResetOption int);
15273    method public abstract android.service.euicc.GetDefaultDownloadableSubscriptionListResult onGetDefaultDownloadableSubscriptionList(int, boolean);
15274    method public abstract android.service.euicc.GetDownloadableSubscriptionMetadataResult onGetDownloadableSubscriptionMetadata(int, android.telephony.euicc.DownloadableSubscription, boolean);
15275    method public abstract String onGetEid(int);
15276    method @NonNull public abstract android.telephony.euicc.EuiccInfo onGetEuiccInfo(int);
15277    method @NonNull public abstract android.service.euicc.GetEuiccProfileInfoListResult onGetEuiccProfileInfoList(int);
15278    method @android.telephony.euicc.EuiccManager.OtaStatus public abstract int onGetOtaStatus(int);
15279    method public abstract int onRetainSubscriptionsForFactoryReset(int);
15280    method public abstract void onStartOtaIfNecessary(int, android.service.euicc.EuiccService.OtaStatusChangedCallback);
15281    method @Deprecated public abstract int onSwitchToSubscription(int, @Nullable String, boolean);
15282    method public int onSwitchToSubscriptionWithPort(int, int, @Nullable String, boolean);
15283    method public abstract int onUpdateSubscriptionNickname(int, String, String);
15284    field public static final String ACTION_BIND_CARRIER_PROVISIONING_SERVICE = "android.service.euicc.action.BIND_CARRIER_PROVISIONING_SERVICE";
15285    field public static final String ACTION_DELETE_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.DELETE_SUBSCRIPTION_PRIVILEGED";
15286    field public static final String ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS = "android.service.euicc.action.MANAGE_EMBEDDED_SUBSCRIPTIONS";
15287    field public static final String ACTION_PROVISION_EMBEDDED_SUBSCRIPTION = "android.service.euicc.action.PROVISION_EMBEDDED_SUBSCRIPTION";
15288    field public static final String ACTION_RENAME_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.RENAME_SUBSCRIPTION_PRIVILEGED";
15289    field @Deprecated public static final String ACTION_RESOLVE_CONFIRMATION_CODE = "android.service.euicc.action.RESOLVE_CONFIRMATION_CODE";
15290    field public static final String ACTION_RESOLVE_DEACTIVATE_SIM = "android.service.euicc.action.RESOLVE_DEACTIVATE_SIM";
15291    field public static final String ACTION_RESOLVE_NO_PRIVILEGES = "android.service.euicc.action.RESOLVE_NO_PRIVILEGES";
15292    field public static final String ACTION_RESOLVE_RESOLVABLE_ERRORS = "android.service.euicc.action.RESOLVE_RESOLVABLE_ERRORS";
15293    field public static final String ACTION_START_CARRIER_ACTIVATION = "android.service.euicc.action.START_CARRIER_ACTIVATION";
15294    field public static final String ACTION_START_EUICC_ACTIVATION = "android.service.euicc.action.START_EUICC_ACTIVATION";
15295    field public static final String ACTION_TOGGLE_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.TOGGLE_SUBSCRIPTION_PRIVILEGED";
15296    field public static final String CATEGORY_EUICC_UI = "android.service.euicc.category.EUICC_UI";
15297    field public static final String EUICC_SERVICE_INTERFACE = "android.service.euicc.EuiccService";
15298    field public static final String EXTRA_RESOLUTION_ALLOW_POLICY_RULES = "android.service.euicc.extra.RESOLUTION_ALLOW_POLICY_RULES";
15299    field public static final String EXTRA_RESOLUTION_CALLING_PACKAGE = "android.service.euicc.extra.RESOLUTION_CALLING_PACKAGE";
15300    field public static final String EXTRA_RESOLUTION_CARD_ID = "android.service.euicc.extra.RESOLUTION_CARD_ID";
15301    field public static final String EXTRA_RESOLUTION_CONFIRMATION_CODE = "android.service.euicc.extra.RESOLUTION_CONFIRMATION_CODE";
15302    field public static final String EXTRA_RESOLUTION_CONFIRMATION_CODE_RETRIED = "android.service.euicc.extra.RESOLUTION_CONFIRMATION_CODE_RETRIED";
15303    field public static final String EXTRA_RESOLUTION_CONSENT = "android.service.euicc.extra.RESOLUTION_CONSENT";
15304    field public static final String EXTRA_RESOLUTION_PORT_INDEX = "android.service.euicc.extra.RESOLUTION_PORT_INDEX";
15305    field public static final String EXTRA_RESOLUTION_SUBSCRIPTION_ID = "android.service.euicc.extra.RESOLUTION_SUBSCRIPTION_ID";
15306    field public static final String EXTRA_RESOLUTION_USE_PORT_INDEX = "android.service.euicc.extra.RESOLUTION_USE_PORT_INDEX";
15307    field public static final String EXTRA_RESOLVABLE_ERRORS = "android.service.euicc.extra.RESOLVABLE_ERRORS";
15308    field public static final int RESOLVABLE_ERROR_CONFIRMATION_CODE = 1; // 0x1
15309    field public static final int RESOLVABLE_ERROR_POLICY_RULES = 2; // 0x2
15310    field public static final int RESULT_FIRST_USER = 1; // 0x1
15311    field public static final int RESULT_MUST_DEACTIVATE_SIM = -1; // 0xffffffff
15312    field @Deprecated public static final int RESULT_NEED_CONFIRMATION_CODE = -2; // 0xfffffffe
15313    field public static final int RESULT_OK = 0; // 0x0
15314    field public static final int RESULT_RESOLVABLE_ERRORS = -2; // 0xfffffffe
15315  }
15316
15317  public abstract static class EuiccService.OtaStatusChangedCallback {
15318    ctor public EuiccService.OtaStatusChangedCallback();
15319    method public abstract void onOtaStatusChanged(int);
15320  }
15321
15322  public final class GetDefaultDownloadableSubscriptionListResult implements android.os.Parcelable {
15323    ctor public GetDefaultDownloadableSubscriptionListResult(int, @Nullable android.telephony.euicc.DownloadableSubscription[]);
15324    method public int describeContents();
15325    method @Nullable public java.util.List<android.telephony.euicc.DownloadableSubscription> getDownloadableSubscriptions();
15326    method public int getResult();
15327    method public void writeToParcel(android.os.Parcel, int);
15328    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetDefaultDownloadableSubscriptionListResult> CREATOR;
15329  }
15330
15331  public final class GetDownloadableSubscriptionMetadataResult implements android.os.Parcelable {
15332    ctor public GetDownloadableSubscriptionMetadataResult(int, @Nullable android.telephony.euicc.DownloadableSubscription);
15333    method public int describeContents();
15334    method @Nullable public android.telephony.euicc.DownloadableSubscription getDownloadableSubscription();
15335    method public int getResult();
15336    method public void writeToParcel(android.os.Parcel, int);
15337    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetDownloadableSubscriptionMetadataResult> CREATOR;
15338  }
15339
15340  public final class GetEuiccProfileInfoListResult implements android.os.Parcelable {
15341    ctor public GetEuiccProfileInfoListResult(int, @Nullable android.service.euicc.EuiccProfileInfo[], boolean);
15342    method public int describeContents();
15343    method public boolean getIsRemovable();
15344    method @Nullable public java.util.List<android.service.euicc.EuiccProfileInfo> getProfiles();
15345    method public int getResult();
15346    method public void writeToParcel(android.os.Parcel, int);
15347    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetEuiccProfileInfoListResult> CREATOR;
15348  }
15349
15350}
15351
15352package android.service.games {
15353
15354  public final class CreateGameSessionRequest implements android.os.Parcelable {
15355    ctor public CreateGameSessionRequest(int, @NonNull String);
15356    method public int describeContents();
15357    method @NonNull public String getGamePackageName();
15358    method public int getTaskId();
15359    method public void writeToParcel(@NonNull android.os.Parcel, int);
15360    field @NonNull public static final android.os.Parcelable.Creator<android.service.games.CreateGameSessionRequest> CREATOR;
15361  }
15362
15363  public class GameService extends android.app.Service {
15364    ctor public GameService();
15365    method @RequiresPermission(android.Manifest.permission.MANAGE_GAME_ACTIVITY) public final void createGameSession(@IntRange(from=0) int);
15366    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
15367    method public void onConnected();
15368    method public void onDisconnected();
15369    method public void onGameStarted(@NonNull android.service.games.GameStartedEvent);
15370    field public static final String ACTION_GAME_SERVICE = "android.service.games.action.GAME_SERVICE";
15371    field public static final String SERVICE_META_DATA = "android.game_service";
15372  }
15373
15374  public abstract class GameSession {
15375    ctor public GameSession();
15376    method public void onCreate();
15377    method public void onDestroy();
15378    method public void onGameTaskFocusChanged(boolean);
15379    method public void onTransientSystemBarVisibilityFromRevealGestureChanged(boolean);
15380    method @RequiresPermission(android.Manifest.permission.MANAGE_GAME_ACTIVITY) public final boolean restartGame();
15381    method public void setTaskOverlayView(@NonNull android.view.View, @NonNull android.view.ViewGroup.LayoutParams);
15382    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);
15383    method @RequiresPermission(android.Manifest.permission.MANAGE_GAME_ACTIVITY) public void takeScreenshot(@NonNull java.util.concurrent.Executor, @NonNull android.service.games.GameSession.ScreenshotCallback);
15384  }
15385
15386  public static interface GameSession.ScreenshotCallback {
15387    method public void onFailure(int);
15388    method public void onSuccess();
15389    field public static final int ERROR_TAKE_SCREENSHOT_INTERNAL_ERROR = 0; // 0x0
15390  }
15391
15392  public interface GameSessionActivityCallback {
15393    method public void onActivityResult(int, @Nullable android.content.Intent);
15394    method public default void onActivityStartFailed(@NonNull Throwable);
15395  }
15396
15397  public abstract class GameSessionService extends android.app.Service {
15398    ctor public GameSessionService();
15399    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
15400    method @NonNull public abstract android.service.games.GameSession onNewSession(@NonNull android.service.games.CreateGameSessionRequest);
15401    field public static final String ACTION_GAME_SESSION_SERVICE = "android.service.games.action.GAME_SESSION_SERVICE";
15402  }
15403
15404  public final class GameStartedEvent implements android.os.Parcelable {
15405    ctor public GameStartedEvent(@IntRange(from=0) int, @NonNull String);
15406    method public int describeContents();
15407    method @NonNull public String getPackageName();
15408    method @IntRange(from=0) public int getTaskId();
15409    method public void writeToParcel(@NonNull android.os.Parcel, int);
15410    field @NonNull public static final android.os.Parcelable.Creator<android.service.games.GameStartedEvent> CREATOR;
15411  }
15412
15413}
15414
15415package android.service.notification {
15416
15417  public final class Adjustment implements android.os.Parcelable {
15418    ctor public Adjustment(String, String, android.os.Bundle, CharSequence, int);
15419    ctor public Adjustment(@NonNull String, @NonNull String, @NonNull android.os.Bundle, @NonNull CharSequence, @NonNull android.os.UserHandle);
15420    ctor protected Adjustment(android.os.Parcel);
15421    method public int describeContents();
15422    method @NonNull public CharSequence getExplanation();
15423    method @NonNull public String getKey();
15424    method @NonNull public String getPackage();
15425    method @NonNull public android.os.Bundle getSignals();
15426    method public int getUser();
15427    method @NonNull public android.os.UserHandle getUserHandle();
15428    method public void writeToParcel(android.os.Parcel, int);
15429    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.Adjustment> CREATOR;
15430    field public static final String KEY_CONTEXTUAL_ACTIONS = "key_contextual_actions";
15431    field public static final String KEY_IMPORTANCE = "key_importance";
15432    field public static final String KEY_NOT_CONVERSATION = "key_not_conversation";
15433    field public static final String KEY_PEOPLE = "key_people";
15434    field public static final String KEY_RANKING_SCORE = "key_ranking_score";
15435    field public static final String KEY_SNOOZE_CRITERIA = "key_snooze_criteria";
15436    field public static final String KEY_TEXT_REPLIES = "key_text_replies";
15437    field public static final String KEY_USER_SENTIMENT = "key_user_sentiment";
15438  }
15439
15440  public abstract class NotificationAssistantService extends android.service.notification.NotificationListenerService {
15441    ctor public NotificationAssistantService();
15442    method public final void adjustNotification(@NonNull android.service.notification.Adjustment);
15443    method public final void adjustNotifications(@NonNull java.util.List<android.service.notification.Adjustment>);
15444    method public void onActionInvoked(@NonNull String, @NonNull android.app.Notification.Action, int);
15445    method public void onAllowedAdjustmentsChanged();
15446    method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent);
15447    method public void onNotificationClicked(@NonNull String);
15448    method public void onNotificationDirectReplied(@NonNull String);
15449    method @Nullable public abstract android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification);
15450    method @Nullable public android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification, @NonNull android.app.NotificationChannel);
15451    method @Nullable public android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification, @NonNull android.app.NotificationChannel, @NonNull android.service.notification.NotificationListenerService.RankingMap);
15452    method public void onNotificationExpansionChanged(@NonNull String, boolean, boolean);
15453    method public void onNotificationFeedbackReceived(@NonNull String, @NonNull android.service.notification.NotificationListenerService.RankingMap, @NonNull android.os.Bundle);
15454    method public abstract void onNotificationSnoozedUntilContext(@NonNull android.service.notification.StatusBarNotification, @NonNull String);
15455    method public void onNotificationVisibilityChanged(@NonNull String, boolean);
15456    method public void onNotificationsSeen(@NonNull java.util.List<java.lang.String>);
15457    method public void onPanelHidden();
15458    method public void onPanelRevealed(int);
15459    method public void onSuggestedReplySent(@NonNull String, @NonNull CharSequence, int);
15460    method public final void unsnoozeNotification(@NonNull String);
15461    field public static final String FEEDBACK_RATING = "feedback.rating";
15462    field public static final String SERVICE_INTERFACE = "android.service.notification.NotificationAssistantService";
15463    field public static final int SOURCE_FROM_APP = 0; // 0x0
15464    field public static final int SOURCE_FROM_ASSISTANT = 1; // 0x1
15465  }
15466
15467  public abstract class NotificationListenerService extends android.app.Service {
15468    method public void onNotificationRemoved(@NonNull android.service.notification.StatusBarNotification, @NonNull android.service.notification.NotificationListenerService.RankingMap, @NonNull android.service.notification.NotificationStats, int);
15469  }
15470
15471  public final class NotificationStats implements android.os.Parcelable {
15472    ctor public NotificationStats();
15473    ctor protected NotificationStats(android.os.Parcel);
15474    method public int describeContents();
15475    method public int getDismissalSentiment();
15476    method public int getDismissalSurface();
15477    method public boolean hasDirectReplied();
15478    method public boolean hasExpanded();
15479    method public boolean hasInteracted();
15480    method public boolean hasSeen();
15481    method public boolean hasSnoozed();
15482    method public boolean hasViewedSettings();
15483    method public void setDirectReplied();
15484    method public void setDismissalSentiment(int);
15485    method public void setDismissalSurface(int);
15486    method public void setExpanded();
15487    method public void setSeen();
15488    method public void setSnoozed();
15489    method public void setViewedSettings();
15490    method public void writeToParcel(android.os.Parcel, int);
15491    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.NotificationStats> CREATOR;
15492    field public static final int DISMISSAL_AOD = 2; // 0x2
15493    field public static final int DISMISSAL_NOT_DISMISSED = -1; // 0xffffffff
15494    field public static final int DISMISSAL_OTHER = 0; // 0x0
15495    field public static final int DISMISSAL_PEEK = 1; // 0x1
15496    field public static final int DISMISSAL_SHADE = 3; // 0x3
15497    field public static final int DISMISS_SENTIMENT_NEGATIVE = 0; // 0x0
15498    field public static final int DISMISS_SENTIMENT_NEUTRAL = 1; // 0x1
15499    field public static final int DISMISS_SENTIMENT_POSITIVE = 2; // 0x2
15500    field public static final int DISMISS_SENTIMENT_UNKNOWN = -1000; // 0xfffffc18
15501  }
15502
15503  public final class SnoozeCriterion implements android.os.Parcelable {
15504    ctor public SnoozeCriterion(String, CharSequence, CharSequence);
15505    ctor protected SnoozeCriterion(android.os.Parcel);
15506    method public int describeContents();
15507    method public CharSequence getConfirmation();
15508    method public CharSequence getExplanation();
15509    method public String getId();
15510    method public void writeToParcel(android.os.Parcel, int);
15511    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.SnoozeCriterion> CREATOR;
15512  }
15513
15514}
15515
15516package android.service.oemlock {
15517
15518  public class OemLockManager {
15519    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public String getLockName();
15520    method @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public boolean isOemUnlockAllowedByCarrier();
15521    method @RequiresPermission(android.Manifest.permission.MANAGE_USER_OEM_UNLOCK_STATE) public boolean isOemUnlockAllowedByUser();
15522    method @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public void setOemUnlockAllowedByCarrier(boolean, @Nullable byte[]);
15523    method @RequiresPermission(android.Manifest.permission.MANAGE_USER_OEM_UNLOCK_STATE) public void setOemUnlockAllowedByUser(boolean);
15524  }
15525
15526}
15527
15528package android.service.persistentdata {
15529
15530  public class PersistentDataBlockManager {
15531    method @RequiresPermission(android.Manifest.permission.ACCESS_PDB_STATE) public int getDataBlockSize();
15532    method @android.service.persistentdata.PersistentDataBlockManager.FlashLockState @RequiresPermission(anyOf={android.Manifest.permission.READ_OEM_UNLOCK_STATE, "android.permission.OEM_UNLOCK_STATE"}) public int getFlashLockState();
15533    method public long getMaximumDataBlockSize();
15534    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_OEM_UNLOCK_STATE, "android.permission.OEM_UNLOCK_STATE"}) public boolean getOemUnlockEnabled();
15535    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_PDB_STATE) public String getPersistentDataPackageName();
15536    method public byte[] read();
15537    method @Deprecated @RequiresPermission("android.permission.OEM_UNLOCK_STATE") public void setOemUnlockEnabled(boolean);
15538    method @RequiresPermission("android.permission.OEM_UNLOCK_STATE") public void wipe();
15539    method public int write(byte[]);
15540    field public static final int FLASH_LOCK_LOCKED = 1; // 0x1
15541    field public static final int FLASH_LOCK_UNKNOWN = -1; // 0xffffffff
15542    field public static final int FLASH_LOCK_UNLOCKED = 0; // 0x0
15543  }
15544
15545  @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 {
15546  }
15547
15548}
15549
15550package android.service.quicksettings {
15551
15552  public class TileService extends android.app.Service {
15553    method public final void setStatusIcon(android.graphics.drawable.Icon, String);
15554  }
15555
15556}
15557
15558package android.service.resolver {
15559
15560  public abstract class ResolverRankerService extends android.app.Service {
15561    ctor public ResolverRankerService();
15562    method public android.os.IBinder onBind(android.content.Intent);
15563    method public void onPredictSharingProbabilities(java.util.List<android.service.resolver.ResolverTarget>);
15564    method public void onTrainRankingModel(java.util.List<android.service.resolver.ResolverTarget>, int);
15565    field public static final String BIND_PERMISSION = "android.permission.BIND_RESOLVER_RANKER_SERVICE";
15566    field public static final String HOLD_PERMISSION = "android.permission.PROVIDE_RESOLVER_RANKER_SERVICE";
15567    field public static final String SERVICE_INTERFACE = "android.service.resolver.ResolverRankerService";
15568  }
15569
15570  public final class ResolverTarget implements android.os.Parcelable {
15571    ctor public ResolverTarget();
15572    method public int describeContents();
15573    method public float getChooserScore();
15574    method public float getLaunchScore();
15575    method public float getRecencyScore();
15576    method public float getSelectProbability();
15577    method public float getTimeSpentScore();
15578    method public void setChooserScore(float);
15579    method public void setLaunchScore(float);
15580    method public void setRecencyScore(float);
15581    method public void setSelectProbability(float);
15582    method public void setTimeSpentScore(float);
15583    method public void writeToParcel(android.os.Parcel, int);
15584    field @NonNull public static final android.os.Parcelable.Creator<android.service.resolver.ResolverTarget> CREATOR;
15585  }
15586
15587}
15588
15589package android.service.resumeonreboot {
15590
15591  public abstract class ResumeOnRebootService extends android.app.Service {
15592    ctor public ResumeOnRebootService();
15593    method @Nullable public android.os.IBinder onBind(@Nullable android.content.Intent);
15594    method @NonNull public abstract byte[] onUnwrap(@NonNull byte[]) throws java.io.IOException;
15595    method @NonNull public abstract byte[] onWrap(@NonNull byte[], long) throws java.io.IOException;
15596    field public static final String SERVICE_INTERFACE = "android.service.resumeonreboot.ResumeOnRebootService";
15597  }
15598
15599}
15600
15601package android.service.rotationresolver {
15602
15603  public final class RotationResolutionRequest implements android.os.Parcelable {
15604    ctor public RotationResolutionRequest(@NonNull String, int, int, boolean, long);
15605    method public int describeContents();
15606    method public int getCurrentRotation();
15607    method @NonNull public String getForegroundPackageName();
15608    method public int getProposedRotation();
15609    method public long getTimeoutMillis();
15610    method public boolean shouldUseCamera();
15611    method public void writeToParcel(@NonNull android.os.Parcel, int);
15612    field @NonNull public static final android.os.Parcelable.Creator<android.service.rotationresolver.RotationResolutionRequest> CREATOR;
15613  }
15614
15615  public abstract class RotationResolverService extends android.app.Service {
15616    ctor public RotationResolverService();
15617    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
15618    method public abstract void onResolveRotation(@NonNull android.service.rotationresolver.RotationResolutionRequest, @Nullable android.os.CancellationSignal, @NonNull android.service.rotationresolver.RotationResolverService.RotationResolverCallback);
15619    field public static final int ROTATION_RESULT_FAILURE_CANCELLED = 0; // 0x0
15620    field public static final int ROTATION_RESULT_FAILURE_NOT_SUPPORTED = 4; // 0x4
15621    field public static final int ROTATION_RESULT_FAILURE_PREEMPTED = 2; // 0x2
15622    field public static final int ROTATION_RESULT_FAILURE_TIMED_OUT = 1; // 0x1
15623    field public static final int ROTATION_RESULT_FAILURE_UNKNOWN = 3; // 0x3
15624    field public static final String SERVICE_INTERFACE = "android.service.rotationresolver.RotationResolverService";
15625  }
15626
15627  public static interface RotationResolverService.RotationResolverCallback {
15628    method public void onFailure(int);
15629    method public void onSuccess(int);
15630  }
15631
15632}
15633
15634package android.service.search {
15635
15636  public abstract class SearchUiService extends android.app.Service {
15637    ctor public SearchUiService();
15638    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
15639    method @MainThread public abstract void onDestroy(@NonNull android.app.search.SearchSessionId);
15640    method @MainThread public abstract void onNotifyEvent(@NonNull android.app.search.SearchSessionId, @NonNull android.app.search.Query, @NonNull android.app.search.SearchTargetEvent);
15641    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>>);
15642    method public void onSearchSessionCreated(@NonNull android.app.search.SearchContext, @NonNull android.app.search.SearchSessionId);
15643  }
15644
15645}
15646
15647package android.service.settings.suggestions {
15648
15649  public final class Suggestion implements android.os.Parcelable {
15650    method public int describeContents();
15651    method public int getFlags();
15652    method public android.graphics.drawable.Icon getIcon();
15653    method public String getId();
15654    method public android.app.PendingIntent getPendingIntent();
15655    method public CharSequence getSummary();
15656    method public CharSequence getTitle();
15657    method public void writeToParcel(android.os.Parcel, int);
15658    field @NonNull public static final android.os.Parcelable.Creator<android.service.settings.suggestions.Suggestion> CREATOR;
15659    field public static final int FLAG_HAS_BUTTON = 1; // 0x1
15660  }
15661
15662  public static class Suggestion.Builder {
15663    ctor public Suggestion.Builder(String);
15664    method public android.service.settings.suggestions.Suggestion build();
15665    method public android.service.settings.suggestions.Suggestion.Builder setFlags(int);
15666    method public android.service.settings.suggestions.Suggestion.Builder setIcon(android.graphics.drawable.Icon);
15667    method public android.service.settings.suggestions.Suggestion.Builder setPendingIntent(android.app.PendingIntent);
15668    method public android.service.settings.suggestions.Suggestion.Builder setSummary(CharSequence);
15669    method public android.service.settings.suggestions.Suggestion.Builder setTitle(CharSequence);
15670  }
15671
15672  public abstract class SuggestionService extends android.app.Service {
15673    ctor public SuggestionService();
15674    method public android.os.IBinder onBind(android.content.Intent);
15675    method public abstract java.util.List<android.service.settings.suggestions.Suggestion> onGetSuggestions();
15676    method public abstract void onSuggestionDismissed(android.service.settings.suggestions.Suggestion);
15677    method public abstract void onSuggestionLaunched(android.service.settings.suggestions.Suggestion);
15678  }
15679
15680}
15681
15682package android.service.smartspace {
15683
15684  public abstract class SmartspaceService extends android.app.Service {
15685    ctor public SmartspaceService();
15686    method @MainThread public abstract void notifySmartspaceEvent(@NonNull android.app.smartspace.SmartspaceSessionId, @NonNull android.app.smartspace.SmartspaceTargetEvent);
15687    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
15688    method public abstract void onCreateSmartspaceSession(@NonNull android.app.smartspace.SmartspaceConfig, @NonNull android.app.smartspace.SmartspaceSessionId);
15689    method @MainThread public abstract void onDestroy(@NonNull android.app.smartspace.SmartspaceSessionId);
15690    method public abstract void onDestroySmartspaceSession(@NonNull android.app.smartspace.SmartspaceSessionId);
15691    method @MainThread public abstract void onRequestSmartspaceUpdate(@NonNull android.app.smartspace.SmartspaceSessionId);
15692    method public final void updateSmartspaceTargets(@NonNull android.app.smartspace.SmartspaceSessionId, @NonNull java.util.List<android.app.smartspace.SmartspaceTarget>);
15693  }
15694
15695}
15696
15697package android.service.storage {
15698
15699  public abstract class ExternalStorageService extends android.app.Service {
15700    ctor public ExternalStorageService();
15701    method public void onAnrDelayStarted(@NonNull String, int, int, int);
15702    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
15703    method public abstract void onEndSession(@NonNull String) throws java.io.IOException;
15704    method public void onFreeCache(@NonNull java.util.UUID, long) throws java.io.IOException;
15705    method public abstract void onStartSession(@NonNull String, int, @NonNull android.os.ParcelFileDescriptor, @NonNull java.io.File, @NonNull java.io.File) throws java.io.IOException;
15706    method public abstract void onVolumeStateChanged(@NonNull android.os.storage.StorageVolume) throws java.io.IOException;
15707    field public static final int FLAG_SESSION_ATTRIBUTE_INDEXABLE = 2; // 0x2
15708    field public static final int FLAG_SESSION_TYPE_FUSE = 1; // 0x1
15709    field public static final String SERVICE_INTERFACE = "android.service.storage.ExternalStorageService";
15710  }
15711
15712}
15713
15714package android.service.textclassifier {
15715
15716  public abstract class TextClassifierService extends android.app.Service {
15717    ctor public TextClassifierService();
15718    method @NonNull public static android.view.textclassifier.TextClassifier getDefaultTextClassifierImplementation(@NonNull android.content.Context);
15719    method @Deprecated public final android.view.textclassifier.TextClassifier getLocalTextClassifier();
15720    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
15721    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>);
15722    method public void onConnected();
15723    method @MainThread public void onCreateTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationContext, @NonNull android.view.textclassifier.TextClassificationSessionId);
15724    method @MainThread public void onDestroyTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationSessionId);
15725    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>);
15726    method public void onDisconnected();
15727    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>);
15728    method @Deprecated @MainThread public void onSelectionEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.SelectionEvent);
15729    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>);
15730    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>);
15731    method @MainThread public void onTextClassifierEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextClassifierEvent);
15732    field public static final String SERVICE_INTERFACE = "android.service.textclassifier.TextClassifierService";
15733  }
15734
15735  public static interface TextClassifierService.Callback<T> {
15736    method public void onFailure(@NonNull CharSequence);
15737    method public void onSuccess(T);
15738  }
15739
15740}
15741
15742package android.service.timezone {
15743
15744  public abstract class TimeZoneProviderService extends android.app.Service {
15745    ctor public TimeZoneProviderService();
15746    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
15747    method public abstract void onStartUpdates(long);
15748    method public abstract void onStopUpdates();
15749    method public final void reportPermanentFailure(@NonNull Throwable);
15750    method public final void reportSuggestion(@NonNull android.service.timezone.TimeZoneProviderSuggestion);
15751    method public final void reportUncertain();
15752    field public static final String PRIMARY_LOCATION_TIME_ZONE_PROVIDER_SERVICE_INTERFACE = "android.service.timezone.PrimaryLocationTimeZoneProviderService";
15753    field public static final String SECONDARY_LOCATION_TIME_ZONE_PROVIDER_SERVICE_INTERFACE = "android.service.timezone.SecondaryLocationTimeZoneProviderService";
15754  }
15755
15756  public final class TimeZoneProviderSuggestion implements android.os.Parcelable {
15757    method public int describeContents();
15758    method public long getElapsedRealtimeMillis();
15759    method @NonNull public java.util.List<java.lang.String> getTimeZoneIds();
15760    method public void writeToParcel(@NonNull android.os.Parcel, int);
15761    field @NonNull public static final android.os.Parcelable.Creator<android.service.timezone.TimeZoneProviderSuggestion> CREATOR;
15762  }
15763
15764  public static final class TimeZoneProviderSuggestion.Builder {
15765    ctor public TimeZoneProviderSuggestion.Builder();
15766    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion build();
15767    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion.Builder setElapsedRealtimeMillis(long);
15768    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion.Builder setTimeZoneIds(@NonNull java.util.List<java.lang.String>);
15769  }
15770
15771}
15772
15773package android.service.tracing {
15774
15775  public class TraceReportService extends android.app.Service {
15776    ctor public TraceReportService();
15777    method public void onReportTrace(@NonNull android.service.tracing.TraceReportService.TraceParams);
15778  }
15779
15780  public static final class TraceReportService.TraceParams {
15781    method @NonNull public android.os.ParcelFileDescriptor getFd();
15782    method @NonNull public java.util.UUID getUuid();
15783  }
15784
15785}
15786
15787package android.service.translation {
15788
15789  public abstract class TranslationService extends android.app.Service {
15790    ctor public TranslationService();
15791    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
15792    method public void onConnected();
15793    method public abstract void onCreateTranslationSession(@NonNull android.view.translation.TranslationContext, int, @NonNull java.util.function.Consumer<java.lang.Boolean>);
15794    method public void onDisconnected();
15795    method public abstract void onFinishTranslationSession(int);
15796    method public abstract void onTranslationCapabilitiesRequest(int, int, @NonNull java.util.function.Consumer<java.util.Set<android.view.translation.TranslationCapability>>);
15797    method public abstract void onTranslationRequest(@NonNull android.view.translation.TranslationRequest, int, @Nullable android.os.CancellationSignal, @NonNull java.util.function.Consumer<android.view.translation.TranslationResponse>);
15798    method public final void updateTranslationCapability(@NonNull android.view.translation.TranslationCapability);
15799    field public static final String SERVICE_INTERFACE = "android.service.translation.TranslationService";
15800    field public static final String SERVICE_META_DATA = "android.translation_service";
15801  }
15802
15803}
15804
15805package android.service.trust {
15806
15807  public final class GrantTrustResult implements android.os.Parcelable {
15808    ctor public GrantTrustResult(int);
15809    method public int describeContents();
15810    method public int getStatus();
15811    method @NonNull public static String statusToString(int);
15812    method public void writeToParcel(@NonNull android.os.Parcel, int);
15813    field @NonNull public static final android.os.Parcelable.Creator<android.service.trust.GrantTrustResult> CREATOR;
15814    field public static final int STATUS_UNKNOWN = 0; // 0x0
15815    field public static final int STATUS_UNLOCKED_BY_GRANT = 1; // 0x1
15816  }
15817
15818  public class TrustAgentService extends android.app.Service {
15819    ctor public TrustAgentService();
15820    method public final void addEscrowToken(byte[], android.os.UserHandle);
15821    method @Deprecated public final void grantTrust(CharSequence, long, boolean);
15822    method @Deprecated public final void grantTrust(CharSequence, long, int);
15823    method public final void grantTrust(@NonNull CharSequence, long, int, @Nullable java.util.function.Consumer<android.service.trust.GrantTrustResult>);
15824    method public final void isEscrowTokenActive(long, android.os.UserHandle);
15825    method public final void lockUser();
15826    method public final android.os.IBinder onBind(android.content.Intent);
15827    method public boolean onConfigure(java.util.List<android.os.PersistableBundle>);
15828    method public void onDeviceLocked();
15829    method public void onDeviceUnlockLockout(long);
15830    method public void onDeviceUnlocked();
15831    method public void onEscrowTokenAdded(byte[], long, android.os.UserHandle);
15832    method public void onEscrowTokenRemoved(long, boolean);
15833    method public void onEscrowTokenStateReceived(long, int);
15834    method public void onTrustTimeout();
15835    method public void onUnlockAttempt(boolean);
15836    method public void onUserMayRequestUnlock();
15837    method public void onUserRequestedUnlock(boolean);
15838    method public final void removeEscrowToken(long, android.os.UserHandle);
15839    method public final void revokeTrust();
15840    method public final void setManagingTrust(boolean);
15841    method public final void showKeyguardErrorMessage(@NonNull CharSequence);
15842    method public final void unlockUserWithToken(long, byte[], android.os.UserHandle);
15843    field public static final int FLAG_GRANT_TRUST_DISMISS_KEYGUARD = 2; // 0x2
15844    field public static final int FLAG_GRANT_TRUST_DISPLAY_MESSAGE = 8; // 0x8
15845    field public static final int FLAG_GRANT_TRUST_INITIATED_BY_USER = 1; // 0x1
15846    field public static final int FLAG_GRANT_TRUST_TEMPORARY_AND_RENEWABLE = 4; // 0x4
15847    field public static final String SERVICE_INTERFACE = "android.service.trust.TrustAgentService";
15848    field public static final int TOKEN_STATE_ACTIVE = 1; // 0x1
15849    field public static final int TOKEN_STATE_INACTIVE = 0; // 0x0
15850    field public static final String TRUST_AGENT_META_DATA = "android.service.trust.trustagent";
15851  }
15852
15853}
15854
15855package android.service.voice {
15856
15857  public class AlwaysOnHotwordDetector implements android.service.voice.HotwordDetector {
15858    method @Nullable public android.content.Intent createEnrollIntent();
15859    method @Nullable public android.content.Intent createReEnrollIntent();
15860    method @Nullable public android.content.Intent createUnEnrollIntent();
15861    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public int getParameter(int);
15862    method public int getSupportedAudioCapabilities();
15863    method public int getSupportedRecognitionModes();
15864    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public android.service.voice.AlwaysOnHotwordDetector.ModelParamRange queryParameter(int);
15865    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public int setParameter(int, int);
15866    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition(int);
15867    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition();
15868    method public boolean startRecognition(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle);
15869    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean stopRecognition();
15870    method public final void updateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory);
15871    field public static final int AUDIO_CAPABILITY_ECHO_CANCELLATION = 1; // 0x1
15872    field public static final int AUDIO_CAPABILITY_NOISE_SUPPRESSION = 2; // 0x2
15873    field public static final int MODEL_PARAM_THRESHOLD_FACTOR = 0; // 0x0
15874    field public static final int RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS = 2; // 0x2
15875    field public static final int RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO = 1; // 0x1
15876    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_ECHO_CANCELLATION = 4; // 0x4
15877    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_NOISE_SUPPRESSION = 8; // 0x8
15878    field public static final int RECOGNITION_FLAG_RUN_IN_BATTERY_SAVER = 16; // 0x10
15879    field public static final int RECOGNITION_MODE_USER_IDENTIFICATION = 2; // 0x2
15880    field public static final int RECOGNITION_MODE_VOICE_TRIGGER = 1; // 0x1
15881    field public static final int STATE_ERROR = 3; // 0x3
15882    field public static final int STATE_HARDWARE_UNAVAILABLE = -2; // 0xfffffffe
15883    field public static final int STATE_KEYPHRASE_ENROLLED = 2; // 0x2
15884    field public static final int STATE_KEYPHRASE_UNENROLLED = 1; // 0x1
15885    field @Deprecated public static final int STATE_KEYPHRASE_UNSUPPORTED = -1; // 0xffffffff
15886  }
15887
15888  public abstract static class AlwaysOnHotwordDetector.Callback implements android.service.voice.HotwordDetector.Callback {
15889    ctor public AlwaysOnHotwordDetector.Callback();
15890    method public abstract void onAvailabilityChanged(int);
15891    method public void onHotwordDetectionServiceInitialized(int);
15892    method public void onHotwordDetectionServiceRestarted();
15893    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
15894  }
15895
15896  public static class AlwaysOnHotwordDetector.EventPayload {
15897    method @Nullable public android.os.ParcelFileDescriptor getAudioStream();
15898    method @Nullable public android.media.AudioFormat getCaptureAudioFormat();
15899    method @Nullable public byte[] getData();
15900    method public int getDataFormat();
15901    method @Nullable public android.service.voice.HotwordDetectedResult getHotwordDetectedResult();
15902    method @NonNull public java.util.List<android.hardware.soundtrigger.SoundTrigger.KeyphraseRecognitionExtra> getKeyphraseRecognitionExtras();
15903    method @Deprecated @Nullable public byte[] getTriggerAudio();
15904    field public static final int DATA_FORMAT_RAW = 0; // 0x0
15905    field public static final int DATA_FORMAT_TRIGGER_AUDIO = 1; // 0x1
15906  }
15907
15908  public static final class AlwaysOnHotwordDetector.ModelParamRange {
15909    method public int getEnd();
15910    method public int getStart();
15911  }
15912
15913  public final class HotwordDetectedResult implements android.os.Parcelable {
15914    method public int describeContents();
15915    method public int getAudioChannel();
15916    method public int getConfidenceLevel();
15917    method @NonNull public android.os.PersistableBundle getExtras();
15918    method public int getHotwordDurationMillis();
15919    method public int getHotwordOffsetMillis();
15920    method public int getHotwordPhraseId();
15921    method public static int getMaxBundleSize();
15922    method public static int getMaxHotwordPhraseId();
15923    method public static int getMaxScore();
15924    method @Nullable public android.media.MediaSyncEvent getMediaSyncEvent();
15925    method public int getPersonalizedScore();
15926    method public int getScore();
15927    method public boolean isHotwordDetectionPersonalized();
15928    method public void writeToParcel(@NonNull android.os.Parcel, int);
15929    field public static final int AUDIO_CHANNEL_UNSET = -1; // 0xffffffff
15930    field public static final int CONFIDENCE_LEVEL_HIGH = 5; // 0x5
15931    field public static final int CONFIDENCE_LEVEL_LOW = 1; // 0x1
15932    field public static final int CONFIDENCE_LEVEL_LOW_MEDIUM = 2; // 0x2
15933    field public static final int CONFIDENCE_LEVEL_MEDIUM = 3; // 0x3
15934    field public static final int CONFIDENCE_LEVEL_MEDIUM_HIGH = 4; // 0x4
15935    field public static final int CONFIDENCE_LEVEL_NONE = 0; // 0x0
15936    field public static final int CONFIDENCE_LEVEL_VERY_HIGH = 6; // 0x6
15937    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordDetectedResult> CREATOR;
15938    field public static final int HOTWORD_OFFSET_UNSET = -1; // 0xffffffff
15939  }
15940
15941  public static final class HotwordDetectedResult.Builder {
15942    ctor public HotwordDetectedResult.Builder();
15943    method @NonNull public android.service.voice.HotwordDetectedResult build();
15944    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setAudioChannel(int);
15945    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setConfidenceLevel(int);
15946    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setExtras(@NonNull android.os.PersistableBundle);
15947    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordDetectionPersonalized(boolean);
15948    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordDurationMillis(int);
15949    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordOffsetMillis(int);
15950    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordPhraseId(int);
15951    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setMediaSyncEvent(@NonNull android.media.MediaSyncEvent);
15952    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setPersonalizedScore(int);
15953    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setScore(int);
15954  }
15955
15956  public abstract class HotwordDetectionService extends android.app.Service {
15957    ctor public HotwordDetectionService();
15958    method public static int getMaxCustomInitializationStatus();
15959    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
15960    method public void onDetect(@NonNull android.service.voice.AlwaysOnHotwordDetector.EventPayload, long, @NonNull android.service.voice.HotwordDetectionService.Callback);
15961    method public void onDetect(@NonNull android.service.voice.HotwordDetectionService.Callback);
15962    method public void onDetect(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle, @NonNull android.service.voice.HotwordDetectionService.Callback);
15963    method public void onStopDetection();
15964    method public void onUpdateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, long, @Nullable java.util.function.IntConsumer);
15965    field public static final int INITIALIZATION_STATUS_SUCCESS = 0; // 0x0
15966    field public static final int INITIALIZATION_STATUS_UNKNOWN = 100; // 0x64
15967    field public static final String SERVICE_INTERFACE = "android.service.voice.HotwordDetectionService";
15968  }
15969
15970  public static final class HotwordDetectionService.Callback {
15971    method public void onDetected(@NonNull android.service.voice.HotwordDetectedResult);
15972    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
15973  }
15974
15975  public interface HotwordDetector {
15976    method public default void destroy();
15977    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition();
15978    method public boolean startRecognition(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle);
15979    method public boolean stopRecognition();
15980    method public void updateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory);
15981  }
15982
15983  public static interface HotwordDetector.Callback {
15984    method public void onDetected(@NonNull android.service.voice.AlwaysOnHotwordDetector.EventPayload);
15985    method public void onError();
15986    method public void onHotwordDetectionServiceInitialized(int);
15987    method public void onHotwordDetectionServiceRestarted();
15988    method public void onRecognitionPaused();
15989    method public void onRecognitionResumed();
15990    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
15991  }
15992
15993  public final class HotwordRejectedResult implements android.os.Parcelable {
15994    method public int describeContents();
15995    method public int getConfidenceLevel();
15996    method public void writeToParcel(@NonNull android.os.Parcel, int);
15997    field public static final int CONFIDENCE_LEVEL_HIGH = 3; // 0x3
15998    field public static final int CONFIDENCE_LEVEL_LOW = 1; // 0x1
15999    field public static final int CONFIDENCE_LEVEL_MEDIUM = 2; // 0x2
16000    field public static final int CONFIDENCE_LEVEL_NONE = 0; // 0x0
16001    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordRejectedResult> CREATOR;
16002  }
16003
16004  public static final class HotwordRejectedResult.Builder {
16005    ctor public HotwordRejectedResult.Builder();
16006    method @NonNull public android.service.voice.HotwordRejectedResult build();
16007    method @NonNull public android.service.voice.HotwordRejectedResult.Builder setConfidenceLevel(int);
16008  }
16009
16010  public class VoiceInteractionService extends android.app.Service {
16011    method @NonNull public final android.service.voice.AlwaysOnHotwordDetector createAlwaysOnHotwordDetector(String, java.util.Locale, android.service.voice.AlwaysOnHotwordDetector.Callback);
16012    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_HOTWORD_DETECTION) public final android.service.voice.AlwaysOnHotwordDetector createAlwaysOnHotwordDetector(String, java.util.Locale, @Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, android.service.voice.AlwaysOnHotwordDetector.Callback);
16013    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_HOTWORD_DETECTION) public final android.service.voice.HotwordDetector createHotwordDetector(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, @NonNull android.service.voice.HotwordDetector.Callback);
16014    method @NonNull @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public final android.media.voice.KeyphraseModelManager createKeyphraseModelManager();
16015  }
16016
16017}
16018
16019package android.service.wallpaper {
16020
16021  public class WallpaperService.Engine {
16022    method public boolean isInAmbientMode();
16023    method public void onAmbientModeChanged(boolean, long);
16024  }
16025
16026}
16027
16028package android.service.wallpapereffectsgeneration {
16029
16030  public abstract class WallpaperEffectsGenerationService extends android.app.Service {
16031    ctor public WallpaperEffectsGenerationService();
16032    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
16033    method @MainThread public abstract void onGenerateCinematicEffect(@NonNull android.app.wallpapereffectsgeneration.CinematicEffectRequest);
16034    method public final void returnCinematicEffectResponse(@NonNull android.app.wallpapereffectsgeneration.CinematicEffectResponse);
16035    field public static final String SERVICE_INTERFACE = "android.service.wallpapereffectsgeneration.WallpaperEffectsGenerationService";
16036  }
16037
16038}
16039
16040package android.service.watchdog {
16041
16042  public abstract class ExplicitHealthCheckService extends android.app.Service {
16043    ctor public ExplicitHealthCheckService();
16044    method public final void notifyHealthCheckPassed(@NonNull String);
16045    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
16046    method public abstract void onCancelHealthCheck(@NonNull String);
16047    method @NonNull public abstract java.util.List<java.lang.String> onGetRequestedPackages();
16048    method @NonNull public abstract java.util.List<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> onGetSupportedPackages();
16049    method public abstract void onRequestHealthCheck(@NonNull String);
16050    field public static final String BIND_PERMISSION = "android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE";
16051    field public static final String SERVICE_INTERFACE = "android.service.watchdog.ExplicitHealthCheckService";
16052  }
16053
16054  public static final class ExplicitHealthCheckService.PackageConfig implements android.os.Parcelable {
16055    ctor public ExplicitHealthCheckService.PackageConfig(@NonNull String, long);
16056    method public int describeContents();
16057    method public long getHealthCheckTimeoutMillis();
16058    method @NonNull public String getPackageName();
16059    method public void writeToParcel(android.os.Parcel, int);
16060    field @NonNull public static final android.os.Parcelable.Creator<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> CREATOR;
16061  }
16062
16063}
16064
16065package android.telecom {
16066
16067  @Deprecated public class AudioState implements android.os.Parcelable {
16068    ctor @Deprecated public AudioState(boolean, int, int);
16069    ctor @Deprecated public AudioState(android.telecom.AudioState);
16070    ctor @Deprecated public AudioState(android.telecom.CallAudioState);
16071    method @Deprecated public static String audioRouteToString(int);
16072    method @Deprecated public int describeContents();
16073    method @Deprecated public int getRoute();
16074    method @Deprecated public int getSupportedRouteMask();
16075    method @Deprecated public boolean isMuted();
16076    method @Deprecated public void writeToParcel(android.os.Parcel, int);
16077    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.telecom.AudioState> CREATOR;
16078    field @Deprecated public static final int ROUTE_BLUETOOTH = 2; // 0x2
16079    field @Deprecated public static final int ROUTE_EARPIECE = 1; // 0x1
16080    field @Deprecated public static final int ROUTE_SPEAKER = 8; // 0x8
16081    field @Deprecated public static final int ROUTE_WIRED_HEADSET = 4; // 0x4
16082    field @Deprecated public static final int ROUTE_WIRED_OR_EARPIECE = 5; // 0x5
16083  }
16084
16085  public final class BluetoothCallQualityReport implements android.os.Parcelable {
16086    method public int describeContents();
16087    method @IntRange(from=0) public int getNegativeAcknowledgementCount();
16088    method @IntRange(from=0) public int getPacketsNotReceivedCount();
16089    method @IntRange(from=0) public int getRetransmittedPacketsCount();
16090    method @IntRange(from=0xffffff81, to=20) public int getRssiDbm();
16091    method public long getSentTimestampMillis();
16092    method public int getSnrDb();
16093    method public boolean isChoppyVoice();
16094    method public void writeToParcel(@NonNull android.os.Parcel, int);
16095    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.BluetoothCallQualityReport> CREATOR;
16096    field public static final String EVENT_BLUETOOTH_CALL_QUALITY_REPORT = "android.telecom.event.BLUETOOTH_CALL_QUALITY_REPORT";
16097    field public static final String EXTRA_BLUETOOTH_CALL_QUALITY_REPORT = "android.telecom.extra.BLUETOOTH_CALL_QUALITY_REPORT";
16098  }
16099
16100  public static final class BluetoothCallQualityReport.Builder {
16101    ctor public BluetoothCallQualityReport.Builder();
16102    method @NonNull public android.telecom.BluetoothCallQualityReport build();
16103    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setChoppyVoice(boolean);
16104    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setNegativeAcknowledgementCount(int);
16105    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setPacketsNotReceivedCount(int);
16106    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setRetransmittedPacketsCount(int);
16107    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setRssiDbm(int);
16108    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setSentTimestampMillis(long);
16109    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setSnrDb(int);
16110  }
16111
16112  public final class Call {
16113    method @Deprecated public void addListener(android.telecom.Call.Listener);
16114    method public void enterBackgroundAudioProcessing();
16115    method public void exitBackgroundAudioProcessing(boolean);
16116    method @Deprecated public void removeListener(android.telecom.Call.Listener);
16117    field @Deprecated public static final int STATE_PRE_DIAL_WAIT = 8; // 0x8
16118  }
16119
16120  @Deprecated public abstract static class Call.Listener extends android.telecom.Call.Callback {
16121    ctor @Deprecated public Call.Listener();
16122  }
16123
16124  public abstract class CallDiagnosticService extends android.app.Service {
16125    ctor public CallDiagnosticService();
16126    method @NonNull public java.util.concurrent.Executor getExecutor();
16127    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
16128    method public abstract void onBluetoothCallQualityReportReceived(@NonNull android.telecom.BluetoothCallQualityReport);
16129    method public abstract void onCallAudioStateChanged(@NonNull android.telecom.CallAudioState);
16130    method @NonNull public abstract android.telecom.CallDiagnostics onInitializeCallDiagnostics(@NonNull android.telecom.Call.Details);
16131    method public abstract void onRemoveCallDiagnostics(@NonNull android.telecom.CallDiagnostics);
16132    field public static final String SERVICE_INTERFACE = "android.telecom.CallDiagnosticService";
16133  }
16134
16135  public abstract class CallDiagnostics {
16136    ctor public CallDiagnostics();
16137    method public final void clearDiagnosticMessage(int);
16138    method public final void displayDiagnosticMessage(int, @NonNull CharSequence);
16139    method public abstract void onCallDetailsChanged(@NonNull android.telecom.Call.Details);
16140    method @Nullable public abstract CharSequence onCallDisconnected(int, int);
16141    method @Nullable public abstract CharSequence onCallDisconnected(@NonNull android.telephony.ims.ImsReasonInfo);
16142    method public abstract void onCallQualityReceived(@NonNull android.telephony.CallQuality);
16143    method public abstract void onReceiveDeviceToDeviceMessage(int, int);
16144    method public final void sendDeviceToDeviceMessage(int, int);
16145    field public static final int BATTERY_STATE_CHARGING = 3; // 0x3
16146    field public static final int BATTERY_STATE_GOOD = 2; // 0x2
16147    field public static final int BATTERY_STATE_LOW = 1; // 0x1
16148    field public static final int COVERAGE_GOOD = 2; // 0x2
16149    field public static final int COVERAGE_POOR = 1; // 0x1
16150    field public static final int MESSAGE_CALL_AUDIO_CODEC = 2; // 0x2
16151    field public static final int MESSAGE_CALL_NETWORK_TYPE = 1; // 0x1
16152    field public static final int MESSAGE_DEVICE_BATTERY_STATE = 3; // 0x3
16153    field public static final int MESSAGE_DEVICE_NETWORK_COVERAGE = 4; // 0x4
16154  }
16155
16156  public static class CallScreeningService.CallResponse.Builder {
16157    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public android.telecom.CallScreeningService.CallResponse.Builder setShouldScreenCallViaAudioProcessing(boolean);
16158  }
16159
16160  public abstract class Conference extends android.telecom.Conferenceable {
16161    method @Deprecated public final android.telecom.AudioState getAudioState();
16162    method @Deprecated public final long getConnectTimeMillis();
16163    method public android.telecom.Connection getPrimaryConnection();
16164    method @NonNull public final String getTelecomCallId();
16165    method @Deprecated public void onAudioStateChanged(android.telecom.AudioState);
16166    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setAddress(@NonNull android.net.Uri, int);
16167    method public final void setCallerDisplayName(@NonNull String, int);
16168    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setConferenceState(boolean);
16169    method @Deprecated public final void setConnectTimeMillis(long);
16170  }
16171
16172  public abstract class Connection extends android.telecom.Conferenceable {
16173    method @Deprecated public final android.telecom.AudioState getAudioState();
16174    method @IntRange(from=0) public final long getConnectTimeMillis();
16175    method public final long getConnectionStartElapsedRealtimeMillis();
16176    method @Nullable public android.telecom.PhoneAccountHandle getPhoneAccountHandle();
16177    method @Nullable public final String getTelecomCallId();
16178    method @Deprecated public void onAudioStateChanged(android.telecom.AudioState);
16179    method @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public void onCallFilteringCompleted(@NonNull android.telecom.Connection.CallFilteringCompletionInfo);
16180    method public final void resetConnectionTime();
16181    method public void setCallDirection(int);
16182    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setConnectTimeMillis(@IntRange(from=0) long);
16183    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setConnectionStartElapsedRealtimeMillis(long);
16184    method public void setPhoneAccountHandle(@NonNull android.telecom.PhoneAccountHandle);
16185    method public void setTelecomCallId(@NonNull String);
16186    field public static final int CAPABILITY_CONFERENCE_HAS_NO_CHILDREN = 2097152; // 0x200000
16187    field public static final int CAPABILITY_SPEED_UP_MT_AUDIO = 262144; // 0x40000
16188    field public static final String EVENT_DEVICE_TO_DEVICE_MESSAGE = "android.telecom.event.DEVICE_TO_DEVICE_MESSAGE";
16189    field public static final String EXTRA_DEVICE_TO_DEVICE_MESSAGE_TYPE = "android.telecom.extra.DEVICE_TO_DEVICE_MESSAGE_TYPE";
16190    field public static final String EXTRA_DEVICE_TO_DEVICE_MESSAGE_VALUE = "android.telecom.extra.DEVICE_TO_DEVICE_MESSAGE_VALUE";
16191    field public static final String EXTRA_DISABLE_ADD_CALL = "android.telecom.extra.DISABLE_ADD_CALL";
16192    field public static final int PROPERTY_EMERGENCY_CALLBACK_MODE = 1; // 0x1
16193    field public static final int PROPERTY_GENERIC_CONFERENCE = 2; // 0x2
16194    field public static final int PROPERTY_IS_DOWNGRADED_CONFERENCE = 64; // 0x40
16195    field public static final int PROPERTY_REMOTELY_HOSTED = 2048; // 0x800
16196  }
16197
16198  public static final class Connection.CallFilteringCompletionInfo implements android.os.Parcelable {
16199    ctor public Connection.CallFilteringCompletionInfo(boolean, boolean, @Nullable android.telecom.CallScreeningService.CallResponse, @Nullable android.content.ComponentName);
16200    method public int describeContents();
16201    method @Nullable public android.telecom.CallScreeningService.CallResponse getCallResponse();
16202    method @Nullable public android.content.ComponentName getCallScreeningComponent();
16203    method public boolean isBlocked();
16204    method public boolean isInContacts();
16205    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.Connection.CallFilteringCompletionInfo> CREATOR;
16206  }
16207
16208  public final class ConnectionRequest implements android.os.Parcelable {
16209    method @Nullable public String getTelecomCallId();
16210  }
16211
16212  public abstract class ConnectionService extends android.app.Service {
16213    method public final void addExistingConnection(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.Connection, @NonNull android.telecom.Conference);
16214  }
16215
16216  public abstract class InCallService extends android.app.Service {
16217    method @Deprecated public android.telecom.Phone getPhone();
16218    method @Deprecated public void onPhoneCreated(android.telecom.Phone);
16219    method @Deprecated public void onPhoneDestroyed(android.telecom.Phone);
16220  }
16221
16222  public class ParcelableCallAnalytics implements android.os.Parcelable {
16223    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>);
16224    ctor public ParcelableCallAnalytics(android.os.Parcel);
16225    method public java.util.List<android.telecom.ParcelableCallAnalytics.AnalyticsEvent> analyticsEvents();
16226    method public int describeContents();
16227    method public long getCallDurationMillis();
16228    method public int getCallTechnologies();
16229    method public int getCallTerminationCode();
16230    method public int getCallType();
16231    method public String getConnectionService();
16232    method public java.util.List<android.telecom.ParcelableCallAnalytics.EventTiming> getEventTimings();
16233    method public long getStartTimeMillis();
16234    method public boolean isAdditionalCall();
16235    method public boolean isCreatedFromExistingConnection();
16236    method public boolean isEmergencyCall();
16237    method public boolean isInterrupted();
16238    method public void writeToParcel(android.os.Parcel, int);
16239    field public static final int CALLTYPE_INCOMING = 1; // 0x1
16240    field public static final int CALLTYPE_OUTGOING = 2; // 0x2
16241    field public static final int CALLTYPE_UNKNOWN = 0; // 0x0
16242    field public static final int CDMA_PHONE = 1; // 0x1
16243    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics> CREATOR;
16244    field public static final int GSM_PHONE = 2; // 0x2
16245    field public static final int IMS_PHONE = 4; // 0x4
16246    field public static final long MILLIS_IN_1_SECOND = 1000L; // 0x3e8L
16247    field public static final long MILLIS_IN_5_MINUTES = 300000L; // 0x493e0L
16248    field public static final int SIP_PHONE = 8; // 0x8
16249    field public static final int STILL_CONNECTED = -1; // 0xffffffff
16250    field public static final int THIRD_PARTY_PHONE = 16; // 0x10
16251  }
16252
16253  public static final class ParcelableCallAnalytics.AnalyticsEvent implements android.os.Parcelable {
16254    ctor public ParcelableCallAnalytics.AnalyticsEvent(int, long);
16255    method public int describeContents();
16256    method public int getEventName();
16257    method public long getTimeSinceLastEvent();
16258    method public void writeToParcel(android.os.Parcel, int);
16259    field public static final int AUDIO_ROUTE_BT = 204; // 0xcc
16260    field public static final int AUDIO_ROUTE_EARPIECE = 205; // 0xcd
16261    field public static final int AUDIO_ROUTE_HEADSET = 206; // 0xce
16262    field public static final int AUDIO_ROUTE_SPEAKER = 207; // 0xcf
16263    field public static final int BIND_CS = 5; // 0x5
16264    field public static final int BLOCK_CHECK_FINISHED = 105; // 0x69
16265    field public static final int BLOCK_CHECK_INITIATED = 104; // 0x68
16266    field public static final int CONFERENCE_WITH = 300; // 0x12c
16267    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.AnalyticsEvent> CREATOR;
16268    field public static final int CS_BOUND = 6; // 0x6
16269    field public static final int DIRECT_TO_VM_FINISHED = 103; // 0x67
16270    field public static final int DIRECT_TO_VM_INITIATED = 102; // 0x66
16271    field public static final int FILTERING_COMPLETED = 107; // 0x6b
16272    field public static final int FILTERING_INITIATED = 106; // 0x6a
16273    field public static final int FILTERING_TIMED_OUT = 108; // 0x6c
16274    field public static final int MUTE = 202; // 0xca
16275    field public static final int REMOTELY_HELD = 402; // 0x192
16276    field public static final int REMOTELY_UNHELD = 403; // 0x193
16277    field public static final int REQUEST_ACCEPT = 7; // 0x7
16278    field public static final int REQUEST_HOLD = 400; // 0x190
16279    field public static final int REQUEST_PULL = 500; // 0x1f4
16280    field public static final int REQUEST_REJECT = 8; // 0x8
16281    field public static final int REQUEST_UNHOLD = 401; // 0x191
16282    field public static final int SCREENING_COMPLETED = 101; // 0x65
16283    field public static final int SCREENING_SENT = 100; // 0x64
16284    field public static final int SET_ACTIVE = 1; // 0x1
16285    field public static final int SET_DIALING = 4; // 0x4
16286    field public static final int SET_DISCONNECTED = 2; // 0x2
16287    field public static final int SET_HOLD = 404; // 0x194
16288    field public static final int SET_PARENT = 302; // 0x12e
16289    field public static final int SET_SELECT_PHONE_ACCOUNT = 0; // 0x0
16290    field public static final int SILENCE = 201; // 0xc9
16291    field public static final int SKIP_RINGING = 200; // 0xc8
16292    field public static final int SPLIT_CONFERENCE = 301; // 0x12d
16293    field public static final int START_CONNECTION = 3; // 0x3
16294    field public static final int SWAP = 405; // 0x195
16295    field public static final int UNMUTE = 203; // 0xcb
16296  }
16297
16298  public static final class ParcelableCallAnalytics.EventTiming implements android.os.Parcelable {
16299    ctor public ParcelableCallAnalytics.EventTiming(int, long);
16300    method public int describeContents();
16301    method public int getName();
16302    method public long getTime();
16303    method public void writeToParcel(android.os.Parcel, int);
16304    field public static final int ACCEPT_TIMING = 0; // 0x0
16305    field public static final int BIND_CS_TIMING = 6; // 0x6
16306    field public static final int BLOCK_CHECK_FINISHED_TIMING = 9; // 0x9
16307    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.EventTiming> CREATOR;
16308    field public static final int DIRECT_TO_VM_FINISHED_TIMING = 8; // 0x8
16309    field public static final int DISCONNECT_TIMING = 2; // 0x2
16310    field public static final int FILTERING_COMPLETED_TIMING = 10; // 0xa
16311    field public static final int FILTERING_TIMED_OUT_TIMING = 11; // 0xb
16312    field public static final int HOLD_TIMING = 3; // 0x3
16313    field public static final int INVALID = 999999; // 0xf423f
16314    field public static final int OUTGOING_TIME_TO_DIALING_TIMING = 5; // 0x5
16315    field public static final int REJECT_TIMING = 1; // 0x1
16316    field public static final int SCREENING_COMPLETED_TIMING = 7; // 0x7
16317    field public static final int UNHOLD_TIMING = 4; // 0x4
16318  }
16319
16320  @Deprecated public final class Phone {
16321    method @Deprecated public void addListener(android.telecom.Phone.Listener);
16322    method @Deprecated public boolean canAddCall();
16323    method @Deprecated public android.telecom.AudioState getAudioState();
16324    method @Deprecated public android.telecom.CallAudioState getCallAudioState();
16325    method @Deprecated public java.util.List<android.telecom.Call> getCalls();
16326    method @Deprecated public void removeListener(android.telecom.Phone.Listener);
16327    method @Deprecated public void requestBluetoothAudio(String);
16328    method @Deprecated public void setAudioRoute(int);
16329    method @Deprecated public void setMuted(boolean);
16330  }
16331
16332  @Deprecated public abstract static class Phone.Listener {
16333    ctor @Deprecated public Phone.Listener();
16334    method @Deprecated public void onAudioStateChanged(android.telecom.Phone, android.telecom.AudioState);
16335    method @Deprecated public void onBringToForeground(android.telecom.Phone, boolean);
16336    method @Deprecated public void onCallAdded(android.telecom.Phone, android.telecom.Call);
16337    method @Deprecated public void onCallAudioStateChanged(android.telecom.Phone, android.telecom.CallAudioState);
16338    method @Deprecated public void onCallRemoved(android.telecom.Phone, android.telecom.Call);
16339    method @Deprecated public void onCanAddCallChanged(android.telecom.Phone, boolean);
16340    method @Deprecated public void onSilenceRinger(android.telecom.Phone);
16341  }
16342
16343  public final class PhoneAccount implements android.os.Parcelable {
16344    field public static final int CAPABILITY_EMERGENCY_CALLS_ONLY = 128; // 0x80
16345    field public static final int CAPABILITY_EMERGENCY_PREFERRED = 8192; // 0x2000
16346    field public static final int CAPABILITY_EMERGENCY_VIDEO_CALLING = 512; // 0x200
16347    field public static final int CAPABILITY_MULTI_USER = 32; // 0x20
16348    field public static final String EXTRA_PLAY_CALL_RECORDING_TONE = "android.telecom.extra.PLAY_CALL_RECORDING_TONE";
16349    field public static final String EXTRA_SORT_ORDER = "android.telecom.extra.SORT_ORDER";
16350  }
16351
16352  public static class PhoneAccount.Builder {
16353    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telecom.PhoneAccount.Builder setGroupId(@NonNull String);
16354  }
16355
16356  public class PhoneAccountSuggestionService extends android.app.Service {
16357    ctor public PhoneAccountSuggestionService();
16358    method public void onAccountSuggestionRequest(@NonNull String);
16359    method public android.os.IBinder onBind(android.content.Intent);
16360    method public final void suggestPhoneAccounts(@NonNull String, @NonNull java.util.List<android.telecom.PhoneAccountSuggestion>);
16361    field public static final String SERVICE_INTERFACE = "android.telecom.PhoneAccountSuggestionService";
16362  }
16363
16364  public final class RemoteConference {
16365    method @Deprecated public void setAudioState(android.telecom.AudioState);
16366  }
16367
16368  public final class RemoteConnection {
16369    method @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public void onCallFilteringCompleted(@NonNull android.telecom.Connection.CallFilteringCompletionInfo);
16370    method @Deprecated public void setAudioState(android.telecom.AudioState);
16371  }
16372
16373  public final class StatusHints implements android.os.Parcelable {
16374    ctor @Deprecated public StatusHints(android.content.ComponentName, CharSequence, int, android.os.Bundle);
16375    method @Deprecated public android.graphics.drawable.Drawable getIcon(android.content.Context);
16376    method @Deprecated public int getIconResId();
16377    method @Deprecated public android.content.ComponentName getPackageName();
16378  }
16379
16380  public final class TelecomAnalytics implements android.os.Parcelable {
16381    ctor public TelecomAnalytics(java.util.List<android.telecom.TelecomAnalytics.SessionTiming>, java.util.List<android.telecom.ParcelableCallAnalytics>);
16382    method public int describeContents();
16383    method public java.util.List<android.telecom.ParcelableCallAnalytics> getCallAnalytics();
16384    method public java.util.List<android.telecom.TelecomAnalytics.SessionTiming> getSessionTimings();
16385    method public void writeToParcel(android.os.Parcel, int);
16386    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics> CREATOR;
16387  }
16388
16389  public static final class TelecomAnalytics.SessionTiming implements android.os.Parcelable {
16390    ctor public TelecomAnalytics.SessionTiming(int, long);
16391    method public int describeContents();
16392    method public Integer getKey();
16393    method public long getTime();
16394    method public void writeToParcel(android.os.Parcel, int);
16395    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics.SessionTiming> CREATOR;
16396    field public static final int CSW_ADD_CONFERENCE_CALL = 108; // 0x6c
16397    field public static final int CSW_HANDLE_CREATE_CONNECTION_COMPLETE = 100; // 0x64
16398    field public static final int CSW_REMOVE_CALL = 106; // 0x6a
16399    field public static final int CSW_SET_ACTIVE = 101; // 0x65
16400    field public static final int CSW_SET_DIALING = 103; // 0x67
16401    field public static final int CSW_SET_DISCONNECTED = 104; // 0x68
16402    field public static final int CSW_SET_IS_CONFERENCED = 107; // 0x6b
16403    field public static final int CSW_SET_ON_HOLD = 105; // 0x69
16404    field public static final int CSW_SET_RINGING = 102; // 0x66
16405    field public static final int ICA_ANSWER_CALL = 1; // 0x1
16406    field public static final int ICA_CONFERENCE = 8; // 0x8
16407    field public static final int ICA_DISCONNECT_CALL = 3; // 0x3
16408    field public static final int ICA_HOLD_CALL = 4; // 0x4
16409    field public static final int ICA_MUTE = 6; // 0x6
16410    field public static final int ICA_REJECT_CALL = 2; // 0x2
16411    field public static final int ICA_SET_AUDIO_ROUTE = 7; // 0x7
16412    field public static final int ICA_UNHOLD_CALL = 5; // 0x5
16413  }
16414
16415  public class TelecomManager {
16416    method public void addNewUnknownCall(android.telecom.PhoneAccountHandle, android.os.Bundle);
16417    method @Deprecated public void clearAccounts();
16418    method public void clearPhoneAccounts();
16419    method @NonNull public android.content.Intent createLaunchEmergencyDialerIntent(@Nullable String);
16420    method @RequiresPermission(android.Manifest.permission.DUMP) public android.telecom.TelecomAnalytics dumpAnalytics();
16421    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void enablePhoneAccount(android.telecom.PhoneAccountHandle, boolean);
16422    method public java.util.List<android.telecom.PhoneAccountHandle> getAllPhoneAccountHandles();
16423    method public java.util.List<android.telecom.PhoneAccount> getAllPhoneAccounts();
16424    method public int getAllPhoneAccountsCount();
16425    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.telecom.PhoneAccountHandle> getCallCapablePhoneAccounts(boolean);
16426    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}, conditional=true) public int getCallState();
16427    method public android.telecom.PhoneAccountHandle getConnectionManager();
16428    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCurrentTtyMode();
16429    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultDialerPackage(@NonNull android.os.UserHandle);
16430    method @Deprecated public android.content.ComponentName getDefaultPhoneApp();
16431    method @Deprecated public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsForPackage();
16432    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);
16433    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean isInEmergencyCall();
16434    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRinging();
16435    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUserSelectedOutgoingPhoneAccount(@Nullable android.telecom.PhoneAccountHandle);
16436    field public static final String ACTION_CURRENT_TTY_MODE_CHANGED = "android.telecom.action.CURRENT_TTY_MODE_CHANGED";
16437    field public static final String ACTION_TTY_PREFERRED_MODE_CHANGED = "android.telecom.action.TTY_PREFERRED_MODE_CHANGED";
16438    field public static final int CALL_SOURCE_EMERGENCY_DIALPAD = 1; // 0x1
16439    field public static final int CALL_SOURCE_EMERGENCY_SHORTCUT = 2; // 0x2
16440    field public static final int CALL_SOURCE_UNSPECIFIED = 0; // 0x0
16441    field public static final String EXTRA_CALL_BACK_INTENT = "android.telecom.extra.CALL_BACK_INTENT";
16442    field public static final String EXTRA_CALL_HAS_IN_BAND_RINGTONE = "android.telecom.extra.CALL_HAS_IN_BAND_RINGTONE";
16443    field public static final String EXTRA_CALL_SOURCE = "android.telecom.extra.CALL_SOURCE";
16444    field public static final String EXTRA_CALL_TECHNOLOGY_TYPE = "android.telecom.extra.CALL_TECHNOLOGY_TYPE";
16445    field public static final String EXTRA_CLEAR_MISSED_CALLS_INTENT = "android.telecom.extra.CLEAR_MISSED_CALLS_INTENT";
16446    field public static final String EXTRA_CONNECTION_SERVICE = "android.telecom.extra.CONNECTION_SERVICE";
16447    field public static final String EXTRA_CURRENT_TTY_MODE = "android.telecom.extra.CURRENT_TTY_MODE";
16448    field public static final String EXTRA_IS_USER_INTENT_EMERGENCY_CALL = "android.telecom.extra.IS_USER_INTENT_EMERGENCY_CALL";
16449    field public static final String EXTRA_TTY_PREFERRED_MODE = "android.telecom.extra.TTY_PREFERRED_MODE";
16450    field public static final String EXTRA_UNKNOWN_CALL_HANDLE = "android.telecom.extra.UNKNOWN_CALL_HANDLE";
16451    field public static final int TTY_MODE_FULL = 1; // 0x1
16452    field public static final int TTY_MODE_HCO = 2; // 0x2
16453    field public static final int TTY_MODE_OFF = 0; // 0x0
16454    field public static final int TTY_MODE_VCO = 3; // 0x3
16455  }
16456
16457}
16458
16459package android.telephony {
16460
16461  public final class AccessNetworkConstants {
16462    field public static final int TRANSPORT_TYPE_INVALID = -1; // 0xffffffff
16463  }
16464
16465  public static final class AccessNetworkConstants.NgranBands {
16466    method public static int getFrequencyRangeGroup(int);
16467    field public static final int FREQUENCY_RANGE_GROUP_1 = 1; // 0x1
16468    field public static final int FREQUENCY_RANGE_GROUP_2 = 2; // 0x2
16469    field public static final int FREQUENCY_RANGE_GROUP_UNKNOWN = 0; // 0x0
16470  }
16471
16472  public final class BarringInfo implements android.os.Parcelable {
16473    ctor public BarringInfo();
16474    method @NonNull public android.telephony.BarringInfo createLocationInfoSanitizedCopy();
16475  }
16476
16477  public final class CallAttributes implements android.os.Parcelable {
16478    ctor public CallAttributes(@NonNull android.telephony.PreciseCallState, int, @NonNull android.telephony.CallQuality);
16479    method public int describeContents();
16480    method @NonNull public android.telephony.CallQuality getCallQuality();
16481    method public int getNetworkType();
16482    method @NonNull public android.telephony.PreciseCallState getPreciseCallState();
16483    method public void writeToParcel(android.os.Parcel, int);
16484    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallAttributes> CREATOR;
16485  }
16486
16487  public final class CallForwardingInfo implements android.os.Parcelable {
16488    ctor public CallForwardingInfo(boolean, int, @Nullable String, int);
16489    method public int describeContents();
16490    method @Nullable public String getNumber();
16491    method public int getReason();
16492    method public int getTimeoutSeconds();
16493    method public boolean isEnabled();
16494    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallForwardingInfo> CREATOR;
16495    field public static final int REASON_ALL = 4; // 0x4
16496    field public static final int REASON_ALL_CONDITIONAL = 5; // 0x5
16497    field public static final int REASON_BUSY = 1; // 0x1
16498    field public static final int REASON_NOT_REACHABLE = 3; // 0x3
16499    field public static final int REASON_NO_REPLY = 2; // 0x2
16500    field public static final int REASON_UNCONDITIONAL = 0; // 0x0
16501  }
16502
16503  public final class CallQuality implements android.os.Parcelable {
16504    ctor public CallQuality(int, int, int, int, int, int, int, int, int, int, int);
16505    ctor public CallQuality(int, int, int, int, int, int, int, int, int, int, int, boolean, boolean, boolean);
16506    method public int describeContents();
16507    method public int getAverageRelativeJitter();
16508    method public int getAverageRoundTripTime();
16509    method public int getCallDuration();
16510    method public int getCodecType();
16511    method public int getDownlinkCallQualityLevel();
16512    method public long getMaxPlayoutDelayMillis();
16513    method public int getMaxRelativeJitter();
16514    method public long getMinPlayoutDelayMillis();
16515    method public int getNumDroppedRtpPackets();
16516    method public int getNumNoDataFrames();
16517    method public int getNumRtpDuplicatePackets();
16518    method public int getNumRtpPacketsNotReceived();
16519    method public int getNumRtpPacketsReceived();
16520    method public int getNumRtpPacketsTransmitted();
16521    method public int getNumRtpPacketsTransmittedLost();
16522    method public int getNumRtpSidPacketsReceived();
16523    method public int getNumVoiceFrames();
16524    method public int getUplinkCallQualityLevel();
16525    method public boolean isIncomingSilenceDetectedAtCallSetup();
16526    method public boolean isOutgoingSilenceDetectedAtCallSetup();
16527    method public boolean isRtpInactivityDetected();
16528    method public void writeToParcel(android.os.Parcel, int);
16529    field public static final int CALL_QUALITY_BAD = 4; // 0x4
16530    field public static final int CALL_QUALITY_EXCELLENT = 0; // 0x0
16531    field public static final int CALL_QUALITY_FAIR = 2; // 0x2
16532    field public static final int CALL_QUALITY_GOOD = 1; // 0x1
16533    field public static final int CALL_QUALITY_NOT_AVAILABLE = 5; // 0x5
16534    field public static final int CALL_QUALITY_POOR = 3; // 0x3
16535    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallQuality> CREATOR;
16536  }
16537
16538  public static final class CallQuality.Builder {
16539    ctor public CallQuality.Builder();
16540    method @NonNull public android.telephony.CallQuality build();
16541    method @NonNull public android.telephony.CallQuality.Builder setAverageRelativeJitter(int);
16542    method @NonNull public android.telephony.CallQuality.Builder setAverageRoundTripTimeMillis(int);
16543    method @NonNull public android.telephony.CallQuality.Builder setCallDurationMillis(int);
16544    method @NonNull public android.telephony.CallQuality.Builder setCodecType(int);
16545    method @NonNull public android.telephony.CallQuality.Builder setDownlinkCallQualityLevel(int);
16546    method @NonNull public android.telephony.CallQuality.Builder setIncomingSilenceDetectedAtCallSetup(boolean);
16547    method @NonNull public android.telephony.CallQuality.Builder setMaxPlayoutDelayMillis(long);
16548    method @NonNull public android.telephony.CallQuality.Builder setMaxRelativeJitter(int);
16549    method @NonNull public android.telephony.CallQuality.Builder setMinPlayoutDelayMillis(long);
16550    method @NonNull public android.telephony.CallQuality.Builder setNumDroppedRtpPackets(int);
16551    method @NonNull public android.telephony.CallQuality.Builder setNumNoDataFrames(int);
16552    method @NonNull public android.telephony.CallQuality.Builder setNumRtpDuplicatePackets(int);
16553    method @NonNull public android.telephony.CallQuality.Builder setNumRtpPacketsNotReceived(int);
16554    method @NonNull public android.telephony.CallQuality.Builder setNumRtpPacketsReceived(int);
16555    method @NonNull public android.telephony.CallQuality.Builder setNumRtpPacketsTransmitted(int);
16556    method @NonNull public android.telephony.CallQuality.Builder setNumRtpPacketsTransmittedLost(int);
16557    method @NonNull public android.telephony.CallQuality.Builder setNumRtpSidPacketsReceived(int);
16558    method @NonNull public android.telephony.CallQuality.Builder setNumVoiceFrames(int);
16559    method @NonNull public android.telephony.CallQuality.Builder setOutgoingSilenceDetectedAtCallSetup(boolean);
16560    method @NonNull public android.telephony.CallQuality.Builder setRtpInactivityDetected(boolean);
16561    method @NonNull public android.telephony.CallQuality.Builder setUplinkCallQualityLevel(int);
16562  }
16563
16564  public class CarrierConfigManager {
16565    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultCarrierServicePackageName();
16566    method @NonNull public static android.os.PersistableBundle getDefaultConfig();
16567    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void overrideConfig(int, @Nullable android.os.PersistableBundle);
16568    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void updateConfigForPhoneId(int, String);
16569    field public static final int GBA_DIGEST = 3; // 0x3
16570    field public static final int GBA_ME = 1; // 0x1
16571    field public static final int GBA_U = 2; // 0x2
16572    field public static final String KEY_CARRIER_SETUP_APP_STRING = "carrier_setup_app_string";
16573    field public static final String KEY_GBA_MODE_INT = "gba_mode_int";
16574    field public static final String KEY_GBA_UA_SECURITY_ORGANIZATION_INT = "gba_ua_security_organization_int";
16575    field public static final String KEY_GBA_UA_SECURITY_PROTOCOL_INT = "gba_ua_security_protocol_int";
16576    field public static final String KEY_GBA_UA_TLS_CIPHER_SUITE_INT = "gba_ua_tls_cipher_suite_int";
16577    field public static final String KEY_SUPPORT_CDMA_1X_VOICE_CALLS_BOOL = "support_cdma_1x_voice_calls_bool";
16578  }
16579
16580  public static final class CarrierConfigManager.Wifi {
16581    field public static final String KEY_AVOID_5GHZ_SOFTAP_FOR_LAA_BOOL = "wifi.avoid_5ghz_softap_for_laa_bool";
16582    field public static final String KEY_AVOID_5GHZ_WIFI_DIRECT_FOR_LAA_BOOL = "wifi.avoid_5ghz_wifi_direct_for_laa_bool";
16583    field public static final String KEY_HOTSPOT_MAX_CLIENT_COUNT = "wifi.hotspot_maximum_client_count";
16584    field public static final String KEY_PREFIX = "wifi.";
16585    field public static final String KEY_SUGGESTION_SSID_LIST_WITH_MAC_RANDOMIZATION_DISABLED = "wifi.suggestion_ssid_list_with_mac_randomization_disabled";
16586  }
16587
16588  public final class CarrierRestrictionRules implements android.os.Parcelable {
16589    method @NonNull public java.util.List<java.lang.Boolean> areCarrierIdentifiersAllowed(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
16590    method public int describeContents();
16591    method @NonNull public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers();
16592    method public int getDefaultCarrierRestriction();
16593    method @NonNull public java.util.List<android.service.carrier.CarrierIdentifier> getExcludedCarriers();
16594    method public int getMultiSimPolicy();
16595    method public boolean isAllCarriersAllowed();
16596    method public void writeToParcel(android.os.Parcel, int);
16597    field public static final int CARRIER_RESTRICTION_DEFAULT_ALLOWED = 1; // 0x1
16598    field public static final int CARRIER_RESTRICTION_DEFAULT_NOT_ALLOWED = 0; // 0x0
16599    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CarrierRestrictionRules> CREATOR;
16600    field public static final int MULTISIM_POLICY_NONE = 0; // 0x0
16601    field public static final int MULTISIM_POLICY_ONE_VALID_SIM_MUST_BE_PRESENT = 1; // 0x1
16602  }
16603
16604  public static final class CarrierRestrictionRules.Builder {
16605    ctor public CarrierRestrictionRules.Builder();
16606    method @NonNull public android.telephony.CarrierRestrictionRules build();
16607    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setAllCarriersAllowed();
16608    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setAllowedCarriers(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
16609    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setDefaultCarrierRestriction(int);
16610    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setExcludedCarriers(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
16611    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setMultiSimPolicy(int);
16612  }
16613
16614  public class CbGeoUtils {
16615  }
16616
16617  public static class CbGeoUtils.Circle implements android.telephony.CbGeoUtils.Geometry {
16618    ctor public CbGeoUtils.Circle(@NonNull android.telephony.CbGeoUtils.LatLng, double);
16619    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
16620    method @NonNull public android.telephony.CbGeoUtils.LatLng getCenter();
16621    method public double getRadius();
16622  }
16623
16624  public static interface CbGeoUtils.Geometry {
16625    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
16626  }
16627
16628  public static class CbGeoUtils.LatLng {
16629    ctor public CbGeoUtils.LatLng(double, double);
16630    method public double distance(@NonNull android.telephony.CbGeoUtils.LatLng);
16631    method @NonNull public android.telephony.CbGeoUtils.LatLng subtract(@NonNull android.telephony.CbGeoUtils.LatLng);
16632    field public final double lat;
16633    field public final double lng;
16634  }
16635
16636  public static class CbGeoUtils.Polygon implements android.telephony.CbGeoUtils.Geometry {
16637    ctor public CbGeoUtils.Polygon(@NonNull java.util.List<android.telephony.CbGeoUtils.LatLng>);
16638    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
16639    method @NonNull public java.util.List<android.telephony.CbGeoUtils.LatLng> getVertices();
16640  }
16641
16642  public class CellBroadcastIntents {
16643    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);
16644    field public static final String ACTION_AREA_INFO_UPDATED = "android.telephony.action.AREA_INFO_UPDATED";
16645  }
16646
16647  public abstract class CellBroadcastService extends android.app.Service {
16648    ctor public CellBroadcastService();
16649    method @NonNull @WorkerThread public abstract CharSequence getCellBroadcastAreaInfo(int);
16650    method @CallSuper public android.os.IBinder onBind(@Nullable android.content.Intent);
16651    method public abstract void onCdmaCellBroadcastSms(int, @NonNull byte[], int);
16652    method public abstract void onCdmaScpMessage(int, @NonNull java.util.List<android.telephony.cdma.CdmaSmsCbProgramData>, @NonNull String, @NonNull java.util.function.Consumer<android.os.Bundle>);
16653    method public abstract void onGsmCellBroadcastSms(int, @NonNull byte[]);
16654    field public static final String CELL_BROADCAST_SERVICE_INTERFACE = "android.telephony.CellBroadcastService";
16655  }
16656
16657  public abstract class CellIdentity implements android.os.Parcelable {
16658    method @NonNull public abstract android.telephony.CellLocation asCellLocation();
16659    method @NonNull public abstract android.telephony.CellIdentity sanitizeLocationInfo();
16660  }
16661
16662  public final class CellIdentityCdma extends android.telephony.CellIdentity {
16663    method @NonNull public android.telephony.cdma.CdmaCellLocation asCellLocation();
16664    method @NonNull public android.telephony.CellIdentityCdma sanitizeLocationInfo();
16665  }
16666
16667  public final class CellIdentityGsm extends android.telephony.CellIdentity {
16668    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
16669    method @NonNull public android.telephony.CellIdentityGsm sanitizeLocationInfo();
16670  }
16671
16672  public final class CellIdentityLte extends android.telephony.CellIdentity {
16673    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
16674    method @NonNull public android.telephony.CellIdentityLte sanitizeLocationInfo();
16675  }
16676
16677  public final class CellIdentityNr extends android.telephony.CellIdentity {
16678    method @NonNull public android.telephony.CellLocation asCellLocation();
16679    method @NonNull public android.telephony.CellIdentityNr sanitizeLocationInfo();
16680  }
16681
16682  public final class CellIdentityTdscdma extends android.telephony.CellIdentity {
16683    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
16684    method @NonNull public android.telephony.CellIdentityTdscdma sanitizeLocationInfo();
16685  }
16686
16687  public final class CellIdentityWcdma extends android.telephony.CellIdentity {
16688    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
16689    method @NonNull public android.telephony.CellIdentityWcdma sanitizeLocationInfo();
16690  }
16691
16692  public final class DataFailCause {
16693    field @Deprecated public static final int VSNCP_APN_UNATHORIZED = 2238; // 0x8be
16694  }
16695
16696  public final class DataSpecificRegistrationInfo implements android.os.Parcelable {
16697    method public int describeContents();
16698    method @Deprecated @NonNull public android.telephony.LteVopsSupportInfo getLteVopsSupportInfo();
16699    method @Nullable public android.telephony.VopsSupportInfo getVopsSupportInfo();
16700    method public void writeToParcel(android.os.Parcel, int);
16701    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.DataSpecificRegistrationInfo> CREATOR;
16702  }
16703
16704  public final class DataThrottlingRequest implements android.os.Parcelable {
16705    method public int describeContents();
16706    method public long getCompletionDurationMillis();
16707    method public int getDataThrottlingAction();
16708    method public void writeToParcel(@NonNull android.os.Parcel, int);
16709    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.DataThrottlingRequest> CREATOR;
16710    field public static final int DATA_THROTTLING_ACTION_HOLD = 3; // 0x3
16711    field public static final int DATA_THROTTLING_ACTION_NO_DATA_THROTTLING = 0; // 0x0
16712    field public static final int DATA_THROTTLING_ACTION_THROTTLE_PRIMARY_CARRIER = 2; // 0x2
16713    field public static final int DATA_THROTTLING_ACTION_THROTTLE_SECONDARY_CARRIER = 1; // 0x1
16714  }
16715
16716  public static final class DataThrottlingRequest.Builder {
16717    ctor public DataThrottlingRequest.Builder();
16718    method @NonNull public android.telephony.DataThrottlingRequest build();
16719    method @NonNull public android.telephony.DataThrottlingRequest.Builder setCompletionDurationMillis(long);
16720    method @NonNull public android.telephony.DataThrottlingRequest.Builder setDataThrottlingAction(int);
16721  }
16722
16723  public final class ImsiEncryptionInfo implements android.os.Parcelable {
16724    method public int describeContents();
16725    method @Nullable public String getKeyIdentifier();
16726    method @Nullable public java.security.PublicKey getPublicKey();
16727    method public void writeToParcel(@NonNull android.os.Parcel, int);
16728    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ImsiEncryptionInfo> CREATOR;
16729  }
16730
16731  public final class LinkCapacityEstimate implements android.os.Parcelable {
16732    ctor public LinkCapacityEstimate(int, int, int);
16733    method public int describeContents();
16734    method public int getDownlinkCapacityKbps();
16735    method public int getType();
16736    method public int getUplinkCapacityKbps();
16737    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.LinkCapacityEstimate> CREATOR;
16738    field public static final int INVALID = -1; // 0xffffffff
16739    field public static final int LCE_TYPE_COMBINED = 2; // 0x2
16740    field public static final int LCE_TYPE_PRIMARY = 0; // 0x0
16741    field public static final int LCE_TYPE_SECONDARY = 1; // 0x1
16742  }
16743
16744  public final class LteVopsSupportInfo extends android.telephony.VopsSupportInfo {
16745    ctor public LteVopsSupportInfo(int, int);
16746    method public int getEmcBearerSupport();
16747    method public int getVopsSupport();
16748    method public boolean isEmergencyServiceFallbackSupported();
16749    method public boolean isEmergencyServiceSupported();
16750    method public boolean isVopsSupported();
16751    method public void writeToParcel(@NonNull android.os.Parcel, int);
16752    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.LteVopsSupportInfo> CREATOR;
16753    field @Deprecated public static final int LTE_STATUS_NOT_AVAILABLE = 1; // 0x1
16754    field public static final int LTE_STATUS_NOT_SUPPORTED = 3; // 0x3
16755    field public static final int LTE_STATUS_SUPPORTED = 2; // 0x2
16756  }
16757
16758  public class MbmsDownloadSession implements java.lang.AutoCloseable {
16759    field public static final String MBMS_DOWNLOAD_SERVICE_ACTION = "android.telephony.action.EmbmsDownload";
16760  }
16761
16762  public class MbmsGroupCallSession implements java.lang.AutoCloseable {
16763    field public static final String MBMS_GROUP_CALL_SERVICE_ACTION = "android.telephony.action.EmbmsGroupCall";
16764  }
16765
16766  public class MbmsStreamingSession implements java.lang.AutoCloseable {
16767    field public static final String MBMS_STREAMING_SERVICE_ACTION = "android.telephony.action.EmbmsStreaming";
16768  }
16769
16770  public final class ModemActivityInfo implements android.os.Parcelable {
16771    method public int describeContents();
16772    method @NonNull public android.telephony.ModemActivityInfo getDelta(@NonNull android.telephony.ModemActivityInfo);
16773    method public long getIdleTimeMillis();
16774    method public static int getNumTxPowerLevels();
16775    method public long getReceiveTimeMillis();
16776    method public long getSleepTimeMillis();
16777    method public long getTimestampMillis();
16778    method public long getTransmitDurationMillisAtPowerLevel(int);
16779    method @NonNull public android.util.Range<java.lang.Integer> getTransmitPowerRange(int);
16780    method public void writeToParcel(@NonNull android.os.Parcel, int);
16781    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ModemActivityInfo> CREATOR;
16782    field public static final int TX_POWER_LEVEL_0 = 0; // 0x0
16783    field public static final int TX_POWER_LEVEL_1 = 1; // 0x1
16784    field public static final int TX_POWER_LEVEL_2 = 2; // 0x2
16785    field public static final int TX_POWER_LEVEL_3 = 3; // 0x3
16786    field public static final int TX_POWER_LEVEL_4 = 4; // 0x4
16787  }
16788
16789  public final class NetworkRegistrationInfo implements android.os.Parcelable {
16790    method @Nullable public android.telephony.DataSpecificRegistrationInfo getDataSpecificInfo();
16791    method public int getRegistrationState();
16792    method public int getRejectCause();
16793    method public int getRoamingType();
16794    method public boolean isEmergencyEnabled();
16795    method public void writeToParcel(android.os.Parcel, int);
16796    field public static final int REGISTRATION_STATE_DENIED = 3; // 0x3
16797    field public static final int REGISTRATION_STATE_HOME = 1; // 0x1
16798    field public static final int REGISTRATION_STATE_NOT_REGISTERED_OR_SEARCHING = 0; // 0x0
16799    field public static final int REGISTRATION_STATE_NOT_REGISTERED_SEARCHING = 2; // 0x2
16800    field public static final int REGISTRATION_STATE_ROAMING = 5; // 0x5
16801    field public static final int REGISTRATION_STATE_UNKNOWN = 4; // 0x4
16802  }
16803
16804  public static final class NetworkRegistrationInfo.Builder {
16805    ctor public NetworkRegistrationInfo.Builder();
16806    method @NonNull public android.telephony.NetworkRegistrationInfo build();
16807    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setAccessNetworkTechnology(int);
16808    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setAvailableServices(@NonNull java.util.List<java.lang.Integer>);
16809    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setCellIdentity(@Nullable android.telephony.CellIdentity);
16810    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setDomain(int);
16811    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setEmergencyOnly(boolean);
16812    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRegisteredPlmn(@Nullable String);
16813    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRegistrationState(int);
16814    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRejectCause(int);
16815    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setTransportType(int);
16816  }
16817
16818  public abstract class NetworkService extends android.app.Service {
16819    ctor public NetworkService();
16820    method public android.os.IBinder onBind(android.content.Intent);
16821    method @Nullable public abstract android.telephony.NetworkService.NetworkServiceProvider onCreateNetworkServiceProvider(int);
16822    field public static final String SERVICE_INTERFACE = "android.telephony.NetworkService";
16823  }
16824
16825  public abstract class NetworkService.NetworkServiceProvider implements java.lang.AutoCloseable {
16826    ctor public NetworkService.NetworkServiceProvider(int);
16827    method public abstract void close();
16828    method public final int getSlotIndex();
16829    method public final void notifyNetworkRegistrationInfoChanged();
16830    method public void requestNetworkRegistrationInfo(int, @NonNull android.telephony.NetworkServiceCallback);
16831  }
16832
16833  public class NetworkServiceCallback {
16834    method public void onRequestNetworkRegistrationInfoComplete(int, @Nullable android.telephony.NetworkRegistrationInfo);
16835    field public static final int RESULT_ERROR_BUSY = 3; // 0x3
16836    field public static final int RESULT_ERROR_FAILED = 5; // 0x5
16837    field public static final int RESULT_ERROR_ILLEGAL_STATE = 4; // 0x4
16838    field public static final int RESULT_ERROR_INVALID_ARG = 2; // 0x2
16839    field public static final int RESULT_ERROR_UNSUPPORTED = 1; // 0x1
16840    field public static final int RESULT_SUCCESS = 0; // 0x0
16841  }
16842
16843  public final class NrVopsSupportInfo extends android.telephony.VopsSupportInfo {
16844    ctor public NrVopsSupportInfo(int, int, int);
16845    method public int getEmcSupport();
16846    method public int getEmfSupport();
16847    method public int getVopsSupport();
16848    method public boolean isEmergencyServiceFallbackSupported();
16849    method public boolean isEmergencyServiceSupported();
16850    method public boolean isVopsSupported();
16851    method public void writeToParcel(@NonNull android.os.Parcel, int);
16852    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.NrVopsSupportInfo> CREATOR;
16853    field public static final int NR_STATUS_EMC_5GCN_ONLY = 1; // 0x1
16854    field public static final int NR_STATUS_EMC_EUTRA_5GCN_ONLY = 2; // 0x2
16855    field public static final int NR_STATUS_EMC_NOT_SUPPORTED = 0; // 0x0
16856    field public static final int NR_STATUS_EMC_NR_EUTRA_5GCN = 3; // 0x3
16857    field public static final int NR_STATUS_EMF_5GCN_ONLY = 1; // 0x1
16858    field public static final int NR_STATUS_EMF_EUTRA_5GCN_ONLY = 2; // 0x2
16859    field public static final int NR_STATUS_EMF_NOT_SUPPORTED = 0; // 0x0
16860    field public static final int NR_STATUS_EMF_NR_EUTRA_5GCN = 3; // 0x3
16861    field public static final int NR_STATUS_VOPS_3GPP_SUPPORTED = 1; // 0x1
16862    field public static final int NR_STATUS_VOPS_NON_3GPP_SUPPORTED = 2; // 0x2
16863    field public static final int NR_STATUS_VOPS_NOT_SUPPORTED = 0; // 0x0
16864  }
16865
16866  public interface NumberVerificationCallback {
16867    method public default void onCallReceived(@NonNull String);
16868    method public default void onVerificationFailed(int);
16869    field public static final int REASON_CONCURRENT_REQUESTS = 4; // 0x4
16870    field public static final int REASON_IN_ECBM = 5; // 0x5
16871    field public static final int REASON_IN_EMERGENCY_CALL = 6; // 0x6
16872    field public static final int REASON_NETWORK_NOT_AVAILABLE = 2; // 0x2
16873    field public static final int REASON_TIMED_OUT = 1; // 0x1
16874    field public static final int REASON_TOO_MANY_CALLS = 3; // 0x3
16875    field public static final int REASON_UNSPECIFIED = 0; // 0x0
16876  }
16877
16878  public final class PhoneCapability implements android.os.Parcelable {
16879    method public int describeContents();
16880    method @NonNull public int[] getDeviceNrCapabilities();
16881    method @IntRange(from=1) public int getMaxActiveDataSubscriptions();
16882    method @IntRange(from=1) public int getMaxActiveVoiceSubscriptions();
16883    method public void writeToParcel(@NonNull android.os.Parcel, int);
16884    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PhoneCapability> CREATOR;
16885    field public static final int DEVICE_NR_CAPABILITY_NSA = 1; // 0x1
16886    field public static final int DEVICE_NR_CAPABILITY_SA = 2; // 0x2
16887  }
16888
16889  public final class PhoneNumberRange implements android.os.Parcelable {
16890    ctor public PhoneNumberRange(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
16891    method public int describeContents();
16892    method public boolean matches(@NonNull String);
16893    method public void writeToParcel(android.os.Parcel, int);
16894    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PhoneNumberRange> CREATOR;
16895  }
16896
16897  public class PhoneNumberUtils {
16898    method @NonNull public static String getUsernameFromUriNumber(@NonNull String);
16899    method public static boolean isUriNumber(@Nullable String);
16900    method public static boolean isVoiceMailNumber(@NonNull android.content.Context, int, @Nullable String);
16901  }
16902
16903  @Deprecated public class PhoneStateListener {
16904    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onCallAttributesChanged(@NonNull android.telephony.CallAttributes);
16905    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber);
16906    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber, int);
16907    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber);
16908    method @Deprecated public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber, int);
16909    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPreciseCallStateChanged(@NonNull android.telephony.PreciseCallState);
16910    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onRadioPowerStateChanged(int);
16911    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onSrvccStateChanged(int);
16912    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onVoiceActivationStateChanged(int);
16913    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_CALL_ATTRIBUTES_CHANGED = 67108864; // 0x4000000
16914    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int LISTEN_OUTGOING_EMERGENCY_CALL = 268435456; // 0x10000000
16915    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int LISTEN_OUTGOING_EMERGENCY_SMS = 536870912; // 0x20000000
16916    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_PRECISE_CALL_STATE = 2048; // 0x800
16917    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_RADIO_POWER_STATE_CHANGED = 8388608; // 0x800000
16918    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_SRVCC_STATE_CHANGED = 16384; // 0x4000
16919    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_VOICE_ACTIVATION_STATE = 131072; // 0x20000
16920  }
16921
16922  public final class PinResult implements android.os.Parcelable {
16923    method public int describeContents();
16924    method public int getAttemptsRemaining();
16925    method public int getResult();
16926    method public void writeToParcel(@NonNull android.os.Parcel, int);
16927    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PinResult> CREATOR;
16928    field public static final int PIN_RESULT_TYPE_ABORTED = 3; // 0x3
16929    field public static final int PIN_RESULT_TYPE_FAILURE = 2; // 0x2
16930    field public static final int PIN_RESULT_TYPE_INCORRECT = 1; // 0x1
16931    field public static final int PIN_RESULT_TYPE_SUCCESS = 0; // 0x0
16932  }
16933
16934  public final class PreciseCallState implements android.os.Parcelable {
16935    ctor public PreciseCallState(int, int, int, int, int);
16936    method public int describeContents();
16937    method public int getBackgroundCallState();
16938    method public int getForegroundCallState();
16939    method public int getRingingCallState();
16940    method public void writeToParcel(android.os.Parcel, int);
16941    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PreciseCallState> CREATOR;
16942    field public static final int PRECISE_CALL_STATE_ACTIVE = 1; // 0x1
16943    field public static final int PRECISE_CALL_STATE_ALERTING = 4; // 0x4
16944    field public static final int PRECISE_CALL_STATE_DIALING = 3; // 0x3
16945    field public static final int PRECISE_CALL_STATE_DISCONNECTED = 7; // 0x7
16946    field public static final int PRECISE_CALL_STATE_DISCONNECTING = 8; // 0x8
16947    field public static final int PRECISE_CALL_STATE_HOLDING = 2; // 0x2
16948    field public static final int PRECISE_CALL_STATE_IDLE = 0; // 0x0
16949    field public static final int PRECISE_CALL_STATE_INCOMING = 5; // 0x5
16950    field public static final int PRECISE_CALL_STATE_NOT_VALID = -1; // 0xffffffff
16951    field public static final int PRECISE_CALL_STATE_WAITING = 6; // 0x6
16952  }
16953
16954  public final class PreciseDataConnectionState implements android.os.Parcelable {
16955    method @Deprecated @NonNull public String getDataConnectionApn();
16956    method @Deprecated public int getDataConnectionApnTypeBitMask();
16957    method @Deprecated public int getDataConnectionFailCause();
16958    method @Deprecated public int getDataConnectionState();
16959  }
16960
16961  public final class PreciseDisconnectCause {
16962    field public static final int ACCESS_CLASS_BLOCKED = 260; // 0x104
16963    field public static final int ACCESS_INFORMATION_DISCARDED = 43; // 0x2b
16964    field public static final int ACM_LIMIT_EXCEEDED = 68; // 0x44
16965    field public static final int BEARER_CAPABILITY_NOT_AUTHORIZED = 57; // 0x39
16966    field public static final int BEARER_NOT_AVAIL = 58; // 0x3a
16967    field public static final int BEARER_SERVICE_NOT_IMPLEMENTED = 65; // 0x41
16968    field public static final int BUSY = 17; // 0x11
16969    field public static final int CALL_BARRED = 240; // 0xf0
16970    field public static final int CALL_REJECTED = 21; // 0x15
16971    field public static final int CDMA_ACCESS_BLOCKED = 1009; // 0x3f1
16972    field public static final int CDMA_ACCESS_FAILURE = 1006; // 0x3ee
16973    field public static final int CDMA_DROP = 1001; // 0x3e9
16974    field public static final int CDMA_INTERCEPT = 1002; // 0x3ea
16975    field public static final int CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000; // 0x3e8
16976    field public static final int CDMA_NOT_EMERGENCY = 1008; // 0x3f0
16977    field public static final int CDMA_PREEMPTED = 1007; // 0x3ef
16978    field public static final int CDMA_REORDER = 1003; // 0x3eb
16979    field public static final int CDMA_RETRY_ORDER = 1005; // 0x3ed
16980    field public static final int CDMA_SO_REJECT = 1004; // 0x3ec
16981    field public static final int CHANNEL_NOT_AVAIL = 44; // 0x2c
16982    field public static final int CHANNEL_UNACCEPTABLE = 6; // 0x6
16983    field public static final int CONDITIONAL_IE_ERROR = 100; // 0x64
16984    field public static final int DESTINATION_OUT_OF_ORDER = 27; // 0x1b
16985    field public static final int ERROR_UNSPECIFIED = 65535; // 0xffff
16986    field public static final int FACILITY_REJECTED = 29; // 0x1d
16987    field public static final int FDN_BLOCKED = 241; // 0xf1
16988    field public static final int IMEI_NOT_ACCEPTED = 243; // 0xf3
16989    field public static final int IMSI_UNKNOWN_IN_VLR = 242; // 0xf2
16990    field public static final int INCOMING_CALLS_BARRED_WITHIN_CUG = 55; // 0x37
16991    field public static final int INCOMPATIBLE_DESTINATION = 88; // 0x58
16992    field public static final int INFORMATION_ELEMENT_NON_EXISTENT = 99; // 0x63
16993    field public static final int INTERWORKING_UNSPECIFIED = 127; // 0x7f
16994    field public static final int INVALID_MANDATORY_INFORMATION = 96; // 0x60
16995    field public static final int INVALID_NUMBER_FORMAT = 28; // 0x1c
16996    field public static final int INVALID_TRANSACTION_IDENTIFIER = 81; // 0x51
16997    field public static final int MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101; // 0x65
16998    field public static final int MESSAGE_TYPE_NON_IMPLEMENTED = 97; // 0x61
16999    field public static final int MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98; // 0x62
17000    field public static final int NETWORK_DETACH = 261; // 0x105
17001    field public static final int NETWORK_OUT_OF_ORDER = 38; // 0x26
17002    field public static final int NETWORK_REJECT = 252; // 0xfc
17003    field public static final int NETWORK_RESP_TIMEOUT = 251; // 0xfb
17004    field public static final int NORMAL = 16; // 0x10
17005    field public static final int NORMAL_UNSPECIFIED = 31; // 0x1f
17006    field public static final int NOT_VALID = -1; // 0xffffffff
17007    field public static final int NO_ANSWER_FROM_USER = 19; // 0x13
17008    field public static final int NO_CIRCUIT_AVAIL = 34; // 0x22
17009    field public static final int NO_DISCONNECT_CAUSE_AVAILABLE = 0; // 0x0
17010    field public static final int NO_ROUTE_TO_DESTINATION = 3; // 0x3
17011    field public static final int NO_USER_RESPONDING = 18; // 0x12
17012    field public static final int NO_VALID_SIM = 249; // 0xf9
17013    field public static final int NUMBER_CHANGED = 22; // 0x16
17014    field public static final int OEM_CAUSE_1 = 61441; // 0xf001
17015    field public static final int OEM_CAUSE_10 = 61450; // 0xf00a
17016    field public static final int OEM_CAUSE_11 = 61451; // 0xf00b
17017    field public static final int OEM_CAUSE_12 = 61452; // 0xf00c
17018    field public static final int OEM_CAUSE_13 = 61453; // 0xf00d
17019    field public static final int OEM_CAUSE_14 = 61454; // 0xf00e
17020    field public static final int OEM_CAUSE_15 = 61455; // 0xf00f
17021    field public static final int OEM_CAUSE_2 = 61442; // 0xf002
17022    field public static final int OEM_CAUSE_3 = 61443; // 0xf003
17023    field public static final int OEM_CAUSE_4 = 61444; // 0xf004
17024    field public static final int OEM_CAUSE_5 = 61445; // 0xf005
17025    field public static final int OEM_CAUSE_6 = 61446; // 0xf006
17026    field public static final int OEM_CAUSE_7 = 61447; // 0xf007
17027    field public static final int OEM_CAUSE_8 = 61448; // 0xf008
17028    field public static final int OEM_CAUSE_9 = 61449; // 0xf009
17029    field public static final int ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE = 70; // 0x46
17030    field public static final int OPERATOR_DETERMINED_BARRING = 8; // 0x8
17031    field public static final int OUT_OF_SRV = 248; // 0xf8
17032    field public static final int PREEMPTION = 25; // 0x19
17033    field public static final int PROTOCOL_ERROR_UNSPECIFIED = 111; // 0x6f
17034    field public static final int QOS_NOT_AVAIL = 49; // 0x31
17035    field public static final int RADIO_ACCESS_FAILURE = 253; // 0xfd
17036    field public static final int RADIO_INTERNAL_ERROR = 250; // 0xfa
17037    field public static final int RADIO_LINK_FAILURE = 254; // 0xfe
17038    field public static final int RADIO_LINK_LOST = 255; // 0xff
17039    field public static final int RADIO_OFF = 247; // 0xf7
17040    field public static final int RADIO_RELEASE_ABNORMAL = 259; // 0x103
17041    field public static final int RADIO_RELEASE_NORMAL = 258; // 0x102
17042    field public static final int RADIO_SETUP_FAILURE = 257; // 0x101
17043    field public static final int RADIO_UPLINK_FAILURE = 256; // 0x100
17044    field public static final int RECOVERY_ON_TIMER_EXPIRED = 102; // 0x66
17045    field public static final int REQUESTED_FACILITY_NOT_IMPLEMENTED = 69; // 0x45
17046    field public static final int REQUESTED_FACILITY_NOT_SUBSCRIBED = 50; // 0x32
17047    field public static final int RESOURCES_UNAVAILABLE_OR_UNSPECIFIED = 47; // 0x2f
17048    field public static final int SEMANTICALLY_INCORRECT_MESSAGE = 95; // 0x5f
17049    field public static final int SERVICE_OPTION_NOT_AVAILABLE = 63; // 0x3f
17050    field public static final int SERVICE_OR_OPTION_NOT_IMPLEMENTED = 79; // 0x4f
17051    field public static final int STATUS_ENQUIRY = 30; // 0x1e
17052    field public static final int SWITCHING_CONGESTION = 42; // 0x2a
17053    field public static final int TEMPORARY_FAILURE = 41; // 0x29
17054    field public static final int UNOBTAINABLE_NUMBER = 1; // 0x1
17055    field public static final int USER_NOT_MEMBER_OF_CUG = 87; // 0x57
17056  }
17057
17058  public class ServiceState implements android.os.Parcelable {
17059    method @Nullable public android.telephony.NetworkRegistrationInfo getNetworkRegistrationInfo(int, int);
17060    method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoListForDomain(int);
17061    method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoListForTransportType(int);
17062    field public static final int ROAMING_TYPE_DOMESTIC = 2; // 0x2
17063    field public static final int ROAMING_TYPE_INTERNATIONAL = 3; // 0x3
17064    field public static final int ROAMING_TYPE_NOT_ROAMING = 0; // 0x0
17065    field public static final int ROAMING_TYPE_UNKNOWN = 1; // 0x1
17066  }
17067
17068  public final class SignalStrengthUpdateRequest implements android.os.Parcelable {
17069    method public boolean isSystemThresholdReportingRequestedWhileIdle();
17070  }
17071
17072  public static final class SignalStrengthUpdateRequest.Builder {
17073    method @NonNull @RequiresPermission("android.permission.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH") public android.telephony.SignalStrengthUpdateRequest.Builder setSystemThresholdReportingRequestedWhileIdle(boolean);
17074  }
17075
17076  public final class SmsCbCmasInfo implements android.os.Parcelable {
17077    ctor public SmsCbCmasInfo(int, int, int, int, int, int);
17078    method public int describeContents();
17079    method public int getCategory();
17080    method public int getCertainty();
17081    method public int getMessageClass();
17082    method public int getResponseType();
17083    method public int getSeverity();
17084    method public int getUrgency();
17085    method public void writeToParcel(android.os.Parcel, int);
17086    field public static final int CMAS_CATEGORY_CBRNE = 10; // 0xa
17087    field public static final int CMAS_CATEGORY_ENV = 7; // 0x7
17088    field public static final int CMAS_CATEGORY_FIRE = 5; // 0x5
17089    field public static final int CMAS_CATEGORY_GEO = 0; // 0x0
17090    field public static final int CMAS_CATEGORY_HEALTH = 6; // 0x6
17091    field public static final int CMAS_CATEGORY_INFRA = 9; // 0x9
17092    field public static final int CMAS_CATEGORY_MET = 1; // 0x1
17093    field public static final int CMAS_CATEGORY_OTHER = 11; // 0xb
17094    field public static final int CMAS_CATEGORY_RESCUE = 4; // 0x4
17095    field public static final int CMAS_CATEGORY_SAFETY = 2; // 0x2
17096    field public static final int CMAS_CATEGORY_SECURITY = 3; // 0x3
17097    field public static final int CMAS_CATEGORY_TRANSPORT = 8; // 0x8
17098    field public static final int CMAS_CATEGORY_UNKNOWN = -1; // 0xffffffff
17099    field public static final int CMAS_CERTAINTY_LIKELY = 1; // 0x1
17100    field public static final int CMAS_CERTAINTY_OBSERVED = 0; // 0x0
17101    field public static final int CMAS_CERTAINTY_UNKNOWN = -1; // 0xffffffff
17102    field public static final int CMAS_CLASS_CHILD_ABDUCTION_EMERGENCY = 3; // 0x3
17103    field public static final int CMAS_CLASS_CMAS_EXERCISE = 5; // 0x5
17104    field public static final int CMAS_CLASS_EXTREME_THREAT = 1; // 0x1
17105    field public static final int CMAS_CLASS_OPERATOR_DEFINED_USE = 6; // 0x6
17106    field public static final int CMAS_CLASS_PRESIDENTIAL_LEVEL_ALERT = 0; // 0x0
17107    field public static final int CMAS_CLASS_REQUIRED_MONTHLY_TEST = 4; // 0x4
17108    field public static final int CMAS_CLASS_SEVERE_THREAT = 2; // 0x2
17109    field public static final int CMAS_CLASS_UNKNOWN = -1; // 0xffffffff
17110    field public static final int CMAS_RESPONSE_TYPE_ASSESS = 6; // 0x6
17111    field public static final int CMAS_RESPONSE_TYPE_AVOID = 5; // 0x5
17112    field public static final int CMAS_RESPONSE_TYPE_EVACUATE = 1; // 0x1
17113    field public static final int CMAS_RESPONSE_TYPE_EXECUTE = 3; // 0x3
17114    field public static final int CMAS_RESPONSE_TYPE_MONITOR = 4; // 0x4
17115    field public static final int CMAS_RESPONSE_TYPE_NONE = 7; // 0x7
17116    field public static final int CMAS_RESPONSE_TYPE_PREPARE = 2; // 0x2
17117    field public static final int CMAS_RESPONSE_TYPE_SHELTER = 0; // 0x0
17118    field public static final int CMAS_RESPONSE_TYPE_UNKNOWN = -1; // 0xffffffff
17119    field public static final int CMAS_SEVERITY_EXTREME = 0; // 0x0
17120    field public static final int CMAS_SEVERITY_SEVERE = 1; // 0x1
17121    field public static final int CMAS_SEVERITY_UNKNOWN = -1; // 0xffffffff
17122    field public static final int CMAS_URGENCY_EXPECTED = 1; // 0x1
17123    field public static final int CMAS_URGENCY_IMMEDIATE = 0; // 0x0
17124    field public static final int CMAS_URGENCY_UNKNOWN = -1; // 0xffffffff
17125    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbCmasInfo> CREATOR;
17126  }
17127
17128  public final class SmsCbEtwsInfo implements android.os.Parcelable {
17129    ctor public SmsCbEtwsInfo(int, boolean, boolean, boolean, @Nullable byte[]);
17130    method public int describeContents();
17131    method @Nullable public byte[] getPrimaryNotificationSignature();
17132    method public long getPrimaryNotificationTimestamp();
17133    method public int getWarningType();
17134    method public boolean isEmergencyUserAlert();
17135    method public boolean isPopupAlert();
17136    method public boolean isPrimary();
17137    method public void writeToParcel(android.os.Parcel, int);
17138    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbEtwsInfo> CREATOR;
17139    field public static final int ETWS_WARNING_TYPE_EARTHQUAKE = 0; // 0x0
17140    field public static final int ETWS_WARNING_TYPE_EARTHQUAKE_AND_TSUNAMI = 2; // 0x2
17141    field public static final int ETWS_WARNING_TYPE_OTHER_EMERGENCY = 4; // 0x4
17142    field public static final int ETWS_WARNING_TYPE_TEST_MESSAGE = 3; // 0x3
17143    field public static final int ETWS_WARNING_TYPE_TSUNAMI = 1; // 0x1
17144    field public static final int ETWS_WARNING_TYPE_UNKNOWN = -1; // 0xffffffff
17145  }
17146
17147  public final class SmsCbLocation implements android.os.Parcelable {
17148    ctor public SmsCbLocation(@NonNull String, int, int);
17149    method public int describeContents();
17150    method public int getCid();
17151    method public int getLac();
17152    method @NonNull public String getPlmn();
17153    method public boolean isInLocationArea(@NonNull android.telephony.SmsCbLocation);
17154    method public boolean isInLocationArea(@Nullable String, int, int);
17155    method public void writeToParcel(android.os.Parcel, int);
17156    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbLocation> CREATOR;
17157  }
17158
17159  public final class SmsCbMessage implements android.os.Parcelable {
17160    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);
17161    method @NonNull public static android.telephony.SmsCbMessage createFromCursor(@NonNull android.database.Cursor);
17162    method public int describeContents();
17163    method @Nullable public android.telephony.SmsCbCmasInfo getCmasWarningInfo();
17164    method @NonNull public android.content.ContentValues getContentValues();
17165    method public int getDataCodingScheme();
17166    method @Nullable public android.telephony.SmsCbEtwsInfo getEtwsWarningInfo();
17167    method public int getGeographicalScope();
17168    method @NonNull public java.util.List<android.telephony.CbGeoUtils.Geometry> getGeometries();
17169    method @Nullable public String getLanguageCode();
17170    method @NonNull public android.telephony.SmsCbLocation getLocation();
17171    method public int getMaximumWaitingDuration();
17172    method @Nullable public String getMessageBody();
17173    method public int getMessageFormat();
17174    method public int getMessagePriority();
17175    method public long getReceivedTime();
17176    method public int getSerialNumber();
17177    method public int getServiceCategory();
17178    method public int getSlotIndex();
17179    method public int getSubscriptionId();
17180    method public boolean isCmasMessage();
17181    method public boolean isEmergencyMessage();
17182    method public boolean isEtwsMessage();
17183    method public boolean needGeoFencingCheck();
17184    method public void writeToParcel(android.os.Parcel, int);
17185    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbMessage> CREATOR;
17186    field public static final int GEOGRAPHICAL_SCOPE_CELL_WIDE = 3; // 0x3
17187    field public static final int GEOGRAPHICAL_SCOPE_CELL_WIDE_IMMEDIATE = 0; // 0x0
17188    field public static final int GEOGRAPHICAL_SCOPE_LOCATION_AREA_WIDE = 2; // 0x2
17189    field public static final int GEOGRAPHICAL_SCOPE_PLMN_WIDE = 1; // 0x1
17190    field public static final int MAXIMUM_WAIT_TIME_NOT_SET = 255; // 0xff
17191    field public static final int MESSAGE_FORMAT_3GPP = 1; // 0x1
17192    field public static final int MESSAGE_FORMAT_3GPP2 = 2; // 0x2
17193    field public static final int MESSAGE_PRIORITY_EMERGENCY = 3; // 0x3
17194    field public static final int MESSAGE_PRIORITY_INTERACTIVE = 1; // 0x1
17195    field public static final int MESSAGE_PRIORITY_NORMAL = 0; // 0x0
17196    field public static final int MESSAGE_PRIORITY_URGENT = 2; // 0x2
17197  }
17198
17199  public final class SmsManager {
17200    method public boolean disableCellBroadcastRange(int, int, int);
17201    method public boolean enableCellBroadcastRange(int, int, int);
17202    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getPremiumSmsConsent(@NonNull String);
17203    method @RequiresPermission(android.Manifest.permission.MODIFY_CELL_BROADCASTS) public void resetAllCellBroadcastRanges();
17204    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>);
17205    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setPremiumSmsConsent(@NonNull String, int);
17206    field public static final int PREMIUM_SMS_CONSENT_ALWAYS_ALLOW = 3; // 0x3
17207    field public static final int PREMIUM_SMS_CONSENT_ASK_USER = 1; // 0x1
17208    field public static final int PREMIUM_SMS_CONSENT_NEVER_ALLOW = 2; // 0x2
17209    field public static final int PREMIUM_SMS_CONSENT_UNKNOWN = 0; // 0x0
17210  }
17211
17212  public class SmsMessage {
17213    method @Nullable public static android.telephony.SmsMessage createFromNativeSmsSubmitPdu(@NonNull byte[], boolean);
17214    method @Nullable public static android.telephony.SmsMessage.SubmitPdu getSmsPdu(int, int, @Nullable String, @NonNull String, @NonNull String, long);
17215    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);
17216  }
17217
17218  public class SubscriptionInfo implements android.os.Parcelable {
17219    method public boolean areUiccApplicationsEnabled();
17220    method @Nullable public java.util.List<android.telephony.UiccAccessRule> getAccessRules();
17221    method public int getProfileClass();
17222    method public boolean isGroupDisabled();
17223  }
17224
17225  public class SubscriptionManager {
17226    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean canDisablePhysicalSubscription();
17227    method public boolean canManageSubscription(@NonNull android.telephony.SubscriptionInfo, @NonNull String);
17228    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getActiveSubscriptionIdList();
17229    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.SubscriptionInfo getActiveSubscriptionInfoForIcc(@NonNull String);
17230    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public byte[] getAllSimSpecificSettingsForBackup();
17231    method public java.util.List<android.telephony.SubscriptionInfo> getAvailableSubscriptionInfoList();
17232    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getCompleteActiveSubscriptionIdList();
17233    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEnabledSubscriptionId(int);
17234    method @NonNull public static android.content.res.Resources getResourcesForSubId(@NonNull android.content.Context, int);
17235    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isSubscriptionEnabled(int);
17236    method public void requestEmbeddedSubscriptionInfoListRefresh();
17237    method public void requestEmbeddedSubscriptionInfoListRefresh(int);
17238    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void restoreAllSimSpecificSettingsFromBackup(@NonNull byte[]);
17239    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultDataSubId(int);
17240    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultSmsSubId(int);
17241    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultVoiceSubscriptionId(int);
17242    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>);
17243    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setSubscriptionEnabled(int, boolean);
17244    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUiccApplicationsEnabled(int, boolean);
17245    field @RequiresPermission(android.Manifest.permission.MANAGE_SUBSCRIPTION_PLANS) public static final String ACTION_SUBSCRIPTION_PLANS_CHANGED = "android.telephony.action.SUBSCRIPTION_PLANS_CHANGED";
17246    field @NonNull public static final android.net.Uri ADVANCED_CALLING_ENABLED_CONTENT_URI;
17247    field @NonNull public static final android.net.Uri CROSS_SIM_ENABLED_CONTENT_URI;
17248    field @Deprecated public static final int PROFILE_CLASS_DEFAULT = -1; // 0xffffffff
17249    field public static final int PROFILE_CLASS_OPERATIONAL = 2; // 0x2
17250    field public static final int PROFILE_CLASS_PROVISIONING = 1; // 0x1
17251    field public static final int PROFILE_CLASS_TESTING = 0; // 0x0
17252    field public static final int PROFILE_CLASS_UNSET = -1; // 0xffffffff
17253    field @NonNull public static final android.net.Uri VT_ENABLED_CONTENT_URI;
17254    field @NonNull public static final android.net.Uri WFC_ENABLED_CONTENT_URI;
17255    field @NonNull public static final android.net.Uri WFC_MODE_CONTENT_URI;
17256    field @NonNull public static final android.net.Uri WFC_ROAMING_ENABLED_CONTENT_URI;
17257    field @NonNull public static final android.net.Uri WFC_ROAMING_MODE_CONTENT_URI;
17258  }
17259
17260  public static class SubscriptionPlan.Builder {
17261    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringDaily(java.time.ZonedDateTime);
17262    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringMonthly(java.time.ZonedDateTime);
17263    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringWeekly(java.time.ZonedDateTime);
17264  }
17265
17266  public class TelephonyCallback {
17267    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGED = 23; // 0x17
17268    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_ALLOWED_NETWORK_TYPE_LIST_CHANGED = 35; // 0x23
17269    field public static final int EVENT_ALWAYS_REPORTED_SIGNAL_STRENGTH_CHANGED = 10; // 0xa
17270    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
17271    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_CALL_ATTRIBUTES_CHANGED = 27; // 0x1b
17272    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_CALL_DISCONNECT_CAUSE_CHANGED = 26; // 0x1a
17273    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_CALL_FORWARDING_INDICATOR_CHANGED = 4; // 0x4
17274    field public static final int EVENT_CALL_STATE_CHANGED = 6; // 0x6
17275    field public static final int EVENT_CARRIER_NETWORK_CHANGED = 17; // 0x11
17276    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
17277    field @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static final int EVENT_CELL_LOCATION_CHANGED = 5; // 0x5
17278    field public static final int EVENT_DATA_ACTIVATION_STATE_CHANGED = 19; // 0x13
17279    field public static final int EVENT_DATA_ACTIVITY_CHANGED = 8; // 0x8
17280    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_DATA_CONNECTION_REAL_TIME_INFO_CHANGED = 14; // 0xe
17281    field public static final int EVENT_DATA_CONNECTION_STATE_CHANGED = 7; // 0x7
17282    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_DATA_ENABLED_CHANGED = 34; // 0x22
17283    field public static final int EVENT_DISPLAY_INFO_CHANGED = 21; // 0x15
17284    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_EMERGENCY_NUMBER_LIST_CHANGED = 25; // 0x19
17285    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_IMS_CALL_DISCONNECT_CAUSE_CHANGED = 28; // 0x1c
17286    field @RequiresPermission(android.Manifest.permission.READ_CALL_LOG) public static final int EVENT_LEGACY_CALL_STATE_CHANGED = 36; // 0x24
17287    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_LINK_CAPACITY_ESTIMATE_CHANGED = 37; // 0x25
17288    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_MESSAGE_WAITING_INDICATOR_CHANGED = 3; // 0x3
17289    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_OEM_HOOK_RAW = 15; // 0xf
17290    field @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int EVENT_OUTGOING_EMERGENCY_CALL = 29; // 0x1d
17291    field @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int EVENT_OUTGOING_EMERGENCY_SMS = 30; // 0x1e
17292    field public static final int EVENT_PHONE_CAPABILITY_CHANGED = 22; // 0x16
17293    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PHYSICAL_CHANNEL_CONFIG_CHANGED = 33; // 0x21
17294    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PRECISE_CALL_STATE_CHANGED = 12; // 0xc
17295    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PRECISE_DATA_CONNECTION_STATE_CHANGED = 13; // 0xd
17296    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_RADIO_POWER_STATE_CHANGED = 24; // 0x18
17297    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
17298    field public static final int EVENT_SERVICE_STATE_CHANGED = 1; // 0x1
17299    field public static final int EVENT_SIGNAL_STRENGTHS_CHANGED = 9; // 0x9
17300    field public static final int EVENT_SIGNAL_STRENGTH_CHANGED = 2; // 0x2
17301    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_SRVCC_STATE_CHANGED = 16; // 0x10
17302    field public static final int EVENT_USER_MOBILE_DATA_STATE_CHANGED = 20; // 0x14
17303    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_VOICE_ACTIVATION_STATE_CHANGED = 18; // 0x12
17304  }
17305
17306  public static interface TelephonyCallback.AllowedNetworkTypesListener {
17307    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onAllowedNetworkTypesChanged(int, long);
17308  }
17309
17310  public static interface TelephonyCallback.CallAttributesListener {
17311    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onCallAttributesChanged(@NonNull android.telephony.CallAttributes);
17312  }
17313
17314  public static interface TelephonyCallback.DataEnabledListener {
17315    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onDataEnabledChanged(boolean, int);
17316  }
17317
17318  public static interface TelephonyCallback.LinkCapacityEstimateChangedListener {
17319    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onLinkCapacityEstimateChanged(@NonNull java.util.List<android.telephony.LinkCapacityEstimate>);
17320  }
17321
17322  public static interface TelephonyCallback.OutgoingEmergencyCallListener {
17323    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber, int);
17324  }
17325
17326  public static interface TelephonyCallback.OutgoingEmergencySmsListener {
17327    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber, int);
17328  }
17329
17330  public static interface TelephonyCallback.PhoneCapabilityListener {
17331    method public void onPhoneCapabilityChanged(@NonNull android.telephony.PhoneCapability);
17332  }
17333
17334  public static interface TelephonyCallback.PreciseCallStateListener {
17335    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPreciseCallStateChanged(@NonNull android.telephony.PreciseCallState);
17336  }
17337
17338  public static interface TelephonyCallback.RadioPowerStateListener {
17339    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onRadioPowerStateChanged(int);
17340  }
17341
17342  public static interface TelephonyCallback.SrvccStateListener {
17343    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onSrvccStateChanged(int);
17344  }
17345
17346  public static interface TelephonyCallback.VoiceActivationStateListener {
17347    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onVoiceActivationStateChanged(int);
17348  }
17349
17350  public final class TelephonyHistogram implements android.os.Parcelable {
17351    ctor public TelephonyHistogram(int, int, int);
17352    ctor public TelephonyHistogram(android.telephony.TelephonyHistogram);
17353    ctor public TelephonyHistogram(android.os.Parcel);
17354    method public void addTimeTaken(int);
17355    method public int describeContents();
17356    method public int getAverageTime();
17357    method public int getBucketCount();
17358    method public int[] getBucketCounters();
17359    method public int[] getBucketEndPoints();
17360    method public int getCategory();
17361    method public int getId();
17362    method public int getMaxTime();
17363    method public int getMinTime();
17364    method public int getSampleCount();
17365    method public void writeToParcel(android.os.Parcel, int);
17366    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.TelephonyHistogram> CREATOR;
17367    field public static final int TELEPHONY_CATEGORY_RIL = 1; // 0x1
17368  }
17369
17370  public class TelephonyManager {
17371    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);
17372    method @Deprecated @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void call(String, String);
17373    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult changeIccLockPin(@NonNull String, @NonNull String);
17374    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int checkCarrierPrivilegesForPackage(String);
17375    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int checkCarrierPrivilegesForPackageAnyPhone(String);
17376    method public void dial(String);
17377    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean disableDataConnectivity();
17378    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean enableDataConnectivity();
17379    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean enableModemForSlot(int, boolean);
17380    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void enableVideoCalling(boolean);
17381    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getAidForAppType(int);
17382    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers(int);
17383    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypes();
17384    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypesBitmask();
17385    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getAndUpdateDefaultRespondViaMessageApplication();
17386    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getCallForwarding(int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CallForwardingInfoCallback);
17387    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>);
17388    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.ImsiEncryptionInfo getCarrierInfoForImsiEncryption(int);
17389    method public java.util.List<java.lang.String> getCarrierPackageNamesForIntent(android.content.Intent);
17390    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<java.lang.String> getCarrierPackageNamesForIntentAndPhone(android.content.Intent, int);
17391    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCarrierPrivilegeStatus(int);
17392    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<java.lang.String> getCarrierPrivilegedPackagesForAllActiveSubscriptions();
17393    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.CarrierRestrictionRules getCarrierRestrictionRules();
17394    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getCarrierServicePackageName();
17395    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getCarrierServicePackageNameForLogicalSlot(int);
17396    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaEnhancedRoamingIndicatorDisplayNumber();
17397    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn();
17398    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn(int);
17399    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMin();
17400    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMin(int);
17401    method public String getCdmaPrlVersion();
17402    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaRoamingMode();
17403    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaSubscriptionMode();
17404    method public int getCurrentPhoneType();
17405    method public int getCurrentPhoneType(int);
17406    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getDataActivationState();
17407    method @Deprecated public boolean getDataEnabled();
17408    method @Deprecated public boolean getDataEnabled(int);
17409    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getDefaultRespondViaMessageApplication();
17410    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getDeviceSoftwareVersion(int);
17411    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean getEmergencyCallbackMode();
17412    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEmergencyNumberDbVersion();
17413    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimDomain();
17414    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimIst();
17415    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Map<java.lang.Integer,java.lang.Integer> getLogicalToPhysicalSlotMapping();
17416    method public int getMaxNumberOfSimultaneouslyActiveSims();
17417    method public static long getMaxNumberVerificationTimeoutMillis();
17418    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String[] getMergedImsisFromGroup();
17419    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.PhoneCapability getPhoneCapability();
17420    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getPreferredNetworkTypeBitmask();
17421    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public int getRadioPowerState();
17422    method public int getSimApplicationState();
17423    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimApplicationState(int);
17424    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimApplicationState(int, int);
17425    method public int getSimCardState();
17426    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimCardState(int);
17427    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimCardState(int, int);
17428    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Locale getSimLocale();
17429    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Collection<android.telephony.UiccSlotMapping> getSimSlotMapping();
17430    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.telephony.RadioAccessSpecifier> getSystemSelectionChannels();
17431    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public java.util.List<android.telephony.TelephonyHistogram> getTelephonyHistograms();
17432    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.UiccSlotInfo[] getUiccSlotsInfo();
17433    method @Nullable public android.os.Bundle getVisualVoicemailSettings();
17434    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoiceActivationState();
17435    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handlePinMmi(String);
17436    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handlePinMmiForSubscriber(int, String);
17437    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void iccCloseLogicalChannelByPort(int, int, int);
17438    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean iccCloseLogicalChannelBySlot(int, int);
17439    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannelByPort(int, int, @Nullable String, int);
17440    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannelBySlot(int, @Nullable String, int);
17441    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduBasicChannelByPort(int, int, int, int, int, int, int, @Nullable String);
17442    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduBasicChannelBySlot(int, int, int, int, int, int, @Nullable String);
17443    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduLogicalChannelByPort(int, int, int, int, int, int, int, int, @Nullable String);
17444    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduLogicalChannelBySlot(int, int, int, int, int, int, int, @Nullable String);
17445    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAnyRadioPoweredOn();
17446    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApnMetered(int);
17447    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApplicationOnUicc(int);
17448    method public boolean isDataConnectivityPossible();
17449    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataEnabledForApn(int);
17450    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isEmergencyAssistanceEnabled();
17451    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean isIccLockEnabled();
17452    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
17453    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isInEmergencySmsMode();
17454    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isLteCdmaEvdoGsmWcdmaEnabled();
17455    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isMobileDataPolicyEnabled(int);
17456    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isNrDualConnectivityEnabled();
17457    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isOffhook();
17458    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isOpportunisticNetworkEnabled();
17459    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isPotentialEmergencyNumber(@NonNull String);
17460    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRadioOn();
17461    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRinging();
17462    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean isTetheringApnRequired();
17463    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isVideoCallingEnabled();
17464    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isVisualVoicemailEnabled(android.telecom.PhoneAccountHandle);
17465    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean matchesCurrentSimOperator(@NonNull String, int, @Nullable String);
17466    method public boolean needsOtaServiceProvisioning();
17467    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyOtaEmergencyNumberDbInstalled();
17468    method @RequiresPermission(android.Manifest.permission.REBOOT) public int prepareForUnattendedReboot();
17469    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean rebootRadio();
17470    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerCarrierPrivilegesCallback(int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CarrierPrivilegesCallback);
17471    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void reportDefaultNetworkStatus(boolean);
17472    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);
17473    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>);
17474    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);
17475    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void resetAllCarrierActions();
17476    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void resetCarrierKeysForImsiEncryption();
17477    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void resetIms(int);
17478    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void resetOtaEmergencyNumberDbFilePath();
17479    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean resetRadioConfig();
17480    method @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL) public void resetSettings();
17481    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int sendThermalMitigationRequest(@NonNull android.telephony.ThermalMitigationRequest);
17482    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setAllowedCarriers(int, java.util.List<android.service.carrier.CarrierIdentifier>);
17483    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setAllowedNetworkTypes(long);
17484    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>);
17485    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>);
17486    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCarrierDataEnabled(boolean);
17487    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setCarrierRestrictionRules(@NonNull android.telephony.CarrierRestrictionRules);
17488    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCdmaRoamingMode(int);
17489    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCdmaSubscriptionMode(int);
17490    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int);
17491    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(int, boolean);
17492    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataRoamingEnabled(boolean);
17493    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult setIccLockEnabled(boolean, @NonNull String);
17494    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMobileDataPolicyEnabled(int, boolean);
17495    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultiSimCarrierRestriction(boolean);
17496    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setNrDualConnectivityState(int);
17497    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setOpportunisticNetworkState(boolean);
17498    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setPreferredNetworkTypeBitmask(long);
17499    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setRadio(boolean);
17500    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRadioEnabled(boolean);
17501    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setRadioPower(boolean);
17502    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerState(int);
17503    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>);
17504    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerStateForSlot(int, int);
17505    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>);
17506    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimSlotMapping(@NonNull java.util.Collection<android.telephony.UiccSlotMapping>);
17507    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>);
17508    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSystemSelectionChannels(@NonNull java.util.List<android.telephony.RadioAccessSpecifier>);
17509    method @Deprecated public void setVisualVoicemailEnabled(android.telecom.PhoneAccountHandle, boolean);
17510    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoiceActivationState(int);
17511    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void shutdownAllRadios();
17512    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult supplyIccLockPin(@NonNull String);
17513    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult supplyIccLockPuk(@NonNull String, @NonNull String);
17514    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean supplyPin(String);
17515    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int[] supplyPinReportResult(String);
17516    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean supplyPuk(String, String);
17517    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int[] supplyPukReportResult(String, String);
17518    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean switchSlots(int[]);
17519    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void toggleRadioOnOff();
17520    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterCarrierPrivilegesCallback(@NonNull android.telephony.TelephonyManager.CarrierPrivilegesCallback);
17521    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void updateOtaEmergencyNumberDbFilePath(@NonNull android.os.ParcelFileDescriptor);
17522    method public void updateServiceLocation();
17523    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final String ACTION_ANOMALY_REPORTED = "android.telephony.action.ANOMALY_REPORTED";
17524    field public static final String ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED = "android.intent.action.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED";
17525    field public static final String ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED = "android.intent.action.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED";
17526    field public static final String ACTION_EMERGENCY_ASSISTANCE = "android.telephony.action.EMERGENCY_ASSISTANCE";
17527    field public static final String ACTION_EMERGENCY_CALLBACK_MODE_CHANGED = "android.intent.action.EMERGENCY_CALLBACK_MODE_CHANGED";
17528    field public static final String ACTION_EMERGENCY_CALL_STATE_CHANGED = "android.intent.action.EMERGENCY_CALL_STATE_CHANGED";
17529    field public static final String ACTION_REQUEST_OMADM_CONFIGURATION_UPDATE = "com.android.omadm.service.CONFIGURATION_UPDATE";
17530    field public static final String ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS = "android.telephony.action.SHOW_NOTICE_ECM_BLOCK_OTHERS";
17531    field public static final String ACTION_SIM_APPLICATION_STATE_CHANGED = "android.telephony.action.SIM_APPLICATION_STATE_CHANGED";
17532    field public static final String ACTION_SIM_CARD_STATE_CHANGED = "android.telephony.action.SIM_CARD_STATE_CHANGED";
17533    field public static final String ACTION_SIM_SLOT_STATUS_CHANGED = "android.telephony.action.SIM_SLOT_STATUS_CHANGED";
17534    field public static final int ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G = 3; // 0x3
17535    field public static final int ALLOWED_NETWORK_TYPES_REASON_POWER = 1; // 0x1
17536    field public static final int CALL_WAITING_STATUS_DISABLED = 2; // 0x2
17537    field public static final int CALL_WAITING_STATUS_ENABLED = 1; // 0x1
17538    field public static final int CALL_WAITING_STATUS_FDN_CHECK_FAILURE = 5; // 0x5
17539    field public static final int CALL_WAITING_STATUS_NOT_SUPPORTED = 4; // 0x4
17540    field public static final int CALL_WAITING_STATUS_UNKNOWN_ERROR = 3; // 0x3
17541    field public static final String CAPABILITY_NR_DUAL_CONNECTIVITY_CONFIGURATION_AVAILABLE = "CAPABILITY_NR_DUAL_CONNECTIVITY_CONFIGURATION_AVAILABLE";
17542    field public static final String CAPABILITY_SECONDARY_LINK_BANDWIDTH_VISIBLE = "CAPABILITY_SECONDARY_LINK_BANDWIDTH_VISIBLE";
17543    field public static final String CAPABILITY_THERMAL_MITIGATION_DATA_THROTTLING = "CAPABILITY_THERMAL_MITIGATION_DATA_THROTTLING";
17544    field public static final String CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK = "CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK";
17545    field public static final int CARRIER_PRIVILEGE_STATUS_ERROR_LOADING_RULES = -2; // 0xfffffffe
17546    field public static final int CARRIER_PRIVILEGE_STATUS_HAS_ACCESS = 1; // 0x1
17547    field public static final int CARRIER_PRIVILEGE_STATUS_NO_ACCESS = 0; // 0x0
17548    field public static final int CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED = -1; // 0xffffffff
17549    field public static final int CDMA_SUBSCRIPTION_NV = 1; // 0x1
17550    field public static final int CDMA_SUBSCRIPTION_RUIM_SIM = 0; // 0x0
17551    field public static final int CDMA_SUBSCRIPTION_UNKNOWN = -1; // 0xffffffff
17552    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_INVALID_STATE = 4; // 0x4
17553    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_NOT_SUPPORTED = 1; // 0x1
17554    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_RADIO_ERROR = 3; // 0x3
17555    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_RADIO_NOT_AVAILABLE = 2; // 0x2
17556    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_SUCCESS = 0; // 0x0
17557    field public static final String EXTRA_ANOMALY_DESCRIPTION = "android.telephony.extra.ANOMALY_DESCRIPTION";
17558    field public static final String EXTRA_ANOMALY_ID = "android.telephony.extra.ANOMALY_ID";
17559    field public static final String EXTRA_PHONE_IN_ECM_STATE = "android.telephony.extra.PHONE_IN_ECM_STATE";
17560    field public static final String EXTRA_PHONE_IN_EMERGENCY_CALL = "android.telephony.extra.PHONE_IN_EMERGENCY_CALL";
17561    field public static final String EXTRA_SIM_STATE = "android.telephony.extra.SIM_STATE";
17562    field public static final String EXTRA_VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL = "android.telephony.extra.VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL";
17563    field public static final String EXTRA_VOICEMAIL_SCRAMBLED_PIN_STRING = "android.telephony.extra.VOICEMAIL_SCRAMBLED_PIN_STRING";
17564    field public static final int GBA_FAILURE_REASON_FEATURE_NOT_READY = 2; // 0x2
17565    field public static final int GBA_FAILURE_REASON_FEATURE_NOT_SUPPORTED = 1; // 0x1
17566    field public static final int GBA_FAILURE_REASON_INCORRECT_NAF_ID = 4; // 0x4
17567    field public static final int GBA_FAILURE_REASON_NETWORK_FAILURE = 3; // 0x3
17568    field public static final int GBA_FAILURE_REASON_SECURITY_PROTOCOL_NOT_SUPPORTED = 5; // 0x5
17569    field public static final int GBA_FAILURE_REASON_UNKNOWN = 0; // 0x0
17570    field public static final int INVALID_EMERGENCY_NUMBER_DB_VERSION = -1; // 0xffffffff
17571    field public static final int KEY_TYPE_EPDG = 1; // 0x1
17572    field public static final int KEY_TYPE_WLAN = 2; // 0x2
17573    field public static final int MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL = 1; // 0x1
17574    field public static final int MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED = 2; // 0x2
17575    field public static final int NR_DUAL_CONNECTIVITY_DISABLE = 2; // 0x2
17576    field public static final int NR_DUAL_CONNECTIVITY_DISABLE_IMMEDIATE = 3; // 0x3
17577    field public static final int NR_DUAL_CONNECTIVITY_ENABLE = 1; // 0x1
17578    field public static final int PREPARE_UNATTENDED_REBOOT_ERROR = 2; // 0x2
17579    field public static final int PREPARE_UNATTENDED_REBOOT_PIN_REQUIRED = 1; // 0x1
17580    field public static final int PREPARE_UNATTENDED_REBOOT_SUCCESS = 0; // 0x0
17581    field public static final int RADIO_POWER_OFF = 0; // 0x0
17582    field public static final int RADIO_POWER_ON = 1; // 0x1
17583    field public static final int RADIO_POWER_UNAVAILABLE = 2; // 0x2
17584    field public static final int SET_CARRIER_RESTRICTION_ERROR = 2; // 0x2
17585    field public static final int SET_CARRIER_RESTRICTION_NOT_SUPPORTED = 1; // 0x1
17586    field public static final int SET_CARRIER_RESTRICTION_SUCCESS = 0; // 0x0
17587    field public static final int SET_SIM_POWER_STATE_ALREADY_IN_STATE = 1; // 0x1
17588    field public static final int SET_SIM_POWER_STATE_MODEM_ERROR = 2; // 0x2
17589    field public static final int SET_SIM_POWER_STATE_NOT_SUPPORTED = 4; // 0x4
17590    field public static final int SET_SIM_POWER_STATE_SIM_ERROR = 3; // 0x3
17591    field public static final int SET_SIM_POWER_STATE_SUCCESS = 0; // 0x0
17592    field public static final int SIM_ACTIVATION_STATE_ACTIVATED = 2; // 0x2
17593    field public static final int SIM_ACTIVATION_STATE_ACTIVATING = 1; // 0x1
17594    field public static final int SIM_ACTIVATION_STATE_DEACTIVATED = 3; // 0x3
17595    field public static final int SIM_ACTIVATION_STATE_RESTRICTED = 4; // 0x4
17596    field public static final int SIM_ACTIVATION_STATE_UNKNOWN = 0; // 0x0
17597    field public static final int SIM_STATE_LOADED = 10; // 0xa
17598    field public static final int SIM_STATE_PRESENT = 11; // 0xb
17599    field public static final int SRVCC_STATE_HANDOVER_CANCELED = 3; // 0x3
17600    field public static final int SRVCC_STATE_HANDOVER_COMPLETED = 1; // 0x1
17601    field public static final int SRVCC_STATE_HANDOVER_FAILED = 2; // 0x2
17602    field public static final int SRVCC_STATE_HANDOVER_NONE = -1; // 0xffffffff
17603    field public static final int SRVCC_STATE_HANDOVER_STARTED = 0; // 0x0
17604    field public static final int THERMAL_MITIGATION_RESULT_INVALID_STATE = 3; // 0x3
17605    field public static final int THERMAL_MITIGATION_RESULT_MODEM_ERROR = 1; // 0x1
17606    field public static final int THERMAL_MITIGATION_RESULT_MODEM_NOT_AVAILABLE = 2; // 0x2
17607    field public static final int THERMAL_MITIGATION_RESULT_SUCCESS = 0; // 0x0
17608    field public static final int THERMAL_MITIGATION_RESULT_UNKNOWN_ERROR = 4; // 0x4
17609  }
17610
17611  public static class TelephonyManager.BootstrapAuthenticationCallback {
17612    ctor public TelephonyManager.BootstrapAuthenticationCallback();
17613    method public void onAuthenticationFailure(int);
17614    method public void onKeysAvailable(@NonNull byte[], @NonNull String);
17615  }
17616
17617  public static interface TelephonyManager.CallForwardingInfoCallback {
17618    method public void onCallForwardingInfoAvailable(@NonNull android.telephony.CallForwardingInfo);
17619    method public void onError(int);
17620    field public static final int RESULT_ERROR_FDN_CHECK_FAILURE = 2; // 0x2
17621    field public static final int RESULT_ERROR_NOT_SUPPORTED = 3; // 0x3
17622    field public static final int RESULT_ERROR_UNKNOWN = 1; // 0x1
17623    field public static final int RESULT_SUCCESS = 0; // 0x0
17624  }
17625
17626  public static interface TelephonyManager.CarrierPrivilegesCallback {
17627    method public void onCarrierPrivilegesChanged(@NonNull java.util.Set<java.lang.String>, @NonNull java.util.Set<java.lang.Integer>);
17628    method public default void onCarrierServiceChanged(@Nullable String, int);
17629  }
17630
17631  public static class TelephonyManager.ModemActivityInfoException extends java.lang.Exception {
17632    ctor public TelephonyManager.ModemActivityInfoException(int);
17633    method public int getErrorCode();
17634    field public static final int ERROR_INVALID_INFO_RECEIVED = 2; // 0x2
17635    field public static final int ERROR_MODEM_RESPONSE_ERROR = 3; // 0x3
17636    field public static final int ERROR_PHONE_NOT_AVAILABLE = 1; // 0x1
17637    field public static final int ERROR_UNKNOWN = 0; // 0x0
17638  }
17639
17640  public final class ThermalMitigationRequest implements android.os.Parcelable {
17641    method public int describeContents();
17642    method @Nullable public android.telephony.DataThrottlingRequest getDataThrottlingRequest();
17643    method public int getThermalMitigationAction();
17644    method public void writeToParcel(@NonNull android.os.Parcel, int);
17645    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ThermalMitigationRequest> CREATOR;
17646    field public static final int THERMAL_MITIGATION_ACTION_DATA_THROTTLING = 0; // 0x0
17647    field public static final int THERMAL_MITIGATION_ACTION_RADIO_OFF = 2; // 0x2
17648    field public static final int THERMAL_MITIGATION_ACTION_VOICE_ONLY = 1; // 0x1
17649  }
17650
17651  public static final class ThermalMitigationRequest.Builder {
17652    ctor public ThermalMitigationRequest.Builder();
17653    method @NonNull public android.telephony.ThermalMitigationRequest build();
17654    method @NonNull public android.telephony.ThermalMitigationRequest.Builder setDataThrottlingRequest(@NonNull android.telephony.DataThrottlingRequest);
17655    method @NonNull public android.telephony.ThermalMitigationRequest.Builder setThermalMitigationAction(int);
17656  }
17657
17658  public final class UiccAccessRule implements android.os.Parcelable {
17659    ctor public UiccAccessRule(byte[], @Nullable String, long);
17660    method public int describeContents();
17661    method public int getCarrierPrivilegeStatus(android.content.pm.PackageInfo);
17662    method public int getCarrierPrivilegeStatus(android.content.pm.Signature, String);
17663    method public String getCertificateHexString();
17664    method @Nullable public String getPackageName();
17665    method public void writeToParcel(android.os.Parcel, int);
17666    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccAccessRule> CREATOR;
17667  }
17668
17669  public class UiccSlotInfo implements android.os.Parcelable {
17670    ctor @Deprecated public UiccSlotInfo(boolean, boolean, String, int, int, boolean);
17671    method public int describeContents();
17672    method public String getCardId();
17673    method public int getCardStateInfo();
17674    method @Deprecated public boolean getIsActive();
17675    method public boolean getIsEuicc();
17676    method public boolean getIsExtendedApduSupported();
17677    method @Deprecated public int getLogicalSlotIdx();
17678    method @NonNull public java.util.Collection<android.telephony.UiccPortInfo> getPorts();
17679    method public boolean isRemovable();
17680    method public void writeToParcel(android.os.Parcel, int);
17681    field public static final int CARD_STATE_INFO_ABSENT = 1; // 0x1
17682    field public static final int CARD_STATE_INFO_ERROR = 3; // 0x3
17683    field public static final int CARD_STATE_INFO_PRESENT = 2; // 0x2
17684    field public static final int CARD_STATE_INFO_RESTRICTED = 4; // 0x4
17685    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccSlotInfo> CREATOR;
17686  }
17687
17688  public final class UiccSlotMapping implements android.os.Parcelable {
17689    ctor public UiccSlotMapping(int, int, int);
17690    method public int describeContents();
17691    method @IntRange(from=0) public int getLogicalSlotIndex();
17692    method @IntRange(from=0) public int getPhysicalSlotIndex();
17693    method @IntRange(from=0) public int getPortIndex();
17694    method public void writeToParcel(@Nullable android.os.Parcel, int);
17695    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccSlotMapping> CREATOR;
17696  }
17697
17698  public abstract class VisualVoicemailService extends android.app.Service {
17699    method public static final void sendVisualVoicemailSms(android.content.Context, android.telecom.PhoneAccountHandle, String, short, String, android.app.PendingIntent);
17700    method public static final void setSmsFilterSettings(android.content.Context, android.telecom.PhoneAccountHandle, android.telephony.VisualVoicemailSmsFilterSettings);
17701  }
17702
17703  public abstract class VopsSupportInfo implements android.os.Parcelable {
17704    method public int describeContents();
17705    method public abstract boolean equals(Object);
17706    method public abstract int hashCode();
17707    method public abstract boolean isEmergencyServiceFallbackSupported();
17708    method public abstract boolean isEmergencyServiceSupported();
17709    method public abstract boolean isVopsSupported();
17710    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.VopsSupportInfo> CREATOR;
17711  }
17712
17713}
17714
17715package android.telephony.cdma {
17716
17717  public final class CdmaSmsCbProgramData implements android.os.Parcelable {
17718    method public int describeContents();
17719    method public int getCategory();
17720    method public int getOperation();
17721    method public void writeToParcel(android.os.Parcel, int);
17722    field public static final int CATEGORY_CMAS_CHILD_ABDUCTION_EMERGENCY = 4099; // 0x1003
17723    field public static final int CATEGORY_CMAS_EXTREME_THREAT = 4097; // 0x1001
17724    field public static final int CATEGORY_CMAS_LAST_RESERVED_VALUE = 4351; // 0x10ff
17725    field public static final int CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT = 4096; // 0x1000
17726    field public static final int CATEGORY_CMAS_SEVERE_THREAT = 4098; // 0x1002
17727    field public static final int CATEGORY_CMAS_TEST_MESSAGE = 4100; // 0x1004
17728    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.cdma.CdmaSmsCbProgramData> CREATOR;
17729    field public static final int OPERATION_ADD_CATEGORY = 1; // 0x1
17730    field public static final int OPERATION_CLEAR_CATEGORIES = 2; // 0x2
17731    field public static final int OPERATION_DELETE_CATEGORY = 0; // 0x0
17732  }
17733
17734}
17735
17736package android.telephony.data {
17737
17738  public class ApnSetting implements android.os.Parcelable {
17739    method public static int getApnTypeInt(@NonNull String);
17740    method @NonNull public static String getApnTypeString(int);
17741    field public static final String TYPE_ALL_STRING = "*";
17742    field public static final String TYPE_BIP_STRING = "bip";
17743    field public static final String TYPE_CBS_STRING = "cbs";
17744    field public static final String TYPE_DEFAULT_STRING = "default";
17745    field public static final String TYPE_DUN_STRING = "dun";
17746    field public static final String TYPE_EMERGENCY_STRING = "emergency";
17747    field public static final String TYPE_ENTERPRISE_STRING = "enterprise";
17748    field public static final String TYPE_FOTA_STRING = "fota";
17749    field public static final String TYPE_HIPRI_STRING = "hipri";
17750    field public static final String TYPE_IA_STRING = "ia";
17751    field public static final String TYPE_IMS_STRING = "ims";
17752    field public static final String TYPE_MCX_STRING = "mcx";
17753    field public static final String TYPE_MMS_STRING = "mms";
17754    field public static final String TYPE_SUPL_STRING = "supl";
17755    field public static final String TYPE_VSIM_STRING = "vsim";
17756    field public static final String TYPE_XCAP_STRING = "xcap";
17757  }
17758
17759  public final class DataCallResponse implements android.os.Parcelable {
17760    method public int describeContents();
17761    method @NonNull public java.util.List<android.net.LinkAddress> getAddresses();
17762    method public int getCause();
17763    method @NonNull public java.util.List<java.net.InetAddress> getDnsAddresses();
17764    method @NonNull public java.util.List<java.net.InetAddress> getGatewayAddresses();
17765    method public int getHandoverFailureMode();
17766    method public int getId();
17767    method @NonNull public String getInterfaceName();
17768    method public int getLinkStatus();
17769    method @Deprecated public int getMtu();
17770    method public int getMtuV4();
17771    method public int getMtuV6();
17772    method @NonNull public java.util.List<java.net.InetAddress> getPcscfAddresses();
17773    method public int getPduSessionId();
17774    method public int getProtocolType();
17775    method public long getRetryDurationMillis();
17776    method @Nullable public android.telephony.data.NetworkSliceInfo getSliceInfo();
17777    method @Deprecated public int getSuggestedRetryTime();
17778    method @NonNull public java.util.List<android.telephony.data.TrafficDescriptor> getTrafficDescriptors();
17779    method public void writeToParcel(android.os.Parcel, int);
17780    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.DataCallResponse> CREATOR;
17781    field public static final int HANDOVER_FAILURE_MODE_DO_FALLBACK = 1; // 0x1
17782    field public static final int HANDOVER_FAILURE_MODE_LEGACY = 0; // 0x0
17783    field public static final int HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_HANDOVER = 2; // 0x2
17784    field public static final int HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_SETUP_NORMAL = 3; // 0x3
17785    field public static final int HANDOVER_FAILURE_MODE_UNKNOWN = -1; // 0xffffffff
17786    field public static final int LINK_STATUS_ACTIVE = 2; // 0x2
17787    field public static final int LINK_STATUS_DORMANT = 1; // 0x1
17788    field public static final int LINK_STATUS_INACTIVE = 0; // 0x0
17789    field public static final int LINK_STATUS_UNKNOWN = -1; // 0xffffffff
17790    field public static final int PDU_SESSION_ID_NOT_SET = 0; // 0x0
17791    field public static final int RETRY_DURATION_UNDEFINED = -1; // 0xffffffff
17792  }
17793
17794  public static final class DataCallResponse.Builder {
17795    ctor public DataCallResponse.Builder();
17796    method @NonNull public android.telephony.data.DataCallResponse build();
17797    method @NonNull public android.telephony.data.DataCallResponse.Builder setAddresses(@NonNull java.util.List<android.net.LinkAddress>);
17798    method @NonNull public android.telephony.data.DataCallResponse.Builder setCause(int);
17799    method @NonNull public android.telephony.data.DataCallResponse.Builder setDnsAddresses(@NonNull java.util.List<java.net.InetAddress>);
17800    method @NonNull public android.telephony.data.DataCallResponse.Builder setGatewayAddresses(@NonNull java.util.List<java.net.InetAddress>);
17801    method @NonNull public android.telephony.data.DataCallResponse.Builder setHandoverFailureMode(int);
17802    method @NonNull public android.telephony.data.DataCallResponse.Builder setId(int);
17803    method @NonNull public android.telephony.data.DataCallResponse.Builder setInterfaceName(@NonNull String);
17804    method @NonNull public android.telephony.data.DataCallResponse.Builder setLinkStatus(int);
17805    method @Deprecated @NonNull public android.telephony.data.DataCallResponse.Builder setMtu(int);
17806    method @NonNull public android.telephony.data.DataCallResponse.Builder setMtuV4(int);
17807    method @NonNull public android.telephony.data.DataCallResponse.Builder setMtuV6(int);
17808    method @NonNull public android.telephony.data.DataCallResponse.Builder setPcscfAddresses(@NonNull java.util.List<java.net.InetAddress>);
17809    method @NonNull public android.telephony.data.DataCallResponse.Builder setPduSessionId(@IntRange(from=android.telephony.data.DataCallResponse.PDU_SESSION_ID_NOT_SET, to=15) int);
17810    method @NonNull public android.telephony.data.DataCallResponse.Builder setProtocolType(int);
17811    method @NonNull public android.telephony.data.DataCallResponse.Builder setRetryDurationMillis(long);
17812    method @NonNull public android.telephony.data.DataCallResponse.Builder setSliceInfo(@Nullable android.telephony.data.NetworkSliceInfo);
17813    method @Deprecated @NonNull public android.telephony.data.DataCallResponse.Builder setSuggestedRetryTime(int);
17814    method @NonNull public android.telephony.data.DataCallResponse.Builder setTrafficDescriptors(@NonNull java.util.List<android.telephony.data.TrafficDescriptor>);
17815  }
17816
17817  public final class DataProfile implements android.os.Parcelable {
17818    method public int describeContents();
17819    method @Deprecated @NonNull public String getApn();
17820    method @Nullable public android.telephony.data.ApnSetting getApnSetting();
17821    method @Deprecated public int getAuthType();
17822    method @Deprecated public int getBearerBitmask();
17823    method @Deprecated public int getMtu();
17824    method @Deprecated public int getMtuV4();
17825    method @Deprecated public int getMtuV6();
17826    method @Deprecated @Nullable public String getPassword();
17827    method @Deprecated public int getProfileId();
17828    method @Deprecated public int getProtocolType();
17829    method @Deprecated public int getRoamingProtocolType();
17830    method @Deprecated public int getSupportedApnTypesBitmask();
17831    method @Nullable public android.telephony.data.TrafficDescriptor getTrafficDescriptor();
17832    method public int getType();
17833    method @Deprecated @Nullable public String getUserName();
17834    method public boolean isEnabled();
17835    method @Deprecated public boolean isPersistent();
17836    method public boolean isPreferred();
17837    method public void writeToParcel(android.os.Parcel, int);
17838    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.DataProfile> CREATOR;
17839    field public static final int TYPE_3GPP = 1; // 0x1
17840    field public static final int TYPE_3GPP2 = 2; // 0x2
17841    field public static final int TYPE_COMMON = 0; // 0x0
17842  }
17843
17844  public static final class DataProfile.Builder {
17845    ctor public DataProfile.Builder();
17846    method @NonNull public android.telephony.data.DataProfile build();
17847    method @NonNull public android.telephony.data.DataProfile.Builder enable(boolean);
17848    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setApn(@NonNull String);
17849    method @NonNull public android.telephony.data.DataProfile.Builder setApnSetting(@NonNull android.telephony.data.ApnSetting);
17850    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setAuthType(int);
17851    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setBearerBitmask(int);
17852    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setMtu(int);
17853    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setMtuV4(int);
17854    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setMtuV6(int);
17855    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setPassword(@NonNull String);
17856    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setPersistent(boolean);
17857    method @NonNull public android.telephony.data.DataProfile.Builder setPreferred(boolean);
17858    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setProfileId(int);
17859    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setProtocolType(int);
17860    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setRoamingProtocolType(int);
17861    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setSupportedApnTypesBitmask(int);
17862    method @NonNull public android.telephony.data.DataProfile.Builder setTrafficDescriptor(@NonNull android.telephony.data.TrafficDescriptor);
17863    method @NonNull public android.telephony.data.DataProfile.Builder setType(int);
17864    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setUserName(@NonNull String);
17865  }
17866
17867  public abstract class DataService extends android.app.Service {
17868    ctor public DataService();
17869    method public android.os.IBinder onBind(android.content.Intent);
17870    method @Nullable public abstract android.telephony.data.DataService.DataServiceProvider onCreateDataServiceProvider(int);
17871    field public static final int REQUEST_REASON_HANDOVER = 3; // 0x3
17872    field public static final int REQUEST_REASON_NORMAL = 1; // 0x1
17873    field public static final int REQUEST_REASON_SHUTDOWN = 2; // 0x2
17874    field public static final int REQUEST_REASON_UNKNOWN = 0; // 0x0
17875    field public static final String SERVICE_INTERFACE = "android.telephony.data.DataService";
17876  }
17877
17878  public abstract class DataService.DataServiceProvider implements java.lang.AutoCloseable {
17879    ctor public DataService.DataServiceProvider(int);
17880    method public abstract void close();
17881    method public void deactivateDataCall(int, int, @Nullable android.telephony.data.DataServiceCallback);
17882    method public final int getSlotIndex();
17883    method public final void notifyApnUnthrottled(@NonNull String);
17884    method public final void notifyDataCallListChanged(java.util.List<android.telephony.data.DataCallResponse>);
17885    method public final void notifyDataProfileUnthrottled(@NonNull android.telephony.data.DataProfile);
17886    method public void requestDataCallList(@NonNull android.telephony.data.DataServiceCallback);
17887    method public void setDataProfile(@NonNull java.util.List<android.telephony.data.DataProfile>, boolean, @NonNull android.telephony.data.DataServiceCallback);
17888    method public void setInitialAttachApn(@NonNull android.telephony.data.DataProfile, boolean, @NonNull android.telephony.data.DataServiceCallback);
17889    method public void setupDataCall(int, @NonNull android.telephony.data.DataProfile, boolean, boolean, int, @Nullable android.net.LinkProperties, @NonNull android.telephony.data.DataServiceCallback);
17890    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);
17891  }
17892
17893  public class DataServiceCallback {
17894    method public void onApnUnthrottled(@NonNull String);
17895    method public void onDataCallListChanged(@NonNull java.util.List<android.telephony.data.DataCallResponse>);
17896    method public void onDataProfileUnthrottled(@NonNull android.telephony.data.DataProfile);
17897    method public void onDeactivateDataCallComplete(int);
17898    method public void onRequestDataCallListComplete(int, @NonNull java.util.List<android.telephony.data.DataCallResponse>);
17899    method public void onSetDataProfileComplete(int);
17900    method public void onSetInitialAttachApnComplete(int);
17901    method public void onSetupDataCallComplete(int, @Nullable android.telephony.data.DataCallResponse);
17902    field public static final int RESULT_ERROR_BUSY = 3; // 0x3
17903    field public static final int RESULT_ERROR_ILLEGAL_STATE = 4; // 0x4
17904    field public static final int RESULT_ERROR_INVALID_ARG = 2; // 0x2
17905    field public static final int RESULT_ERROR_UNSUPPORTED = 1; // 0x1
17906    field public static final int RESULT_SUCCESS = 0; // 0x0
17907  }
17908
17909  public final class EpsBearerQosSessionAttributes implements android.os.Parcelable android.net.QosSessionAttributes {
17910    method public int describeContents();
17911    method public long getGuaranteedDownlinkBitRateKbps();
17912    method public long getGuaranteedUplinkBitRateKbps();
17913    method public long getMaxDownlinkBitRateKbps();
17914    method public long getMaxUplinkBitRateKbps();
17915    method public int getQosIdentifier();
17916    method @NonNull public java.util.List<java.net.InetSocketAddress> getRemoteAddresses();
17917    method public void writeToParcel(@NonNull android.os.Parcel, int);
17918    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.EpsBearerQosSessionAttributes> CREATOR;
17919  }
17920
17921  public final class NrQosSessionAttributes implements android.os.Parcelable android.net.QosSessionAttributes {
17922    method public int describeContents();
17923    method @NonNull public java.time.Duration getBitRateWindowDuration();
17924    method public long getGuaranteedDownlinkBitRateKbps();
17925    method public long getGuaranteedUplinkBitRateKbps();
17926    method public long getMaxDownlinkBitRateKbps();
17927    method public long getMaxUplinkBitRateKbps();
17928    method @IntRange(from=1, to=63) public int getQosFlowIdentifier();
17929    method public int getQosIdentifier();
17930    method @NonNull public java.util.List<java.net.InetSocketAddress> getRemoteAddresses();
17931    method public void writeToParcel(@NonNull android.os.Parcel, int);
17932    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.NrQosSessionAttributes> CREATOR;
17933  }
17934
17935  public abstract class QualifiedNetworksService extends android.app.Service {
17936    ctor public QualifiedNetworksService();
17937    method @NonNull public abstract android.telephony.data.QualifiedNetworksService.NetworkAvailabilityProvider onCreateNetworkAvailabilityProvider(int);
17938    field public static final String QUALIFIED_NETWORKS_SERVICE_INTERFACE = "android.telephony.data.QualifiedNetworksService";
17939  }
17940
17941  public abstract class QualifiedNetworksService.NetworkAvailabilityProvider implements java.lang.AutoCloseable {
17942    ctor public QualifiedNetworksService.NetworkAvailabilityProvider(int);
17943    method public abstract void close();
17944    method public final int getSlotIndex();
17945    method public void reportThrottleStatusChanged(@NonNull java.util.List<android.telephony.data.ThrottleStatus>);
17946    method public final void updateQualifiedNetworkTypes(int, @NonNull java.util.List<java.lang.Integer>);
17947  }
17948
17949  public final class ThrottleStatus implements android.os.Parcelable {
17950    method public int describeContents();
17951    method public int getApnType();
17952    method public int getRetryType();
17953    method public int getSlotIndex();
17954    method public long getThrottleExpiryTimeMillis();
17955    method public int getThrottleType();
17956    method public int getTransportType();
17957    method public void writeToParcel(@NonNull android.os.Parcel, int);
17958    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.ThrottleStatus> CREATOR;
17959    field public static final int RETRY_TYPE_HANDOVER = 3; // 0x3
17960    field public static final int RETRY_TYPE_NEW_CONNECTION = 2; // 0x2
17961    field public static final int RETRY_TYPE_NONE = 1; // 0x1
17962    field public static final int THROTTLE_TYPE_ELAPSED_TIME = 2; // 0x2
17963    field public static final int THROTTLE_TYPE_NONE = 1; // 0x1
17964  }
17965
17966  public static final class ThrottleStatus.Builder {
17967    ctor public ThrottleStatus.Builder();
17968    method @NonNull public android.telephony.data.ThrottleStatus build();
17969    method @NonNull public android.telephony.data.ThrottleStatus.Builder setApnType(int);
17970    method @NonNull public android.telephony.data.ThrottleStatus.Builder setNoThrottle();
17971    method @NonNull public android.telephony.data.ThrottleStatus.Builder setRetryType(int);
17972    method @NonNull public android.telephony.data.ThrottleStatus.Builder setSlotIndex(int);
17973    method @NonNull public android.telephony.data.ThrottleStatus.Builder setThrottleExpiryTimeMillis(long);
17974    method @NonNull public android.telephony.data.ThrottleStatus.Builder setTransportType(int);
17975  }
17976
17977}
17978
17979package android.telephony.euicc {
17980
17981  public final class DownloadableSubscription implements android.os.Parcelable {
17982    method public java.util.List<android.telephony.UiccAccessRule> getAccessRules();
17983    method @Nullable public String getCarrierName();
17984  }
17985
17986  public static final class DownloadableSubscription.Builder {
17987    ctor public DownloadableSubscription.Builder();
17988    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setAccessRules(@NonNull java.util.List<android.telephony.UiccAccessRule>);
17989    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setCarrierName(@NonNull String);
17990  }
17991
17992  public class EuiccCardManager {
17993    method public void authenticateServer(String, String, byte[], byte[], byte[], byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
17994    method public void cancelSession(String, byte[], @android.telephony.euicc.EuiccCardManager.CancelReason int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
17995    method public void deleteProfile(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
17996    method public void disableProfile(String, String, boolean, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
17997    method public void listNotifications(String, @android.telephony.euicc.EuiccNotification.Event int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification[]>);
17998    method public void loadBoundProfilePackage(String, byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
17999    method public void prepareDownload(String, @Nullable byte[], byte[], byte[], byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
18000    method public void removeNotificationFromList(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
18001    method public void requestAllProfiles(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo[]>);
18002    method public void requestDefaultSmdpAddress(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.String>);
18003    method public void requestEnabledProfileForPort(@NonNull String, int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
18004    method public void requestEuiccChallenge(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
18005    method public void requestEuiccInfo1(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
18006    method public void requestEuiccInfo2(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
18007    method public void requestProfile(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
18008    method public void requestRulesAuthTable(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccRulesAuthTable>);
18009    method public void requestSmdsAddress(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.String>);
18010    method public void resetMemory(String, @android.telephony.euicc.EuiccCardManager.ResetOption int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
18011    method public void retrieveNotification(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification>);
18012    method public void retrieveNotificationList(String, @android.telephony.euicc.EuiccNotification.Event int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification[]>);
18013    method public void setDefaultSmdpAddress(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
18014    method public void setNickname(String, String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
18015    method @Deprecated public void switchToProfile(String, String, boolean, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
18016    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>);
18017    field public static final int CANCEL_REASON_END_USER_REJECTED = 0; // 0x0
18018    field public static final int CANCEL_REASON_POSTPONED = 1; // 0x1
18019    field public static final int CANCEL_REASON_PPR_NOT_ALLOWED = 3; // 0x3
18020    field public static final int CANCEL_REASON_TIMEOUT = 2; // 0x2
18021    field public static final int RESET_OPTION_DELETE_FIELD_LOADED_TEST_PROFILES = 2; // 0x2
18022    field public static final int RESET_OPTION_DELETE_OPERATIONAL_PROFILES = 1; // 0x1
18023    field public static final int RESET_OPTION_RESET_DEFAULT_SMDP_ADDRESS = 4; // 0x4
18024    field public static final int RESULT_CALLER_NOT_ALLOWED = -3; // 0xfffffffd
18025    field public static final int RESULT_EUICC_NOT_FOUND = -2; // 0xfffffffe
18026    field public static final int RESULT_OK = 0; // 0x0
18027    field public static final int RESULT_PROFILE_NOT_FOUND = 1; // 0x1
18028    field public static final int RESULT_UNKNOWN_ERROR = -1; // 0xffffffff
18029  }
18030
18031  @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 {
18032  }
18033
18034  @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 {
18035  }
18036
18037  public static interface EuiccCardManager.ResultCallback<T> {
18038    method public void onComplete(int, T);
18039  }
18040
18041  public class EuiccManager {
18042    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void continueOperation(android.content.Intent, android.os.Bundle);
18043    method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void eraseSubscriptions(@NonNull android.app.PendingIntent);
18044    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void eraseSubscriptions(@android.telephony.euicc.EuiccCardManager.ResetOption int, @NonNull android.app.PendingIntent);
18045    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void getDefaultDownloadableSubscriptionList(android.app.PendingIntent);
18046    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void getDownloadableSubscriptionMetadata(android.telephony.euicc.DownloadableSubscription, android.app.PendingIntent);
18047    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public int getOtaStatus();
18048    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public java.util.List<java.lang.String> getSupportedCountries();
18049    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public java.util.List<java.lang.String> getUnsupportedCountries();
18050    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public boolean isSupportedCountry(@NonNull String);
18051    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setSupportedCountries(@NonNull java.util.List<java.lang.String>);
18052    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setUnsupportedCountries(@NonNull java.util.List<java.lang.String>);
18053    field public static final String ACTION_DELETE_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.DELETE_SUBSCRIPTION_PRIVILEGED";
18054    field @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public static final String ACTION_OTA_STATUS_CHANGED = "android.telephony.euicc.action.OTA_STATUS_CHANGED";
18055    field public static final String ACTION_PROVISION_EMBEDDED_SUBSCRIPTION = "android.telephony.euicc.action.PROVISION_EMBEDDED_SUBSCRIPTION";
18056    field public static final String ACTION_RENAME_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.RENAME_SUBSCRIPTION_PRIVILEGED";
18057    field public static final String ACTION_TOGGLE_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.TOGGLE_SUBSCRIPTION_PRIVILEGED";
18058    field public static final int EUICC_ACTIVATION_TYPE_ACCOUNT_REQUIRED = 4; // 0x4
18059    field public static final int EUICC_ACTIVATION_TYPE_BACKUP = 2; // 0x2
18060    field public static final int EUICC_ACTIVATION_TYPE_DEFAULT = 1; // 0x1
18061    field public static final int EUICC_ACTIVATION_TYPE_TRANSFER = 3; // 0x3
18062    field public static final int EUICC_OTA_FAILED = 2; // 0x2
18063    field public static final int EUICC_OTA_IN_PROGRESS = 1; // 0x1
18064    field public static final int EUICC_OTA_NOT_NEEDED = 4; // 0x4
18065    field public static final int EUICC_OTA_STATUS_UNAVAILABLE = 5; // 0x5
18066    field public static final int EUICC_OTA_SUCCEEDED = 3; // 0x3
18067    field public static final String EXTRA_ACTIVATION_TYPE = "android.telephony.euicc.extra.ACTIVATION_TYPE";
18068    field public static final String EXTRA_EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTIONS = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTIONS";
18069    field public static final String EXTRA_ENABLE_SUBSCRIPTION = "android.telephony.euicc.extra.ENABLE_SUBSCRIPTION";
18070    field public static final String EXTRA_FORCE_PROVISION = "android.telephony.euicc.extra.FORCE_PROVISION";
18071    field public static final String EXTRA_FROM_SUBSCRIPTION_ID = "android.telephony.euicc.extra.FROM_SUBSCRIPTION_ID";
18072    field public static final String EXTRA_PHYSICAL_SLOT_ID = "android.telephony.euicc.extra.PHYSICAL_SLOT_ID";
18073    field public static final String EXTRA_SUBSCRIPTION_ID = "android.telephony.euicc.extra.SUBSCRIPTION_ID";
18074    field public static final String EXTRA_SUBSCRIPTION_NICKNAME = "android.telephony.euicc.extra.SUBSCRIPTION_NICKNAME";
18075  }
18076
18077  @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 {
18078  }
18079
18080  public final class EuiccNotification implements android.os.Parcelable {
18081    ctor public EuiccNotification(int, String, @android.telephony.euicc.EuiccNotification.Event int, @Nullable byte[]);
18082    method public int describeContents();
18083    method @Nullable public byte[] getData();
18084    method @android.telephony.euicc.EuiccNotification.Event public int getEvent();
18085    method public int getSeq();
18086    method public String getTargetAddr();
18087    method public void writeToParcel(android.os.Parcel, int);
18088    field @android.telephony.euicc.EuiccNotification.Event public static final int ALL_EVENTS = 15; // 0xf
18089    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccNotification> CREATOR;
18090    field public static final int EVENT_DELETE = 8; // 0x8
18091    field public static final int EVENT_DISABLE = 4; // 0x4
18092    field public static final int EVENT_ENABLE = 2; // 0x2
18093    field public static final int EVENT_INSTALL = 1; // 0x1
18094  }
18095
18096  @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 {
18097  }
18098
18099  public final class EuiccRulesAuthTable implements android.os.Parcelable {
18100    method public int describeContents();
18101    method public int findIndex(@android.service.euicc.EuiccProfileInfo.PolicyRule int, android.service.carrier.CarrierIdentifier);
18102    method public boolean hasPolicyRuleFlag(int, @android.telephony.euicc.EuiccRulesAuthTable.PolicyRuleFlag int);
18103    method public void writeToParcel(android.os.Parcel, int);
18104    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccRulesAuthTable> CREATOR;
18105    field public static final int POLICY_RULE_FLAG_CONSENT_REQUIRED = 1; // 0x1
18106  }
18107
18108  public static final class EuiccRulesAuthTable.Builder {
18109    ctor public EuiccRulesAuthTable.Builder(int);
18110    method public android.telephony.euicc.EuiccRulesAuthTable.Builder add(int, java.util.List<android.service.carrier.CarrierIdentifier>, int);
18111    method public android.telephony.euicc.EuiccRulesAuthTable build();
18112  }
18113
18114  @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 {
18115  }
18116
18117}
18118
18119package android.telephony.gba {
18120
18121  public class GbaService extends android.app.Service {
18122    ctor public GbaService();
18123    method public void onAuthenticationRequest(int, int, int, @NonNull android.net.Uri, @NonNull byte[], boolean);
18124    method public final void reportAuthenticationFailure(int, int) throws java.lang.RuntimeException;
18125    method public final void reportKeysAvailable(int, @NonNull byte[], @NonNull String) throws java.lang.RuntimeException;
18126    field public static final String SERVICE_INTERFACE = "android.telephony.gba.GbaService";
18127  }
18128
18129  public class TlsParams {
18130    method public static boolean isTlsCipherSuiteSupported(int);
18131    field public static final int GROUP_SECP256R1 = 23; // 0x17
18132    field public static final int GROUP_SECP384R1 = 24; // 0x18
18133    field public static final int GROUP_X25519 = 29; // 0x1d
18134    field public static final int GROUP_X448 = 30; // 0x1e
18135    field public static final int PROTOCOL_VERSION_TLS_1_2 = 771; // 0x303
18136    field public static final int PROTOCOL_VERSION_TLS_1_3 = 772; // 0x304
18137    field public static final int SIG_ECDSA_BRAINPOOLP256R1TLS13_SHA256 = 2074; // 0x81a
18138    field public static final int SIG_ECDSA_BRAINPOOLP384R1TLS13_SHA384 = 2075; // 0x81b
18139    field public static final int SIG_ECDSA_BRAINPOOLP512R1TLS13_SHA512 = 2076; // 0x81c
18140    field public static final int SIG_ECDSA_SECP256R1_SHA256 = 1027; // 0x403
18141    field public static final int SIG_ECDSA_SECP384R1_SHA384 = 1283; // 0x503
18142    field public static final int SIG_ECDSA_SECP521R1_SHA512 = 1539; // 0x603
18143    field public static final int SIG_ECDSA_SHA1 = 515; // 0x203
18144    field public static final int SIG_RSA_PKCS1_SHA1 = 513; // 0x201
18145    field public static final int SIG_RSA_PKCS1_SHA256 = 1025; // 0x401
18146    field public static final int SIG_RSA_PKCS1_SHA256_LEGACY = 1056; // 0x420
18147    field public static final int SIG_RSA_PKCS1_SHA384 = 1281; // 0x501
18148    field public static final int SIG_RSA_PKCS1_SHA384_LEGACY = 1312; // 0x520
18149    field public static final int SIG_RSA_PKCS1_SHA512 = 1537; // 0x601
18150    field public static final int SIG_RSA_PKCS1_SHA512_LEGACY = 1568; // 0x620
18151    field public static final int SIG_RSA_PSS_RSAE_SHA256 = 2052; // 0x804
18152    field public static final int SIG_RSA_PSS_RSAE_SHA384 = 2053; // 0x805
18153    field public static final int SIG_RSA_PSS_RSAE_SHA512 = 2054; // 0x806
18154    field public static final int TLS_AES_128_CCM_SHA256 = 4868; // 0x1304
18155    field public static final int TLS_AES_128_GCM_SHA256 = 4865; // 0x1301
18156    field public static final int TLS_AES_256_GCM_SHA384 = 4866; // 0x1302
18157    field public static final int TLS_CHACHA20_POLY1305_SHA256 = 4867; // 0x1303
18158    field public static final int TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 19; // 0x13
18159    field public static final int TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 50; // 0x32
18160    field public static final int TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 64; // 0x40
18161    field public static final int TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 56; // 0x38
18162    field public static final int TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 106; // 0x6a
18163    field public static final int TLS_DHE_PSK_WITH_AES_128_CCM = 49318; // 0xc0a6
18164    field public static final int TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 = 170; // 0xaa
18165    field public static final int TLS_DHE_PSK_WITH_AES_256_CCM = 49319; // 0xc0a7
18166    field public static final int TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 = 171; // 0xab
18167    field public static final int TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52397; // 0xccad
18168    field public static final int TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 22; // 0x16
18169    field public static final int TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 51; // 0x33
18170    field public static final int TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 103; // 0x67
18171    field public static final int TLS_DHE_RSA_WITH_AES_128_CCM = 49310; // 0xc09e
18172    field public static final int TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = 158; // 0x9e
18173    field public static final int TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 57; // 0x39
18174    field public static final int TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 107; // 0x6b
18175    field public static final int TLS_DHE_RSA_WITH_AES_256_CCM = 49311; // 0xc09f
18176    field public static final int TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = 159; // 0x9f
18177    field public static final int TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52394; // 0xccaa
18178    field public static final int TLS_DH_ANON_WITH_3DES_EDE_CBC_SHA = 27; // 0x1b
18179    field public static final int TLS_DH_ANON_WITH_AES_128_CBC_SHA = 52; // 0x34
18180    field public static final int TLS_DH_ANON_WITH_AES_128_CBC_SHA256 = 108; // 0x6c
18181    field public static final int TLS_DH_ANON_WITH_AES_256_CBC_SHA = 58; // 0x3a
18182    field public static final int TLS_DH_ANON_WITH_AES_256_CBC_SHA256 = 109; // 0x6d
18183    field public static final int TLS_DH_ANON_WITH_RC4_128_MD5 = 24; // 0x18
18184    field public static final int TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA = 13; // 0xd
18185    field public static final int TLS_DH_DSS_WITH_AES_128_CBC_SHA = 48; // 0x30
18186    field public static final int TLS_DH_DSS_WITH_AES_128_CBC_SHA256 = 62; // 0x3e
18187    field public static final int TLS_DH_DSS_WITH_AES_256_CBC_SHA = 54; // 0x36
18188    field public static final int TLS_DH_DSS_WITH_AES_256_CBC_SHA256 = 104; // 0x68
18189    field public static final int TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA = 16; // 0x10
18190    field public static final int TLS_DH_RSA_WITH_AES_128_CBC_SHA = 49; // 0x31
18191    field public static final int TLS_DH_RSA_WITH_AES_128_CBC_SHA256 = 63; // 0x3f
18192    field public static final int TLS_DH_RSA_WITH_AES_256_CBC_SHA = 55; // 0x37
18193    field public static final int TLS_DH_RSA_WITH_AES_256_CBC_SHA256 = 105; // 0x69
18194    field public static final int TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = 49195; // 0xc02b
18195    field public static final int TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = 49196; // 0xc02c
18196    field public static final int TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = 52393; // 0xcca9
18197    field public static final int TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256 = 53253; // 0xd005
18198    field public static final int TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256 = 53249; // 0xd001
18199    field public static final int TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384 = 53250; // 0xd002
18200    field public static final int TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52396; // 0xccac
18201    field public static final int TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = 49199; // 0xc02f
18202    field public static final int TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = 49200; // 0xc030
18203    field public static final int TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52392; // 0xcca8
18204    field public static final int TLS_NULL_WITH_NULL_NULL = 0; // 0x0
18205    field public static final int TLS_RSA_WITH_3DES_EDE_CBC_SHA = 10; // 0xa
18206    field public static final int TLS_RSA_WITH_AES_128_CBC_SHA = 47; // 0x2f
18207    field public static final int TLS_RSA_WITH_AES_128_CBC_SHA256 = 60; // 0x3c
18208    field public static final int TLS_RSA_WITH_AES_256_CBC_SHA = 53; // 0x35
18209    field public static final int TLS_RSA_WITH_AES_256_CBC_SHA256 = 61; // 0x3d
18210    field public static final int TLS_RSA_WITH_NULL_MD5 = 1; // 0x1
18211    field public static final int TLS_RSA_WITH_NULL_SHA = 2; // 0x2
18212    field public static final int TLS_RSA_WITH_NULL_SHA256 = 59; // 0x3b
18213    field public static final int TLS_RSA_WITH_RC4_128_MD5 = 4; // 0x4
18214    field public static final int TLS_RSA_WITH_RC4_128_SHA = 5; // 0x5
18215  }
18216
18217  public final class UaSecurityProtocolIdentifier implements android.os.Parcelable {
18218    method public int describeContents();
18219    method public int getOrg();
18220    method public int getProtocol();
18221    method public int getTlsCipherSuite();
18222    method @NonNull public byte[] toByteArray();
18223    method public void writeToParcel(@NonNull android.os.Parcel, int);
18224    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.gba.UaSecurityProtocolIdentifier> CREATOR;
18225    field public static final int ORG_3GPP = 1; // 0x1
18226    field public static final int ORG_3GPP2 = 2; // 0x2
18227    field public static final int ORG_GSMA = 4; // 0x4
18228    field public static final int ORG_LOCAL = 255; // 0xff
18229    field public static final int ORG_NONE = 0; // 0x0
18230    field public static final int ORG_OMA = 3; // 0x3
18231    field public static final int UA_SECURITY_PROTOCOL_3GPP_GENERATION_TMPI = 256; // 0x100
18232    field public static final int UA_SECURITY_PROTOCOL_3GPP_GENERIC_PUSH_LAYER = 5; // 0x5
18233    field public static final int UA_SECURITY_PROTOCOL_3GPP_HTTP_BASED_MBMS = 3; // 0x3
18234    field public static final int UA_SECURITY_PROTOCOL_3GPP_HTTP_DIGEST_AUTHENTICATION = 2; // 0x2
18235    field public static final int UA_SECURITY_PROTOCOL_3GPP_IMS_MEDIA_PLANE = 6; // 0x6
18236    field public static final int UA_SECURITY_PROTOCOL_3GPP_MBMS = 1; // 0x1
18237    field public static final int UA_SECURITY_PROTOCOL_3GPP_SIP_BASED_MBMS = 4; // 0x4
18238    field public static final int UA_SECURITY_PROTOCOL_3GPP_SUBSCRIBER_CERTIFICATE = 0; // 0x0
18239    field public static final int UA_SECURITY_PROTOCOL_3GPP_TLS_BROWSER = 131072; // 0x20000
18240    field public static final int UA_SECURITY_PROTOCOL_3GPP_TLS_DEFAULT = 65536; // 0x10000
18241  }
18242
18243  public static final class UaSecurityProtocolIdentifier.Builder {
18244    ctor public UaSecurityProtocolIdentifier.Builder();
18245    ctor public UaSecurityProtocolIdentifier.Builder(@NonNull android.telephony.gba.UaSecurityProtocolIdentifier);
18246    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier build();
18247    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setOrg(int);
18248    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setProtocol(int);
18249    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setTlsCipherSuite(int);
18250  }
18251
18252}
18253
18254package android.telephony.ims {
18255
18256  public final class AudioCodecAttributes implements android.os.Parcelable {
18257    ctor public AudioCodecAttributes(float, @NonNull android.util.Range<java.lang.Float>, float, @NonNull android.util.Range<java.lang.Float>);
18258    method public int describeContents();
18259    method public float getBandwidthKhz();
18260    method @NonNull public android.util.Range<java.lang.Float> getBandwidthRangeKhz();
18261    method public float getBitrateKbps();
18262    method @NonNull public android.util.Range<java.lang.Float> getBitrateRangeKbps();
18263    method public void writeToParcel(@NonNull android.os.Parcel, int);
18264    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.AudioCodecAttributes> CREATOR;
18265  }
18266
18267  public interface DelegateMessageCallback {
18268    method public void onMessageReceived(@NonNull android.telephony.ims.SipMessage);
18269    method public void onMessageSendFailure(@NonNull String, int);
18270    method public void onMessageSent(@NonNull String);
18271  }
18272
18273  public final class DelegateRegistrationState implements android.os.Parcelable {
18274    method public int describeContents();
18275    method @NonNull public java.util.Set<android.telephony.ims.FeatureTagState> getDeregisteredFeatureTags();
18276    method @NonNull public java.util.Set<android.telephony.ims.FeatureTagState> getDeregisteringFeatureTags();
18277    method @NonNull public java.util.Set<java.lang.String> getRegisteredFeatureTags();
18278    method @NonNull public java.util.Set<java.lang.String> getRegisteringFeatureTags();
18279    method public void writeToParcel(@NonNull android.os.Parcel, int);
18280    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.DelegateRegistrationState> CREATOR;
18281    field public static final int DEREGISTERED_REASON_NOT_PROVISIONED = 1; // 0x1
18282    field public static final int DEREGISTERED_REASON_NOT_REGISTERED = 2; // 0x2
18283    field public static final int DEREGISTERED_REASON_UNKNOWN = 0; // 0x0
18284    field public static final int DEREGISTERING_REASON_DESTROY_PENDING = 6; // 0x6
18285    field public static final int DEREGISTERING_REASON_FEATURE_TAGS_CHANGING = 5; // 0x5
18286    field public static final int DEREGISTERING_REASON_LOSING_PDN = 7; // 0x7
18287    field public static final int DEREGISTERING_REASON_PDN_CHANGE = 3; // 0x3
18288    field public static final int DEREGISTERING_REASON_PROVISIONING_CHANGE = 4; // 0x4
18289    field public static final int DEREGISTERING_REASON_UNSPECIFIED = 8; // 0x8
18290  }
18291
18292  public static final class DelegateRegistrationState.Builder {
18293    ctor public DelegateRegistrationState.Builder();
18294    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addDeregisteredFeatureTag(@NonNull String, int);
18295    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addDeregisteringFeatureTag(@NonNull String, int);
18296    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addRegisteredFeatureTag(@NonNull String);
18297    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addRegisteredFeatureTags(@NonNull java.util.Set<java.lang.String>);
18298    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addRegisteringFeatureTags(@NonNull java.util.Set<java.lang.String>);
18299    method @NonNull public android.telephony.ims.DelegateRegistrationState build();
18300  }
18301
18302  public final class DelegateRequest implements android.os.Parcelable {
18303    ctor public DelegateRequest(@NonNull java.util.Set<java.lang.String>);
18304    method public int describeContents();
18305    method @NonNull public java.util.Set<java.lang.String> getFeatureTags();
18306    method public void writeToParcel(@NonNull android.os.Parcel, int);
18307    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.DelegateRequest> CREATOR;
18308  }
18309
18310  public interface DelegateStateCallback {
18311    method public void onConfigurationChanged(@NonNull android.telephony.ims.SipDelegateConfiguration);
18312    method public void onCreated(@NonNull android.telephony.ims.stub.SipDelegate, @Nullable java.util.Set<android.telephony.ims.FeatureTagState>);
18313    method public void onDestroyed(int);
18314    method public void onFeatureTagRegistrationChanged(@NonNull android.telephony.ims.DelegateRegistrationState);
18315  }
18316
18317  public final class FeatureTagState implements android.os.Parcelable {
18318    ctor public FeatureTagState(@NonNull String, int);
18319    method public int describeContents();
18320    method @NonNull public String getFeatureTag();
18321    method public int getState();
18322    method public void writeToParcel(@NonNull android.os.Parcel, int);
18323    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.FeatureTagState> CREATOR;
18324  }
18325
18326  public final class ImsCallForwardInfo implements android.os.Parcelable {
18327    ctor public ImsCallForwardInfo(int, int, int, int, @NonNull String, int);
18328    method public int describeContents();
18329    method public int getCondition();
18330    method public String getNumber();
18331    method public int getServiceClass();
18332    method public int getStatus();
18333    method public int getTimeSeconds();
18334    method public int getToA();
18335    method public void writeToParcel(android.os.Parcel, int);
18336    field public static final int CDIV_CF_REASON_ALL = 4; // 0x4
18337    field public static final int CDIV_CF_REASON_ALL_CONDITIONAL = 5; // 0x5
18338    field public static final int CDIV_CF_REASON_BUSY = 1; // 0x1
18339    field public static final int CDIV_CF_REASON_NOT_LOGGED_IN = 6; // 0x6
18340    field public static final int CDIV_CF_REASON_NOT_REACHABLE = 3; // 0x3
18341    field public static final int CDIV_CF_REASON_NO_REPLY = 2; // 0x2
18342    field public static final int CDIV_CF_REASON_UNCONDITIONAL = 0; // 0x0
18343    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsCallForwardInfo> CREATOR;
18344    field public static final int STATUS_ACTIVE = 1; // 0x1
18345    field public static final int STATUS_NOT_ACTIVE = 0; // 0x0
18346    field public static final int TYPE_OF_ADDRESS_INTERNATIONAL = 145; // 0x91
18347    field public static final int TYPE_OF_ADDRESS_UNKNOWN = 129; // 0x81
18348  }
18349
18350  public final class ImsCallProfile implements android.os.Parcelable {
18351    ctor public ImsCallProfile();
18352    ctor public ImsCallProfile(int, int);
18353    ctor public ImsCallProfile(int, int, android.os.Bundle, android.telephony.ims.ImsStreamMediaProfile);
18354    method public int describeContents();
18355    method @NonNull public java.util.Set<android.telephony.ims.RtpHeaderExtensionType> getAcceptedRtpHeaderExtensionTypes();
18356    method public String getCallExtra(String);
18357    method public String getCallExtra(String, String);
18358    method public boolean getCallExtraBoolean(String);
18359    method public boolean getCallExtraBoolean(String, boolean);
18360    method public int getCallExtraInt(String);
18361    method public int getCallExtraInt(String, int);
18362    method @Nullable public <T extends android.os.Parcelable> T getCallExtraParcelable(@Nullable String);
18363    method public android.os.Bundle getCallExtras();
18364    method public int getCallType();
18365    method public static int getCallTypeFromVideoState(int);
18366    method public int getCallerNumberVerificationStatus();
18367    method public int getEmergencyCallRouting();
18368    method public int getEmergencyServiceCategories();
18369    method @NonNull public java.util.List<java.lang.String> getEmergencyUrns();
18370    method public android.telephony.ims.ImsStreamMediaProfile getMediaProfile();
18371    method @NonNull public android.os.Bundle getProprietaryCallExtras();
18372    method public int getRestrictCause();
18373    method public int getServiceType();
18374    method public static int getVideoStateFromCallType(int);
18375    method public static int getVideoStateFromImsCallProfile(android.telephony.ims.ImsCallProfile);
18376    method public boolean hasKnownUserIntentEmergency();
18377    method public boolean isEmergencyCallTesting();
18378    method public boolean isVideoCall();
18379    method public boolean isVideoPaused();
18380    method public static int presentationToOir(int);
18381    method public void setAcceptedRtpHeaderExtensionTypes(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtensionType>);
18382    method public void setCallExtra(String, String);
18383    method public void setCallExtraBoolean(String, boolean);
18384    method public void setCallExtraInt(String, int);
18385    method public void setCallExtraParcelable(@NonNull String, @NonNull android.os.Parcelable);
18386    method public void setCallRestrictCause(int);
18387    method public void setCallerNumberVerificationStatus(int);
18388    method public void setEmergencyCallRouting(int);
18389    method public void setEmergencyCallTesting(boolean);
18390    method public void setEmergencyServiceCategories(int);
18391    method public void setEmergencyUrns(@NonNull java.util.List<java.lang.String>);
18392    method public void setHasKnownUserIntentEmergency(boolean);
18393    method public void updateCallExtras(android.telephony.ims.ImsCallProfile);
18394    method public void updateCallType(android.telephony.ims.ImsCallProfile);
18395    method public void updateMediaProfile(android.telephony.ims.ImsCallProfile);
18396    method public void writeToParcel(android.os.Parcel, int);
18397    field public static final int CALL_RESTRICT_CAUSE_DISABLED = 2; // 0x2
18398    field public static final int CALL_RESTRICT_CAUSE_HD = 3; // 0x3
18399    field public static final int CALL_RESTRICT_CAUSE_NONE = 0; // 0x0
18400    field public static final int CALL_RESTRICT_CAUSE_RAT = 1; // 0x1
18401    field public static final int CALL_TYPE_VIDEO_N_VOICE = 3; // 0x3
18402    field public static final int CALL_TYPE_VOICE = 2; // 0x2
18403    field public static final int CALL_TYPE_VOICE_N_VIDEO = 1; // 0x1
18404    field public static final int CALL_TYPE_VS = 8; // 0x8
18405    field public static final int CALL_TYPE_VS_RX = 10; // 0xa
18406    field public static final int CALL_TYPE_VS_TX = 9; // 0x9
18407    field public static final int CALL_TYPE_VT = 4; // 0x4
18408    field public static final int CALL_TYPE_VT_NODIR = 7; // 0x7
18409    field public static final int CALL_TYPE_VT_RX = 6; // 0x6
18410    field public static final int CALL_TYPE_VT_TX = 5; // 0x5
18411    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsCallProfile> CREATOR;
18412    field public static final int DIALSTRING_NORMAL = 0; // 0x0
18413    field public static final int DIALSTRING_SS_CONF = 1; // 0x1
18414    field public static final int DIALSTRING_USSD = 2; // 0x2
18415    field public static final String EXTRA_ADDITIONAL_CALL_INFO = "AdditionalCallInfo";
18416    field public static final String EXTRA_ADDITIONAL_SIP_INVITE_FIELDS = "android.telephony.ims.extra.ADDITIONAL_SIP_INVITE_FIELDS";
18417    field public static final String EXTRA_CALL_DISCONNECT_CAUSE = "android.telephony.ims.extra.CALL_DISCONNECT_CAUSE";
18418    field public static final String EXTRA_CALL_NETWORK_TYPE = "android.telephony.ims.extra.CALL_NETWORK_TYPE";
18419    field @Deprecated public static final String EXTRA_CALL_RAT_TYPE = "CallRadioTech";
18420    field public static final String EXTRA_CALL_SUBJECT = "android.telephony.ims.extra.CALL_SUBJECT";
18421    field public static final String EXTRA_CHILD_NUMBER = "ChildNum";
18422    field public static final String EXTRA_CNA = "cna";
18423    field public static final String EXTRA_CNAP = "cnap";
18424    field public static final String EXTRA_CODEC = "Codec";
18425    field public static final String EXTRA_CONFERENCE = "android.telephony.ims.extra.CONFERENCE";
18426    field public static final String EXTRA_DIALSTRING = "dialstring";
18427    field public static final String EXTRA_DISPLAY_TEXT = "DisplayText";
18428    field public static final String EXTRA_EMERGENCY_CALL = "e_call";
18429    field public static final String EXTRA_EXTENDING_TO_CONFERENCE_SUPPORTED = "android.telephony.ims.extra.EXTENDING_TO_CONFERENCE_SUPPORTED";
18430    field public static final String EXTRA_FORWARDED_NUMBER = "android.telephony.ims.extra.FORWARDED_NUMBER";
18431    field public static final String EXTRA_IS_BUSINESS_CALL = "android.telephony.ims.extra.IS_BUSINESS_CALL";
18432    field public static final String EXTRA_IS_CALL_PULL = "CallPull";
18433    field public static final String EXTRA_IS_CROSS_SIM_CALL = "android.telephony.ims.extra.IS_CROSS_SIM_CALL";
18434    field public static final String EXTRA_LOCATION = "android.telephony.ims.extra.LOCATION";
18435    field public static final String EXTRA_OI = "oi";
18436    field public static final String EXTRA_OIR = "oir";
18437    field public static final String EXTRA_PICTURE_URL = "android.telephony.ims.extra.PICTURE_URL";
18438    field public static final String EXTRA_PRIORITY = "android.telephony.ims.extra.PRIORITY";
18439    field public static final String EXTRA_REMOTE_URI = "remote_uri";
18440    field public static final String EXTRA_USSD = "ussd";
18441    field public static final int OIR_DEFAULT = 0; // 0x0
18442    field public static final int OIR_PRESENTATION_NOT_RESTRICTED = 2; // 0x2
18443    field public static final int OIR_PRESENTATION_PAYPHONE = 4; // 0x4
18444    field public static final int OIR_PRESENTATION_RESTRICTED = 1; // 0x1
18445    field public static final int OIR_PRESENTATION_UNAVAILABLE = 5; // 0x5
18446    field public static final int OIR_PRESENTATION_UNKNOWN = 3; // 0x3
18447    field public static final int PRIORITY_NORMAL = 0; // 0x0
18448    field public static final int PRIORITY_URGENT = 1; // 0x1
18449    field public static final int SERVICE_TYPE_EMERGENCY = 2; // 0x2
18450    field public static final int SERVICE_TYPE_NONE = 0; // 0x0
18451    field public static final int SERVICE_TYPE_NORMAL = 1; // 0x1
18452    field public static final int VERIFICATION_STATUS_FAILED = 2; // 0x2
18453    field public static final int VERIFICATION_STATUS_NOT_VERIFIED = 0; // 0x0
18454    field public static final int VERIFICATION_STATUS_PASSED = 1; // 0x1
18455  }
18456
18457  public class ImsCallSessionListener {
18458    method public void callQualityChanged(@NonNull android.telephony.CallQuality);
18459    method public void callSessionConferenceExtendFailed(android.telephony.ims.ImsReasonInfo);
18460    method public void callSessionConferenceExtendReceived(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
18461    method public void callSessionConferenceExtended(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
18462    method public void callSessionConferenceStateUpdated(android.telephony.ims.ImsConferenceState);
18463    method public void callSessionDtmfReceived(char);
18464    method @Deprecated public void callSessionHandover(int, int, android.telephony.ims.ImsReasonInfo);
18465    method @Deprecated public void callSessionHandoverFailed(int, int, android.telephony.ims.ImsReasonInfo);
18466    method public void callSessionHeld(android.telephony.ims.ImsCallProfile);
18467    method public void callSessionHoldFailed(android.telephony.ims.ImsReasonInfo);
18468    method public void callSessionHoldReceived(android.telephony.ims.ImsCallProfile);
18469    method public void callSessionInitiated(android.telephony.ims.ImsCallProfile);
18470    method @Deprecated public void callSessionInitiatedFailed(android.telephony.ims.ImsReasonInfo);
18471    method public void callSessionInitiating(@NonNull android.telephony.ims.ImsCallProfile);
18472    method public void callSessionInitiatingFailed(@NonNull android.telephony.ims.ImsReasonInfo);
18473    method public void callSessionInviteParticipantsRequestDelivered();
18474    method public void callSessionInviteParticipantsRequestFailed(android.telephony.ims.ImsReasonInfo);
18475    method @Deprecated public void callSessionMayHandover(int, int);
18476    method public void callSessionMergeComplete(android.telephony.ims.stub.ImsCallSessionImplBase);
18477    method public void callSessionMergeFailed(android.telephony.ims.ImsReasonInfo);
18478    method public void callSessionMergeStarted(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
18479    method public void callSessionMultipartyStateChanged(boolean);
18480    method public void callSessionProgressing(android.telephony.ims.ImsStreamMediaProfile);
18481    method public void callSessionRemoveParticipantsRequestDelivered();
18482    method public void callSessionRemoveParticipantsRequestFailed(android.telephony.ims.ImsReasonInfo);
18483    method public void callSessionResumeFailed(android.telephony.ims.ImsReasonInfo);
18484    method public void callSessionResumeReceived(android.telephony.ims.ImsCallProfile);
18485    method public void callSessionResumed(android.telephony.ims.ImsCallProfile);
18486    method public void callSessionRtpHeaderExtensionsReceived(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtension>);
18487    method public void callSessionRttAudioIndicatorChanged(@NonNull android.telephony.ims.ImsStreamMediaProfile);
18488    method public void callSessionRttMessageReceived(String);
18489    method public void callSessionRttModifyRequestReceived(android.telephony.ims.ImsCallProfile);
18490    method public void callSessionRttModifyResponseReceived(int);
18491    method public void callSessionSuppServiceReceived(android.telephony.ims.ImsSuppServiceNotification);
18492    method public void callSessionTerminated(android.telephony.ims.ImsReasonInfo);
18493    method public void callSessionTtyModeReceived(int);
18494    method public void callSessionUpdateFailed(android.telephony.ims.ImsReasonInfo);
18495    method public void callSessionUpdateReceived(android.telephony.ims.ImsCallProfile);
18496    method public void callSessionUpdated(android.telephony.ims.ImsCallProfile);
18497    method public void callSessionUssdMessageReceived(int, String);
18498    method public void onHandover(int, int, @Nullable android.telephony.ims.ImsReasonInfo);
18499    method public void onHandoverFailed(int, int, @NonNull android.telephony.ims.ImsReasonInfo);
18500    method public void onMayHandover(int, int);
18501  }
18502
18503  public final class ImsConferenceState implements android.os.Parcelable {
18504    method public int describeContents();
18505    method public static int getConnectionStateForStatus(String);
18506    method public void writeToParcel(android.os.Parcel, int);
18507    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsConferenceState> CREATOR;
18508    field public static final String DISPLAY_TEXT = "display-text";
18509    field public static final String ENDPOINT = "endpoint";
18510    field public static final String SIP_STATUS_CODE = "sipstatuscode";
18511    field public static final String STATUS = "status";
18512    field public static final String STATUS_ALERTING = "alerting";
18513    field public static final String STATUS_CONNECTED = "connected";
18514    field public static final String STATUS_CONNECT_FAIL = "connect-fail";
18515    field public static final String STATUS_DIALING_IN = "dialing-in";
18516    field public static final String STATUS_DIALING_OUT = "dialing-out";
18517    field public static final String STATUS_DISCONNECTED = "disconnected";
18518    field public static final String STATUS_DISCONNECTING = "disconnecting";
18519    field public static final String STATUS_MUTED_VIA_FOCUS = "muted-via-focus";
18520    field public static final String STATUS_ON_HOLD = "on-hold";
18521    field public static final String STATUS_PENDING = "pending";
18522    field public static final String STATUS_SEND_ONLY = "sendonly";
18523    field public static final String STATUS_SEND_RECV = "sendrecv";
18524    field public static final String USER = "user";
18525    field public final java.util.HashMap<java.lang.String,android.os.Bundle> mParticipants;
18526  }
18527
18528  public final class ImsException extends java.lang.Exception {
18529    ctor public ImsException(@Nullable String);
18530    ctor public ImsException(@Nullable String, int);
18531    ctor public ImsException(@Nullable String, int, @Nullable Throwable);
18532  }
18533
18534  public final class ImsExternalCallState implements android.os.Parcelable {
18535    ctor public ImsExternalCallState(@NonNull String, @NonNull android.net.Uri, @Nullable android.net.Uri, boolean, int, int, boolean);
18536    method public int describeContents();
18537    method @NonNull public android.net.Uri getAddress();
18538    method public int getCallId();
18539    method public int getCallState();
18540    method public int getCallType();
18541    method @Nullable public android.net.Uri getLocalAddress();
18542    method public boolean isCallHeld();
18543    method public boolean isCallPullable();
18544    method public void writeToParcel(android.os.Parcel, int);
18545    field public static final int CALL_STATE_CONFIRMED = 1; // 0x1
18546    field public static final int CALL_STATE_TERMINATED = 2; // 0x2
18547    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsExternalCallState> CREATOR;
18548  }
18549
18550  public class ImsManager {
18551    method @NonNull public android.telephony.ims.SipDelegateManager getSipDelegateManager(int);
18552  }
18553
18554  public class ImsMmTelManager implements android.telephony.ims.RegistrationManager {
18555    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);
18556    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;
18557    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>);
18558    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoWiFiRoamingModeSetting();
18559    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAvailable(int, int);
18560    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCapable(int, int);
18561    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;
18562    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;
18563    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setAdvancedCallingSettingEnabled(boolean);
18564    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCrossSimCallingEnabled(boolean) throws android.telephony.ims.ImsException;
18565    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRttCapabilitySetting(boolean);
18566    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiModeSetting(int);
18567    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiNonPersistent(boolean, int);
18568    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiRoamingModeSetting(int);
18569    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiRoamingSettingEnabled(boolean);
18570    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiSettingEnabled(boolean);
18571    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVtSettingEnabled(boolean);
18572    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterImsRegistrationCallback(@NonNull android.telephony.ims.ImsMmTelManager.RegistrationCallback);
18573  }
18574
18575  @Deprecated public static class ImsMmTelManager.RegistrationCallback extends android.telephony.ims.RegistrationManager.RegistrationCallback {
18576    ctor @Deprecated public ImsMmTelManager.RegistrationCallback();
18577    method @Deprecated public void onRegistered(int);
18578    method @Deprecated public void onRegistering(int);
18579  }
18580
18581  public class ImsRcsManager {
18582    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;
18583    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAvailable(int, int) throws android.telephony.ims.ImsException;
18584    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCapable(int, int) throws android.telephony.ims.ImsException;
18585    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void removeOnAvailabilityChangedListener(@NonNull android.telephony.ims.ImsRcsManager.OnAvailabilityChangedListener);
18586  }
18587
18588  public static interface ImsRcsManager.OnAvailabilityChangedListener {
18589    method public void onAvailabilityChanged(int);
18590  }
18591
18592  public final class ImsReasonInfo implements android.os.Parcelable {
18593    field public static final String EXTRA_MSG_SERVICE_NOT_AUTHORIZED = "Forbidden. Not Authorized for Service";
18594  }
18595
18596  public final class ImsRegistrationAttributes implements android.os.Parcelable {
18597    method public int getRegistrationTechnology();
18598  }
18599
18600  public static final class ImsRegistrationAttributes.Builder {
18601    ctor public ImsRegistrationAttributes.Builder(int);
18602    method @NonNull public android.telephony.ims.ImsRegistrationAttributes build();
18603    method @NonNull public android.telephony.ims.ImsRegistrationAttributes.Builder setFeatureTags(@NonNull java.util.Set<java.lang.String>);
18604  }
18605
18606  public class ImsService extends android.app.Service {
18607    ctor public ImsService();
18608    method @Nullable public android.telephony.ims.feature.MmTelFeature createEmergencyOnlyMmTelFeature(int);
18609    method @Deprecated public android.telephony.ims.feature.MmTelFeature createMmTelFeature(int);
18610    method @Nullable public android.telephony.ims.feature.MmTelFeature createMmTelFeatureForSubscription(int, int);
18611    method @Deprecated public android.telephony.ims.feature.RcsFeature createRcsFeature(int);
18612    method @Nullable public android.telephony.ims.feature.RcsFeature createRcsFeatureForSubscription(int, int);
18613    method @Deprecated public void disableIms(int);
18614    method public void disableImsForSubscription(int, int);
18615    method @Deprecated public void enableIms(int);
18616    method public void enableImsForSubscription(int, int);
18617    method @Deprecated public android.telephony.ims.stub.ImsConfigImplBase getConfig(int);
18618    method @NonNull public android.telephony.ims.stub.ImsConfigImplBase getConfigForSubscription(int, int);
18619    method @NonNull public java.util.concurrent.Executor getExecutor();
18620    method public long getImsServiceCapabilities();
18621    method @Deprecated public android.telephony.ims.stub.ImsRegistrationImplBase getRegistration(int);
18622    method @NonNull public android.telephony.ims.stub.ImsRegistrationImplBase getRegistrationForSubscription(int, int);
18623    method @Nullable public android.telephony.ims.stub.SipTransportImplBase getSipTransport(int);
18624    method public final void onUpdateSupportedImsFeatures(android.telephony.ims.stub.ImsFeatureConfiguration) throws android.os.RemoteException;
18625    method public android.telephony.ims.stub.ImsFeatureConfiguration querySupportedImsFeatures();
18626    method public void readyForFeatureCreation();
18627    field public static final long CAPABILITY_SIP_DELEGATE_CREATION = 2L; // 0x2L
18628  }
18629
18630  public final class ImsSsData implements android.os.Parcelable {
18631    ctor public ImsSsData(int, int, int, int, int);
18632    method public int describeContents();
18633    method @Nullable public java.util.List<android.telephony.ims.ImsCallForwardInfo> getCallForwardInfo();
18634    method public int getRequestType();
18635    method public int getResult();
18636    method public int getServiceClass();
18637    method public int getServiceType();
18638    method @NonNull public java.util.List<android.telephony.ims.ImsSsInfo> getSuppServiceInfo();
18639    method public int getTeleserviceType();
18640    method public boolean isTypeBarring();
18641    method public boolean isTypeCf();
18642    method public boolean isTypeClip();
18643    method public boolean isTypeClir();
18644    method public boolean isTypeColp();
18645    method public boolean isTypeColr();
18646    method public boolean isTypeCw();
18647    method public boolean isTypeIcb();
18648    method public boolean isTypeInterrogation();
18649    method public boolean isTypeUnConditional();
18650    method public void writeToParcel(android.os.Parcel, int);
18651    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSsData> CREATOR;
18652    field public static final int RESULT_SUCCESS = 0; // 0x0
18653    field public static final int SERVICE_CLASS_DATA = 2; // 0x2
18654    field public static final int SERVICE_CLASS_DATA_CIRCUIT_ASYNC = 32; // 0x20
18655    field public static final int SERVICE_CLASS_DATA_CIRCUIT_SYNC = 16; // 0x10
18656    field public static final int SERVICE_CLASS_DATA_PACKET_ACCESS = 64; // 0x40
18657    field public static final int SERVICE_CLASS_DATA_PAD = 128; // 0x80
18658    field public static final int SERVICE_CLASS_FAX = 4; // 0x4
18659    field public static final int SERVICE_CLASS_NONE = 0; // 0x0
18660    field public static final int SERVICE_CLASS_SMS = 8; // 0x8
18661    field public static final int SERVICE_CLASS_VOICE = 1; // 0x1
18662    field public static final int SS_ACTIVATION = 0; // 0x0
18663    field public static final int SS_ALL_BARRING = 18; // 0x12
18664    field public static final int SS_ALL_DATA_TELESERVICES = 3; // 0x3
18665    field public static final int SS_ALL_TELESERVICES_EXCEPT_SMS = 5; // 0x5
18666    field public static final int SS_ALL_TELESEVICES = 1; // 0x1
18667    field public static final int SS_ALL_TELE_AND_BEARER_SERVICES = 0; // 0x0
18668    field public static final int SS_BAIC = 16; // 0x10
18669    field public static final int SS_BAIC_ROAMING = 17; // 0x11
18670    field public static final int SS_BAOC = 13; // 0xd
18671    field public static final int SS_BAOIC = 14; // 0xe
18672    field public static final int SS_BAOIC_EXC_HOME = 15; // 0xf
18673    field public static final int SS_CFU = 0; // 0x0
18674    field public static final int SS_CFUT = 6; // 0x6
18675    field public static final int SS_CF_ALL = 4; // 0x4
18676    field public static final int SS_CF_ALL_CONDITIONAL = 5; // 0x5
18677    field public static final int SS_CF_BUSY = 1; // 0x1
18678    field public static final int SS_CF_NOT_REACHABLE = 3; // 0x3
18679    field public static final int SS_CF_NO_REPLY = 2; // 0x2
18680    field public static final int SS_CLIP = 7; // 0x7
18681    field public static final int SS_CLIR = 8; // 0x8
18682    field public static final int SS_CNAP = 11; // 0xb
18683    field public static final int SS_COLP = 9; // 0x9
18684    field public static final int SS_COLR = 10; // 0xa
18685    field public static final int SS_DEACTIVATION = 1; // 0x1
18686    field public static final int SS_ERASURE = 4; // 0x4
18687    field public static final int SS_INCOMING_BARRING = 20; // 0x14
18688    field public static final int SS_INCOMING_BARRING_ANONYMOUS = 22; // 0x16
18689    field public static final int SS_INCOMING_BARRING_DN = 21; // 0x15
18690    field public static final int SS_INTERROGATION = 2; // 0x2
18691    field public static final int SS_OUTGOING_BARRING = 19; // 0x13
18692    field public static final int SS_REGISTRATION = 3; // 0x3
18693    field public static final int SS_SMS_SERVICES = 4; // 0x4
18694    field public static final int SS_TELEPHONY = 2; // 0x2
18695    field public static final int SS_WAIT = 12; // 0xc
18696  }
18697
18698  public static final class ImsSsData.Builder {
18699    ctor public ImsSsData.Builder(int, int, int, int, int);
18700    method @NonNull public android.telephony.ims.ImsSsData build();
18701    method @NonNull public android.telephony.ims.ImsSsData.Builder setCallForwardingInfo(@NonNull java.util.List<android.telephony.ims.ImsCallForwardInfo>);
18702    method @NonNull public android.telephony.ims.ImsSsData.Builder setSuppServiceInfo(@NonNull java.util.List<android.telephony.ims.ImsSsInfo>);
18703  }
18704
18705  public final class ImsSsInfo implements android.os.Parcelable {
18706    ctor @Deprecated public ImsSsInfo(int, @Nullable String);
18707    method public int describeContents();
18708    method public int getClirInterrogationStatus();
18709    method public int getClirOutgoingState();
18710    method @Deprecated public String getIcbNum();
18711    method @Nullable public String getIncomingCommunicationBarringNumber();
18712    method public int getProvisionStatus();
18713    method public int getStatus();
18714    method public void writeToParcel(android.os.Parcel, int);
18715    field public static final int CLIR_OUTGOING_DEFAULT = 0; // 0x0
18716    field public static final int CLIR_OUTGOING_INVOCATION = 1; // 0x1
18717    field public static final int CLIR_OUTGOING_SUPPRESSION = 2; // 0x2
18718    field public static final int CLIR_STATUS_NOT_PROVISIONED = 0; // 0x0
18719    field public static final int CLIR_STATUS_PROVISIONED_PERMANENT = 1; // 0x1
18720    field public static final int CLIR_STATUS_TEMPORARILY_ALLOWED = 4; // 0x4
18721    field public static final int CLIR_STATUS_TEMPORARILY_RESTRICTED = 3; // 0x3
18722    field public static final int CLIR_STATUS_UNKNOWN = 2; // 0x2
18723    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSsInfo> CREATOR;
18724    field public static final int DISABLED = 0; // 0x0
18725    field public static final int ENABLED = 1; // 0x1
18726    field public static final int NOT_REGISTERED = -1; // 0xffffffff
18727    field public static final int SERVICE_NOT_PROVISIONED = 0; // 0x0
18728    field public static final int SERVICE_PROVISIONED = 1; // 0x1
18729    field public static final int SERVICE_PROVISIONING_UNKNOWN = -1; // 0xffffffff
18730  }
18731
18732  public static final class ImsSsInfo.Builder {
18733    ctor public ImsSsInfo.Builder(int);
18734    method @NonNull public android.telephony.ims.ImsSsInfo build();
18735    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setClirInterrogationStatus(int);
18736    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setClirOutgoingState(int);
18737    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setIncomingCommunicationBarringNumber(@NonNull String);
18738    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setProvisionStatus(int);
18739  }
18740
18741  public final class ImsStreamMediaProfile implements android.os.Parcelable {
18742    ctor public ImsStreamMediaProfile(int, int, int, int, int);
18743    method public void copyFrom(android.telephony.ims.ImsStreamMediaProfile);
18744    method public int describeContents();
18745    method @Nullable public android.telephony.ims.AudioCodecAttributes getAudioCodecAttributes();
18746    method public int getAudioDirection();
18747    method public int getAudioQuality();
18748    method public int getRttMode();
18749    method public int getVideoDirection();
18750    method public int getVideoQuality();
18751    method public boolean isReceivingRttAudio();
18752    method public boolean isRttCall();
18753    method public void setAudioCodecAttributes(@NonNull android.telephony.ims.AudioCodecAttributes);
18754    method public void setReceivingRttAudio(boolean);
18755    method public void setRttMode(int);
18756    method public void writeToParcel(android.os.Parcel, int);
18757    field public static final int AUDIO_QUALITY_AMR = 1; // 0x1
18758    field public static final int AUDIO_QUALITY_AMR_WB = 2; // 0x2
18759    field public static final int AUDIO_QUALITY_EVRC = 4; // 0x4
18760    field public static final int AUDIO_QUALITY_EVRC_B = 5; // 0x5
18761    field public static final int AUDIO_QUALITY_EVRC_NW = 7; // 0x7
18762    field public static final int AUDIO_QUALITY_EVRC_WB = 6; // 0x6
18763    field public static final int AUDIO_QUALITY_EVS_FB = 20; // 0x14
18764    field public static final int AUDIO_QUALITY_EVS_NB = 17; // 0x11
18765    field public static final int AUDIO_QUALITY_EVS_SWB = 19; // 0x13
18766    field public static final int AUDIO_QUALITY_EVS_WB = 18; // 0x12
18767    field public static final int AUDIO_QUALITY_G711A = 13; // 0xd
18768    field public static final int AUDIO_QUALITY_G711AB = 15; // 0xf
18769    field public static final int AUDIO_QUALITY_G711U = 11; // 0xb
18770    field public static final int AUDIO_QUALITY_G722 = 14; // 0xe
18771    field public static final int AUDIO_QUALITY_G723 = 12; // 0xc
18772    field public static final int AUDIO_QUALITY_G729 = 16; // 0x10
18773    field public static final int AUDIO_QUALITY_GSM_EFR = 8; // 0x8
18774    field public static final int AUDIO_QUALITY_GSM_FR = 9; // 0x9
18775    field public static final int AUDIO_QUALITY_GSM_HR = 10; // 0xa
18776    field public static final int AUDIO_QUALITY_NONE = 0; // 0x0
18777    field public static final int AUDIO_QUALITY_QCELP13K = 3; // 0x3
18778    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsStreamMediaProfile> CREATOR;
18779    field public static final int DIRECTION_INACTIVE = 0; // 0x0
18780    field public static final int DIRECTION_INVALID = -1; // 0xffffffff
18781    field public static final int DIRECTION_RECEIVE = 1; // 0x1
18782    field public static final int DIRECTION_SEND = 2; // 0x2
18783    field public static final int DIRECTION_SEND_RECEIVE = 3; // 0x3
18784    field public static final int RTT_MODE_DISABLED = 0; // 0x0
18785    field public static final int RTT_MODE_FULL = 1; // 0x1
18786    field public static final int VIDEO_QUALITY_NONE = 0; // 0x0
18787    field public static final int VIDEO_QUALITY_QCIF = 1; // 0x1
18788    field public static final int VIDEO_QUALITY_QVGA_LANDSCAPE = 2; // 0x2
18789    field public static final int VIDEO_QUALITY_QVGA_PORTRAIT = 4; // 0x4
18790    field public static final int VIDEO_QUALITY_VGA_LANDSCAPE = 8; // 0x8
18791    field public static final int VIDEO_QUALITY_VGA_PORTRAIT = 16; // 0x10
18792  }
18793
18794  public final class ImsSuppServiceNotification implements android.os.Parcelable {
18795    ctor public ImsSuppServiceNotification(int, int, int, int, String, String[]);
18796    method public int describeContents();
18797    method public void writeToParcel(android.os.Parcel, int);
18798    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSuppServiceNotification> CREATOR;
18799    field public final int code;
18800    field public final String[] history;
18801    field public final int index;
18802    field public final int notificationType;
18803    field public final String number;
18804    field public final int type;
18805  }
18806
18807  public class ImsUtListener {
18808    method public void onLineIdentificationSupplementaryServiceResponse(int, @NonNull android.telephony.ims.ImsSsInfo);
18809    method public void onSupplementaryServiceIndication(android.telephony.ims.ImsSsData);
18810    method public void onUtConfigurationCallBarringQueried(int, android.telephony.ims.ImsSsInfo[]);
18811    method public void onUtConfigurationCallForwardQueried(int, android.telephony.ims.ImsCallForwardInfo[]);
18812    method public void onUtConfigurationCallWaitingQueried(int, android.telephony.ims.ImsSsInfo[]);
18813    method @Deprecated public void onUtConfigurationQueried(int, android.os.Bundle);
18814    method public void onUtConfigurationQueryFailed(int, android.telephony.ims.ImsReasonInfo);
18815    method public void onUtConfigurationUpdateFailed(int, android.telephony.ims.ImsReasonInfo);
18816    method public void onUtConfigurationUpdated(int);
18817    field @Deprecated public static final String BUNDLE_KEY_CLIR = "queryClir";
18818    field @Deprecated public static final String BUNDLE_KEY_SSINFO = "imsSsInfo";
18819  }
18820
18821  public abstract class ImsVideoCallProvider {
18822    ctor public ImsVideoCallProvider();
18823    method public void changeCallDataUsage(long);
18824    method public void changeCameraCapabilities(android.telecom.VideoProfile.CameraCapabilities);
18825    method public void changePeerDimensions(int, int);
18826    method public void changeVideoQuality(int);
18827    method public void handleCallSessionEvent(int);
18828    method public abstract void onRequestCallDataUsage();
18829    method public abstract void onRequestCameraCapabilities();
18830    method public abstract void onSendSessionModifyRequest(android.telecom.VideoProfile, android.telecom.VideoProfile);
18831    method public abstract void onSendSessionModifyResponse(android.telecom.VideoProfile);
18832    method public abstract void onSetCamera(String);
18833    method public void onSetCamera(String, int);
18834    method public abstract void onSetDeviceOrientation(int);
18835    method public abstract void onSetDisplaySurface(android.view.Surface);
18836    method public abstract void onSetPauseImage(android.net.Uri);
18837    method public abstract void onSetPreviewSurface(android.view.Surface);
18838    method public abstract void onSetZoom(float);
18839    method public void receiveSessionModifyRequest(android.telecom.VideoProfile);
18840    method public void receiveSessionModifyResponse(int, android.telecom.VideoProfile, android.telecom.VideoProfile);
18841  }
18842
18843  public class ProvisioningManager {
18844    method @NonNull public static android.telephony.ims.ProvisioningManager createForSubscriptionId(int);
18845    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public int getProvisioningIntValue(int);
18846    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public String getProvisioningStringValue(int);
18847    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean getRcsProvisioningStatusForCapability(int);
18848    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;
18849    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean);
18850    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;
18851    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;
18852    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningIntValue(int, int);
18853    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningStringValue(int, @NonNull String);
18854    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void setRcsClientConfiguration(@NonNull android.telephony.ims.RcsClientConfiguration) throws android.telephony.ims.ImsException;
18855    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void setRcsProvisioningStatusForCapability(int, boolean);
18856    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void triggerRcsReconfiguration();
18857    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterProvisioningChangedCallback(@NonNull android.telephony.ims.ProvisioningManager.Callback);
18858    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);
18859    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";
18860    field public static final String EXTRA_STATUS = "android.telephony.ims.extra.STATUS";
18861    field public static final String EXTRA_SUBSCRIPTION_ID = "android.telephony.ims.extra.SUBSCRIPTION_ID";
18862    field public static final int KEY_VOICE_OVER_WIFI_ENTITLEMENT_ID = 67; // 0x43
18863    field public static final int KEY_VOICE_OVER_WIFI_MODE_OVERRIDE = 27; // 0x1b
18864    field public static final int KEY_VOICE_OVER_WIFI_ROAMING_ENABLED_OVERRIDE = 26; // 0x1a
18865    field public static final int PROVISIONING_VALUE_DISABLED = 0; // 0x0
18866    field public static final int PROVISIONING_VALUE_ENABLED = 1; // 0x1
18867    field public static final int STATUS_CAPABLE = 0; // 0x0
18868    field public static final int STATUS_CARRIER_NOT_CAPABLE = 2; // 0x2
18869    field public static final int STATUS_DEVICE_NOT_CAPABLE = 1; // 0x1
18870    field public static final String STRING_QUERY_RESULT_ERROR_GENERIC = "STRING_QUERY_RESULT_ERROR_GENERIC";
18871    field public static final String STRING_QUERY_RESULT_ERROR_NOT_READY = "STRING_QUERY_RESULT_ERROR_NOT_READY";
18872  }
18873
18874  public static class ProvisioningManager.Callback {
18875    ctor public ProvisioningManager.Callback();
18876    method public void onProvisioningIntChanged(int, int);
18877    method public void onProvisioningStringChanged(int, @NonNull String);
18878  }
18879
18880  public static class ProvisioningManager.RcsProvisioningCallback {
18881    ctor public ProvisioningManager.RcsProvisioningCallback();
18882    method public void onAutoConfigurationErrorReceived(int, @NonNull String);
18883    method public void onConfigurationChanged(@NonNull byte[]);
18884    method public void onConfigurationReset();
18885    method public void onPreProvisioningReceived(@NonNull byte[]);
18886    method public void onRemoved();
18887  }
18888
18889  public final class RcsClientConfiguration implements android.os.Parcelable {
18890    ctor @Deprecated public RcsClientConfiguration(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
18891    ctor public RcsClientConfiguration(@NonNull String, @NonNull String, @NonNull String, @NonNull String, boolean);
18892    method public int describeContents();
18893    method @NonNull public String getClientVendor();
18894    method @NonNull public String getClientVersion();
18895    method @NonNull public String getRcsProfile();
18896    method @NonNull public String getRcsVersion();
18897    method public boolean isRcsEnabledByUser();
18898    method public void writeToParcel(@NonNull android.os.Parcel, int);
18899    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsClientConfiguration> CREATOR;
18900    field public static final String RCS_PROFILE_1_0 = "UP_1.0";
18901    field public static final String RCS_PROFILE_2_3 = "UP_2.3";
18902    field public static final String RCS_PROFILE_2_4 = "UP_2.4";
18903  }
18904
18905  public final class RcsContactPresenceTuple implements android.os.Parcelable {
18906    method public int describeContents();
18907    method @Nullable public android.net.Uri getContactUri();
18908    method @Nullable public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities getServiceCapabilities();
18909    method @Nullable public String getServiceDescription();
18910    method @NonNull public String getServiceId();
18911    method @NonNull public String getServiceVersion();
18912    method @NonNull public String getStatus();
18913    method @Nullable public java.time.Instant getTime();
18914    method public void writeToParcel(@NonNull android.os.Parcel, int);
18915    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactPresenceTuple> CREATOR;
18916    field public static final String SERVICE_ID_CALL_COMPOSER = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.callcomposer";
18917    field public static final String SERVICE_ID_CHATBOT = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.chatbot";
18918    field public static final String SERVICE_ID_CHATBOT_ROLE = "org.gsma.rcs.isbot";
18919    field public static final String SERVICE_ID_CHATBOT_STANDALONE = " org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.chatbot.sa";
18920    field public static final String SERVICE_ID_CHAT_V1 = "org.openmobilealliance:IM-session";
18921    field public static final String SERVICE_ID_CHAT_V2 = "org.openmobilealliance:ChatSession";
18922    field public static final String SERVICE_ID_FT = "org.openmobilealliance:File-Transfer-HTTP";
18923    field public static final String SERVICE_ID_FT_OVER_SMS = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.ftsms";
18924    field public static final String SERVICE_ID_GEO_PUSH = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.geopush";
18925    field public static final String SERVICE_ID_GEO_PUSH_VIA_SMS = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.geosms";
18926    field public static final String SERVICE_ID_MMTEL = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.mmtel";
18927    field public static final String SERVICE_ID_POST_CALL = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.callunanswered";
18928    field public static final String SERVICE_ID_SHARED_MAP = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.sharedmap";
18929    field public static final String SERVICE_ID_SHARED_SKETCH = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.sharedsketch";
18930    field public static final String TUPLE_BASIC_STATUS_CLOSED = "closed";
18931    field public static final String TUPLE_BASIC_STATUS_OPEN = "open";
18932  }
18933
18934  public static final class RcsContactPresenceTuple.Builder {
18935    ctor public RcsContactPresenceTuple.Builder(@NonNull String, @NonNull String, @NonNull String);
18936    method @NonNull public android.telephony.ims.RcsContactPresenceTuple build();
18937    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setContactUri(@NonNull android.net.Uri);
18938    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setServiceCapabilities(@NonNull android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities);
18939    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setServiceDescription(@NonNull String);
18940    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setTime(@NonNull java.time.Instant);
18941  }
18942
18943  public static final class RcsContactPresenceTuple.ServiceCapabilities implements android.os.Parcelable {
18944    method public int describeContents();
18945    method @NonNull public java.util.List<java.lang.String> getSupportedDuplexModes();
18946    method @NonNull public java.util.List<java.lang.String> getUnsupportedDuplexModes();
18947    method public boolean isAudioCapable();
18948    method public boolean isVideoCapable();
18949    method public void writeToParcel(@NonNull android.os.Parcel, int);
18950    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities> CREATOR;
18951    field public static final String DUPLEX_MODE_FULL = "full";
18952    field public static final String DUPLEX_MODE_HALF = "half";
18953    field public static final String DUPLEX_MODE_RECEIVE_ONLY = "receive-only";
18954    field public static final String DUPLEX_MODE_SEND_ONLY = "send-only";
18955  }
18956
18957  public static final class RcsContactPresenceTuple.ServiceCapabilities.Builder {
18958    ctor public RcsContactPresenceTuple.ServiceCapabilities.Builder(boolean, boolean);
18959    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities.Builder addSupportedDuplexMode(@NonNull String);
18960    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities.Builder addUnsupportedDuplexMode(@NonNull String);
18961    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities build();
18962  }
18963
18964  public final class RcsContactUceCapability implements android.os.Parcelable {
18965    method public int describeContents();
18966    method public int getCapabilityMechanism();
18967    method @Nullable public android.telephony.ims.RcsContactPresenceTuple getCapabilityTuple(@NonNull String);
18968    method @NonNull public java.util.List<android.telephony.ims.RcsContactPresenceTuple> getCapabilityTuples();
18969    method @NonNull public android.net.Uri getContactUri();
18970    method @Nullable public android.net.Uri getEntityUri();
18971    method @NonNull public java.util.Set<java.lang.String> getFeatureTags();
18972    method public int getRequestResult();
18973    method public int getSourceType();
18974    method public void writeToParcel(@NonNull android.os.Parcel, int);
18975    field public static final int CAPABILITY_MECHANISM_OPTIONS = 2; // 0x2
18976    field public static final int CAPABILITY_MECHANISM_PRESENCE = 1; // 0x1
18977    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactUceCapability> CREATOR;
18978    field public static final int REQUEST_RESULT_FOUND = 3; // 0x3
18979    field public static final int REQUEST_RESULT_NOT_FOUND = 2; // 0x2
18980    field public static final int REQUEST_RESULT_NOT_ONLINE = 1; // 0x1
18981    field public static final int REQUEST_RESULT_UNKNOWN = 0; // 0x0
18982    field public static final int SOURCE_TYPE_CACHED = 1; // 0x1
18983    field public static final int SOURCE_TYPE_NETWORK = 0; // 0x0
18984  }
18985
18986  public static final class RcsContactUceCapability.OptionsBuilder {
18987    ctor public RcsContactUceCapability.OptionsBuilder(@NonNull android.net.Uri);
18988    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder addFeatureTag(@NonNull String);
18989    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder addFeatureTags(@NonNull java.util.Set<java.lang.String>);
18990    method @NonNull public android.telephony.ims.RcsContactUceCapability build();
18991    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder setRequestResult(int);
18992  }
18993
18994  public static final class RcsContactUceCapability.PresenceBuilder {
18995    ctor public RcsContactUceCapability.PresenceBuilder(@NonNull android.net.Uri, int, int);
18996    method @NonNull public android.telephony.ims.RcsContactUceCapability.PresenceBuilder addCapabilityTuple(@NonNull android.telephony.ims.RcsContactPresenceTuple);
18997    method @NonNull public android.telephony.ims.RcsContactUceCapability.PresenceBuilder addCapabilityTuples(@NonNull java.util.List<android.telephony.ims.RcsContactPresenceTuple>);
18998    method @NonNull public android.telephony.ims.RcsContactUceCapability build();
18999    method @NonNull public android.telephony.ims.RcsContactUceCapability.PresenceBuilder setEntityUri(@NonNull android.net.Uri);
19000  }
19001
19002  public class RcsUceAdapter {
19003    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;
19004    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getUcePublishState() throws android.telephony.ims.ImsException;
19005    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void removeOnPublishStateChangedListener(@NonNull android.telephony.ims.RcsUceAdapter.OnPublishStateChangedListener) throws android.telephony.ims.ImsException;
19006    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;
19007    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;
19008    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUceSettingEnabled(boolean) throws android.telephony.ims.ImsException;
19009    field @Deprecated public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
19010    field public static final int CAPABILITY_UPDATE_TRIGGER_ETAG_EXPIRED = 1; // 0x1
19011    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_2G = 7; // 0x7
19012    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_3G = 6; // 0x6
19013    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_EHRPD = 4; // 0x4
19014    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_HSPAPLUS = 5; // 0x5
19015    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_INTERNET_PDN = 12; // 0xc
19016    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_IWLAN = 9; // 0x9
19017    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_DISABLED = 2; // 0x2
19018    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_ENABLED = 3; // 0x3
19019    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_DISABLED = 10; // 0xa
19020    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_ENABLED = 11; // 0xb
19021    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_WLAN = 8; // 0x8
19022    field public static final int CAPABILITY_UPDATE_TRIGGER_UNKNOWN = 0; // 0x0
19023    field public static final int ERROR_FORBIDDEN = 6; // 0x6
19024    field public static final int ERROR_GENERIC_FAILURE = 1; // 0x1
19025    field public static final int ERROR_INSUFFICIENT_MEMORY = 10; // 0xa
19026    field public static final int ERROR_LOST_NETWORK = 11; // 0xb
19027    field public static final int ERROR_NOT_AUTHORIZED = 5; // 0x5
19028    field public static final int ERROR_NOT_AVAILABLE = 3; // 0x3
19029    field public static final int ERROR_NOT_ENABLED = 2; // 0x2
19030    field public static final int ERROR_NOT_FOUND = 7; // 0x7
19031    field public static final int ERROR_NOT_REGISTERED = 4; // 0x4
19032    field public static final int ERROR_REQUEST_TIMEOUT = 9; // 0x9
19033    field public static final int ERROR_REQUEST_TOO_LARGE = 8; // 0x8
19034    field public static final int ERROR_SERVER_UNAVAILABLE = 12; // 0xc
19035    field public static final int PUBLISH_STATE_NOT_PUBLISHED = 2; // 0x2
19036    field public static final int PUBLISH_STATE_OK = 1; // 0x1
19037    field public static final int PUBLISH_STATE_OTHER_ERROR = 6; // 0x6
19038    field public static final int PUBLISH_STATE_PUBLISHING = 7; // 0x7
19039    field public static final int PUBLISH_STATE_RCS_PROVISION_ERROR = 4; // 0x4
19040    field public static final int PUBLISH_STATE_REQUEST_TIMEOUT = 5; // 0x5
19041    field public static final int PUBLISH_STATE_VOICE_PROVISION_ERROR = 3; // 0x3
19042  }
19043
19044  public static interface RcsUceAdapter.CapabilitiesCallback {
19045    method public void onCapabilitiesReceived(@NonNull java.util.List<android.telephony.ims.RcsContactUceCapability>);
19046    method public void onComplete();
19047    method public void onError(int, long);
19048  }
19049
19050  public static interface RcsUceAdapter.OnPublishStateChangedListener {
19051    method public void onPublishStateChange(int);
19052  }
19053
19054  public final class RtpHeaderExtension implements android.os.Parcelable {
19055    ctor public RtpHeaderExtension(@IntRange(from=1, to=14) int, @NonNull byte[]);
19056    method public int describeContents();
19057    method @NonNull public byte[] getExtensionData();
19058    method @IntRange(from=1, to=14) public int getLocalIdentifier();
19059    method public void writeToParcel(@NonNull android.os.Parcel, int);
19060    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RtpHeaderExtension> CREATOR;
19061  }
19062
19063  public final class RtpHeaderExtensionType implements android.os.Parcelable {
19064    ctor public RtpHeaderExtensionType(@IntRange(from=1, to=14) int, @NonNull android.net.Uri);
19065    method public int describeContents();
19066    method @IntRange(from=1, to=14) public int getLocalIdentifier();
19067    method @NonNull public android.net.Uri getUri();
19068    method public void writeToParcel(@NonNull android.os.Parcel, int);
19069    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RtpHeaderExtensionType> CREATOR;
19070  }
19071
19072  public final class SipDelegateConfiguration implements android.os.Parcelable {
19073    method public int describeContents();
19074    method @Nullable public String getHomeDomain();
19075    method @Nullable public String getImei();
19076    method @Nullable public android.telephony.ims.SipDelegateConfiguration.IpSecConfiguration getIpSecConfiguration();
19077    method @NonNull public java.net.InetSocketAddress getLocalAddress();
19078    method public int getMaxUdpPayloadSizeBytes();
19079    method @Nullable public java.net.InetSocketAddress getNatSocketAddress();
19080    method @Nullable public String getPrivateUserIdentifier();
19081    method @Nullable public android.net.Uri getPublicGruuUri();
19082    method @Nullable public String getPublicUserIdentifier();
19083    method @Nullable public String getSipAssociatedUriHeader();
19084    method @Nullable public String getSipAuthenticationHeader();
19085    method @Nullable public String getSipAuthenticationNonce();
19086    method @Nullable public String getSipCniHeader();
19087    method @Nullable public String getSipContactUserParameter();
19088    method @Nullable public String getSipPaniHeader();
19089    method @Nullable public String getSipPathHeader();
19090    method @Nullable public String getSipPlaniHeader();
19091    method @NonNull public java.net.InetSocketAddress getSipServerAddress();
19092    method @Nullable public String getSipServiceRouteHeader();
19093    method @Nullable public String getSipUserAgentHeader();
19094    method public int getTransportType();
19095    method @IntRange(from=0) public long getVersion();
19096    method public boolean isSipCompactFormEnabled();
19097    method public boolean isSipKeepaliveEnabled();
19098    method public void writeToParcel(@NonNull android.os.Parcel, int);
19099    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipDelegateConfiguration> CREATOR;
19100    field public static final int SIP_TRANSPORT_TCP = 1; // 0x1
19101    field public static final int SIP_TRANSPORT_UDP = 0; // 0x0
19102    field public static final int UDP_PAYLOAD_SIZE_UNDEFINED = -1; // 0xffffffff
19103  }
19104
19105  public static final class SipDelegateConfiguration.Builder {
19106    ctor public SipDelegateConfiguration.Builder(@IntRange(from=0) long, int, @NonNull java.net.InetSocketAddress, @NonNull java.net.InetSocketAddress);
19107    ctor public SipDelegateConfiguration.Builder(@NonNull android.telephony.ims.SipDelegateConfiguration);
19108    method @NonNull public android.telephony.ims.SipDelegateConfiguration build();
19109    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setHomeDomain(@Nullable String);
19110    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setImei(@Nullable String);
19111    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setIpSecConfiguration(@Nullable android.telephony.ims.SipDelegateConfiguration.IpSecConfiguration);
19112    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setMaxUdpPayloadSizeBytes(@IntRange(from=1) int);
19113    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setNatSocketAddress(@Nullable java.net.InetSocketAddress);
19114    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPrivateUserIdentifier(@Nullable String);
19115    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPublicGruuUri(@Nullable android.net.Uri);
19116    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPublicUserIdentifier(@Nullable String);
19117    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAssociatedUriHeader(@Nullable String);
19118    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAuthenticationHeader(@Nullable String);
19119    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAuthenticationNonce(@Nullable String);
19120    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipCniHeader(@Nullable String);
19121    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipCompactFormEnabled(boolean);
19122    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipContactUserParameter(@Nullable String);
19123    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipKeepaliveEnabled(boolean);
19124    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPaniHeader(@Nullable String);
19125    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPathHeader(@Nullable String);
19126    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPlaniHeader(@Nullable String);
19127    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipServiceRouteHeader(@Nullable String);
19128    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipUserAgentHeader(@Nullable String);
19129  }
19130
19131  public static final class SipDelegateConfiguration.IpSecConfiguration {
19132    ctor public SipDelegateConfiguration.IpSecConfiguration(int, int, int, int, int, int, @NonNull String);
19133    method public int getLastLocalTxPort();
19134    method public int getLastRemoteTxPort();
19135    method public int getLocalRxPort();
19136    method public int getLocalTxPort();
19137    method public int getRemoteRxPort();
19138    method public int getRemoteTxPort();
19139    method @NonNull public String getSipSecurityVerifyHeader();
19140  }
19141
19142  public interface SipDelegateConnection {
19143    method public void cleanupSession(@NonNull String);
19144    method public void notifyMessageReceiveError(@NonNull String, int);
19145    method public void notifyMessageReceived(@NonNull String);
19146    method public void sendMessage(@NonNull android.telephony.ims.SipMessage, long);
19147  }
19148
19149  public class SipDelegateManager {
19150    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;
19151    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void destroySipDelegate(@NonNull android.telephony.ims.SipDelegateConnection, int);
19152    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;
19153    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;
19154    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);
19155    method public void unregisterImsStateCallback(@NonNull android.telephony.ims.ImsStateCallback);
19156    field public static final int DENIED_REASON_INVALID = 4; // 0x4
19157    field public static final int DENIED_REASON_IN_USE_BY_ANOTHER_DELEGATE = 1; // 0x1
19158    field public static final int DENIED_REASON_NOT_ALLOWED = 2; // 0x2
19159    field public static final int DENIED_REASON_SINGLE_REGISTRATION_NOT_ALLOWED = 3; // 0x3
19160    field public static final int DENIED_REASON_UNKNOWN = 0; // 0x0
19161    field public static final int MESSAGE_FAILURE_REASON_DELEGATE_CLOSED = 2; // 0x2
19162    field public static final int MESSAGE_FAILURE_REASON_DELEGATE_DEAD = 1; // 0x1
19163    field public static final int MESSAGE_FAILURE_REASON_INTERNAL_DELEGATE_STATE_TRANSITION = 11; // 0xb
19164    field public static final int MESSAGE_FAILURE_REASON_INVALID_BODY_CONTENT = 5; // 0x5
19165    field public static final int MESSAGE_FAILURE_REASON_INVALID_FEATURE_TAG = 6; // 0x6
19166    field public static final int MESSAGE_FAILURE_REASON_INVALID_HEADER_FIELDS = 4; // 0x4
19167    field public static final int MESSAGE_FAILURE_REASON_INVALID_START_LINE = 3; // 0x3
19168    field public static final int MESSAGE_FAILURE_REASON_NETWORK_NOT_AVAILABLE = 8; // 0x8
19169    field public static final int MESSAGE_FAILURE_REASON_NOT_REGISTERED = 9; // 0x9
19170    field public static final int MESSAGE_FAILURE_REASON_STALE_IMS_CONFIGURATION = 10; // 0xa
19171    field public static final int MESSAGE_FAILURE_REASON_TAG_NOT_ENABLED_FOR_DELEGATE = 7; // 0x7
19172    field public static final int MESSAGE_FAILURE_REASON_UNKNOWN = 0; // 0x0
19173    field public static final int SIP_DELEGATE_DESTROY_REASON_REQUESTED_BY_APP = 2; // 0x2
19174    field public static final int SIP_DELEGATE_DESTROY_REASON_SERVICE_DEAD = 1; // 0x1
19175    field public static final int SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN = 4; // 0x4
19176    field public static final int SIP_DELEGATE_DESTROY_REASON_UNKNOWN = 0; // 0x0
19177    field public static final int SIP_DELEGATE_DESTROY_REASON_USER_DISABLED_RCS = 3; // 0x3
19178  }
19179
19180  public final class SipMessage implements android.os.Parcelable {
19181    ctor public SipMessage(@NonNull String, @NonNull String, @NonNull byte[]);
19182    method public int describeContents();
19183    method @Nullable public String getCallIdParameter();
19184    method @NonNull public byte[] getContent();
19185    method @NonNull public String getHeaderSection();
19186    method @NonNull public String getStartLine();
19187    method @NonNull public String getViaBranchParameter();
19188    method @NonNull public byte[] toEncodedMessage();
19189    method public void writeToParcel(@NonNull android.os.Parcel, int);
19190    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipMessage> CREATOR;
19191  }
19192
19193}
19194
19195package android.telephony.ims.feature {
19196
19197  public final class CapabilityChangeRequest implements android.os.Parcelable {
19198    method public void addCapabilitiesToDisableForTech(int, int);
19199    method public void addCapabilitiesToEnableForTech(int, int);
19200    method public int describeContents();
19201    method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToDisable();
19202    method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToEnable();
19203    method public void writeToParcel(android.os.Parcel, int);
19204    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.feature.CapabilityChangeRequest> CREATOR;
19205  }
19206
19207  public static class CapabilityChangeRequest.CapabilityPair {
19208    ctor public CapabilityChangeRequest.CapabilityPair(int, int);
19209    method public int getCapability();
19210    method public int getRadioTech();
19211  }
19212
19213  public abstract class ImsFeature {
19214    ctor public ImsFeature();
19215    method public abstract void changeEnabledCapabilities(android.telephony.ims.feature.CapabilityChangeRequest, android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
19216    method public int getFeatureState();
19217    method public final int getSlotIndex();
19218    method public abstract void onFeatureReady();
19219    method public abstract void onFeatureRemoved();
19220    method public final void setFeatureState(int);
19221    field public static final int CAPABILITY_ERROR_GENERIC = -1; // 0xffffffff
19222    field public static final int CAPABILITY_SUCCESS = 0; // 0x0
19223    field public static final int FEATURE_EMERGENCY_MMTEL = 0; // 0x0
19224    field public static final int FEATURE_MMTEL = 1; // 0x1
19225    field public static final int FEATURE_RCS = 2; // 0x2
19226    field public static final int STATE_INITIALIZING = 1; // 0x1
19227    field public static final int STATE_READY = 2; // 0x2
19228    field public static final int STATE_UNAVAILABLE = 0; // 0x0
19229  }
19230
19231  @Deprecated public static class ImsFeature.Capabilities {
19232    field @Deprecated protected int mCapabilities;
19233  }
19234
19235  protected static class ImsFeature.CapabilityCallbackProxy {
19236    method public void onChangeCapabilityConfigurationError(int, int, int);
19237  }
19238
19239  public class MmTelFeature extends android.telephony.ims.feature.ImsFeature {
19240    ctor public MmTelFeature();
19241    ctor public MmTelFeature(@NonNull java.util.concurrent.Executor);
19242    method public void changeEnabledCapabilities(@NonNull android.telephony.ims.feature.CapabilityChangeRequest, @NonNull android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
19243    method public void changeOfferedRtpHeaderExtensionTypes(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtensionType>);
19244    method @Nullable public android.telephony.ims.ImsCallProfile createCallProfile(int, int);
19245    method @Nullable public android.telephony.ims.stub.ImsCallSessionImplBase createCallSession(@NonNull android.telephony.ims.ImsCallProfile);
19246    method @NonNull public android.telephony.ims.stub.ImsEcbmImplBase getEcbm();
19247    method @NonNull public android.telephony.ims.stub.ImsMultiEndpointImplBase getMultiEndpoint();
19248    method @NonNull public android.telephony.ims.stub.ImsSmsImplBase getSmsImplementation();
19249    method @NonNull public android.telephony.ims.stub.ImsUtImplBase getUt();
19250    method public final void notifyCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.MmTelFeature.MmTelCapabilities);
19251    method public final void notifyIncomingCall(@NonNull android.telephony.ims.stub.ImsCallSessionImplBase, @NonNull android.os.Bundle);
19252    method public final void notifyRejectedCall(@NonNull android.telephony.ims.ImsCallProfile, @NonNull android.telephony.ims.ImsReasonInfo);
19253    method public final void notifyVoiceMessageCountUpdate(int);
19254    method public void onFeatureReady();
19255    method public void onFeatureRemoved();
19256    method public boolean queryCapabilityConfiguration(int, int);
19257    method @NonNull public final android.telephony.ims.feature.MmTelFeature.MmTelCapabilities queryCapabilityStatus();
19258    method public void setUiTtyMode(int, @Nullable android.os.Message);
19259    method public int shouldProcessCall(@NonNull String[]);
19260    field public static final String EXTRA_IS_UNKNOWN_CALL = "android.telephony.ims.feature.extra.IS_UNKNOWN_CALL";
19261    field public static final String EXTRA_IS_USSD = "android.telephony.ims.feature.extra.IS_USSD";
19262    field public static final int PROCESS_CALL_CSFB = 1; // 0x1
19263    field public static final int PROCESS_CALL_IMS = 0; // 0x0
19264  }
19265
19266  public static class MmTelFeature.MmTelCapabilities extends android.telephony.ims.feature.ImsFeature.Capabilities {
19267    ctor public MmTelFeature.MmTelCapabilities();
19268    ctor @Deprecated public MmTelFeature.MmTelCapabilities(android.telephony.ims.feature.ImsFeature.Capabilities);
19269    ctor public MmTelFeature.MmTelCapabilities(int);
19270    method public final void addCapabilities(int);
19271    method public final void removeCapabilities(int);
19272  }
19273
19274  public class RcsFeature extends android.telephony.ims.feature.ImsFeature {
19275    ctor public RcsFeature();
19276    ctor public RcsFeature(@NonNull java.util.concurrent.Executor);
19277    method public void changeEnabledCapabilities(@NonNull android.telephony.ims.feature.CapabilityChangeRequest, @NonNull android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
19278    method @NonNull public android.telephony.ims.stub.RcsCapabilityExchangeImplBase createCapabilityExchangeImpl(@NonNull android.telephony.ims.stub.CapabilityExchangeEventListener);
19279    method public void destroyCapabilityExchangeImpl(@NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase);
19280    method public final void notifyCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.RcsFeature.RcsImsCapabilities);
19281    method public void onFeatureReady();
19282    method public void onFeatureRemoved();
19283    method public boolean queryCapabilityConfiguration(int, int);
19284    method @NonNull public final android.telephony.ims.feature.RcsFeature.RcsImsCapabilities queryCapabilityStatus();
19285  }
19286
19287  public static class RcsFeature.RcsImsCapabilities extends android.telephony.ims.feature.ImsFeature.Capabilities {
19288    ctor public RcsFeature.RcsImsCapabilities(int);
19289    method public void addCapabilities(int);
19290    method public boolean isCapable(int);
19291    method public void removeCapabilities(int);
19292    field public static final int CAPABILITY_TYPE_NONE = 0; // 0x0
19293    field public static final int CAPABILITY_TYPE_OPTIONS_UCE = 1; // 0x1
19294    field public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
19295  }
19296
19297}
19298
19299package android.telephony.ims.stub {
19300
19301  public interface CapabilityExchangeEventListener {
19302    method public default void onPublishUpdated(int, @NonNull String, int, @NonNull String) throws android.telephony.ims.ImsException;
19303    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;
19304    method public void onRequestPublishCapabilities(int) throws android.telephony.ims.ImsException;
19305    method public void onUnpublish() throws android.telephony.ims.ImsException;
19306  }
19307
19308  public static interface CapabilityExchangeEventListener.OptionsRequestCallback {
19309    method public void onRespondToCapabilityRequest(@NonNull android.telephony.ims.RcsContactUceCapability, boolean);
19310    method public void onRespondToCapabilityRequestWithError(@IntRange(from=100, to=699) int, @NonNull String);
19311  }
19312
19313  public interface DelegateConnectionMessageCallback {
19314    method public void onMessageReceived(@NonNull android.telephony.ims.SipMessage);
19315    method public void onMessageSendFailure(@NonNull String, int);
19316    method public void onMessageSent(@NonNull String);
19317  }
19318
19319  public interface DelegateConnectionStateCallback {
19320    method public void onConfigurationChanged(@NonNull android.telephony.ims.SipDelegateConfiguration);
19321    method public void onCreated(@NonNull android.telephony.ims.SipDelegateConnection);
19322    method public void onDestroyed(int);
19323    method public void onFeatureTagStatusChanged(@NonNull android.telephony.ims.DelegateRegistrationState, @NonNull java.util.Set<android.telephony.ims.FeatureTagState>);
19324  }
19325
19326  public class ImsCallSessionImplBase implements java.lang.AutoCloseable {
19327    ctor public ImsCallSessionImplBase();
19328    method public void accept(int, android.telephony.ims.ImsStreamMediaProfile);
19329    method public void close();
19330    method public void deflect(String);
19331    method public void extendToConference(String[]);
19332    method public String getCallId();
19333    method public android.telephony.ims.ImsCallProfile getCallProfile();
19334    method public android.telephony.ims.ImsVideoCallProvider getImsVideoCallProvider();
19335    method public android.telephony.ims.ImsCallProfile getLocalCallProfile();
19336    method public String getProperty(String);
19337    method public android.telephony.ims.ImsCallProfile getRemoteCallProfile();
19338    method public int getState();
19339    method public void hold(android.telephony.ims.ImsStreamMediaProfile);
19340    method public void inviteParticipants(String[]);
19341    method public boolean isInCall();
19342    method public boolean isMultiparty();
19343    method public void merge();
19344    method public void reject(int);
19345    method public void removeParticipants(String[]);
19346    method public void resume(android.telephony.ims.ImsStreamMediaProfile);
19347    method public void sendDtmf(char, android.os.Message);
19348    method public void sendRtpHeaderExtensions(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtension>);
19349    method public void sendRttMessage(String);
19350    method public void sendRttModifyRequest(android.telephony.ims.ImsCallProfile);
19351    method public void sendRttModifyResponse(boolean);
19352    method public void sendUssd(String);
19353    method public void setListener(android.telephony.ims.ImsCallSessionListener);
19354    method public void setMute(boolean);
19355    method public void start(String, android.telephony.ims.ImsCallProfile);
19356    method public void startConference(String[], android.telephony.ims.ImsCallProfile);
19357    method public void startDtmf(char);
19358    method public void stopDtmf();
19359    method public void terminate(int);
19360    method public void update(int, android.telephony.ims.ImsStreamMediaProfile);
19361    field public static final int USSD_MODE_NOTIFY = 0; // 0x0
19362    field public static final int USSD_MODE_REQUEST = 1; // 0x1
19363  }
19364
19365  public static class ImsCallSessionImplBase.State {
19366    method public static String toString(int);
19367    field public static final int ESTABLISHED = 4; // 0x4
19368    field public static final int ESTABLISHING = 3; // 0x3
19369    field public static final int IDLE = 0; // 0x0
19370    field public static final int INITIATED = 1; // 0x1
19371    field public static final int INVALID = -1; // 0xffffffff
19372    field public static final int NEGOTIATING = 2; // 0x2
19373    field public static final int REESTABLISHING = 6; // 0x6
19374    field public static final int RENEGOTIATING = 5; // 0x5
19375    field public static final int TERMINATED = 8; // 0x8
19376    field public static final int TERMINATING = 7; // 0x7
19377  }
19378
19379  public class ImsConfigImplBase {
19380    ctor public ImsConfigImplBase(@NonNull java.util.concurrent.Executor);
19381    ctor public ImsConfigImplBase();
19382    method public int getConfigInt(int);
19383    method public String getConfigString(int);
19384    method public final void notifyAutoConfigurationErrorReceived(int, @NonNull String);
19385    method public final void notifyPreProvisioningReceived(@NonNull byte[]);
19386    method public final void notifyProvisionedValueChanged(int, int);
19387    method public final void notifyProvisionedValueChanged(int, String);
19388    method public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean);
19389    method public void notifyRcsAutoConfigurationRemoved();
19390    method public int setConfig(int, int);
19391    method public int setConfig(int, String);
19392    method public void setRcsClientConfiguration(@NonNull android.telephony.ims.RcsClientConfiguration);
19393    method public void triggerAutoConfiguration();
19394    field public static final int CONFIG_RESULT_FAILED = 1; // 0x1
19395    field public static final int CONFIG_RESULT_SUCCESS = 0; // 0x0
19396    field public static final int CONFIG_RESULT_UNKNOWN = -1; // 0xffffffff
19397  }
19398
19399  public class ImsEcbmImplBase {
19400    ctor public ImsEcbmImplBase();
19401    method public final void enteredEcbm();
19402    method public void exitEmergencyCallbackMode();
19403    method public final void exitedEcbm();
19404  }
19405
19406  public final class ImsFeatureConfiguration implements android.os.Parcelable {
19407    method public int describeContents();
19408    method public java.util.Set<android.telephony.ims.stub.ImsFeatureConfiguration.FeatureSlotPair> getServiceFeatures();
19409    method public void writeToParcel(android.os.Parcel, int);
19410    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.stub.ImsFeatureConfiguration> CREATOR;
19411  }
19412
19413  public static class ImsFeatureConfiguration.Builder {
19414    ctor public ImsFeatureConfiguration.Builder();
19415    method public android.telephony.ims.stub.ImsFeatureConfiguration.Builder addFeature(int, int);
19416    method public android.telephony.ims.stub.ImsFeatureConfiguration build();
19417  }
19418
19419  public static final class ImsFeatureConfiguration.FeatureSlotPair {
19420    ctor public ImsFeatureConfiguration.FeatureSlotPair(int, int);
19421    field public final int featureType;
19422    field public final int slotId;
19423  }
19424
19425  public class ImsMultiEndpointImplBase {
19426    ctor public ImsMultiEndpointImplBase();
19427    method public final void onImsExternalCallStateUpdate(java.util.List<android.telephony.ims.ImsExternalCallState>);
19428    method public void requestImsExternalCallStateInfo();
19429  }
19430
19431  public class ImsRegistrationImplBase {
19432    ctor public ImsRegistrationImplBase();
19433    ctor public ImsRegistrationImplBase(@NonNull java.util.concurrent.Executor);
19434    method public final void onDeregistered(android.telephony.ims.ImsReasonInfo);
19435    method public final void onRegistered(int);
19436    method public final void onRegistered(@NonNull android.telephony.ims.ImsRegistrationAttributes);
19437    method public final void onRegistering(int);
19438    method public final void onRegistering(@NonNull android.telephony.ims.ImsRegistrationAttributes);
19439    method public final void onSubscriberAssociatedUriChanged(android.net.Uri[]);
19440    method public final void onTechnologyChangeFailed(int, android.telephony.ims.ImsReasonInfo);
19441    method public void triggerFullNetworkRegistration(@IntRange(from=100, to=699) int, @Nullable String);
19442    method public void triggerSipDelegateDeregistration();
19443    method public void updateSipDelegateRegistration();
19444  }
19445
19446  public class ImsSmsImplBase {
19447    ctor public ImsSmsImplBase();
19448    method public void acknowledgeSms(int, @IntRange(from=0, to=65535) int, int);
19449    method public void acknowledgeSmsReport(int, @IntRange(from=0, to=65535) int, int);
19450    method public String getSmsFormat();
19451    method public void onReady();
19452    method @Deprecated public final void onSendSmsResult(int, @IntRange(from=0, to=65535) int, int, int) throws java.lang.RuntimeException;
19453    method public final void onSendSmsResultError(int, @IntRange(from=0, to=65535) int, int, int, int) throws java.lang.RuntimeException;
19454    method public final void onSendSmsResultSuccess(int, @IntRange(from=0, to=65535) int) throws java.lang.RuntimeException;
19455    method public final void onSmsReceived(int, String, byte[]) throws java.lang.RuntimeException;
19456    method @Deprecated public final void onSmsStatusReportReceived(int, @IntRange(from=0, to=65535) int, String, byte[]) throws java.lang.RuntimeException;
19457    method public final void onSmsStatusReportReceived(int, String, byte[]) throws java.lang.RuntimeException;
19458    method public void sendSms(int, @IntRange(from=0, to=65535) int, String, String, boolean, byte[]);
19459    field public static final int DELIVER_STATUS_ERROR_GENERIC = 2; // 0x2
19460    field public static final int DELIVER_STATUS_ERROR_NO_MEMORY = 3; // 0x3
19461    field public static final int DELIVER_STATUS_ERROR_REQUEST_NOT_SUPPORTED = 4; // 0x4
19462    field public static final int DELIVER_STATUS_OK = 1; // 0x1
19463    field public static final int RESULT_NO_NETWORK_ERROR = -1; // 0xffffffff
19464    field public static final int SEND_STATUS_ERROR = 2; // 0x2
19465    field public static final int SEND_STATUS_ERROR_FALLBACK = 4; // 0x4
19466    field public static final int SEND_STATUS_ERROR_RETRY = 3; // 0x3
19467    field public static final int SEND_STATUS_OK = 1; // 0x1
19468    field public static final int STATUS_REPORT_STATUS_ERROR = 2; // 0x2
19469    field public static final int STATUS_REPORT_STATUS_OK = 1; // 0x1
19470  }
19471
19472  public class ImsUtImplBase {
19473    ctor public ImsUtImplBase();
19474    method public void close();
19475    method public int queryCallBarring(int);
19476    method public int queryCallBarringForServiceClass(int, int);
19477    method public int queryCallForward(int, String);
19478    method public int queryCallWaiting();
19479    method public int queryClip();
19480    method public int queryClir();
19481    method public int queryColp();
19482    method public int queryColr();
19483    method public void setListener(android.telephony.ims.ImsUtListener);
19484    method public int transact(android.os.Bundle);
19485    method public int updateCallBarring(int, int, String[]);
19486    method public int updateCallBarringForServiceClass(int, int, String[], int);
19487    method public int updateCallForward(int, int, String, int, int);
19488    method public int updateCallWaiting(boolean, int);
19489    method public int updateClip(boolean);
19490    method public int updateClir(int);
19491    method public int updateColp(boolean);
19492    method public int updateColr(int);
19493  }
19494
19495  public class RcsCapabilityExchangeImplBase {
19496    ctor public RcsCapabilityExchangeImplBase();
19497    method public void publishCapabilities(@NonNull String, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.PublishResponseCallback);
19498    method public void sendOptionsCapabilityRequest(@NonNull android.net.Uri, @NonNull java.util.Set<java.lang.String>, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.OptionsResponseCallback);
19499    method public void subscribeForCapabilities(@NonNull java.util.Collection<android.net.Uri>, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.SubscribeResponseCallback);
19500    field public static final int COMMAND_CODE_FETCH_ERROR = 3; // 0x3
19501    field public static final int COMMAND_CODE_GENERIC_FAILURE = 1; // 0x1
19502    field public static final int COMMAND_CODE_INSUFFICIENT_MEMORY = 5; // 0x5
19503    field public static final int COMMAND_CODE_INVALID_PARAM = 2; // 0x2
19504    field public static final int COMMAND_CODE_LOST_NETWORK_CONNECTION = 6; // 0x6
19505    field public static final int COMMAND_CODE_NOT_FOUND = 8; // 0x8
19506    field public static final int COMMAND_CODE_NOT_SUPPORTED = 7; // 0x7
19507    field public static final int COMMAND_CODE_NO_CHANGE = 10; // 0xa
19508    field public static final int COMMAND_CODE_REQUEST_TIMEOUT = 4; // 0x4
19509    field public static final int COMMAND_CODE_SERVICE_UNAVAILABLE = 9; // 0x9
19510    field public static final int COMMAND_CODE_SERVICE_UNKNOWN = 0; // 0x0
19511  }
19512
19513  public static interface RcsCapabilityExchangeImplBase.OptionsResponseCallback {
19514    method public void onCommandError(int) throws android.telephony.ims.ImsException;
19515    method public void onNetworkResponse(int, @NonNull String, @NonNull java.util.List<java.lang.String>) throws android.telephony.ims.ImsException;
19516  }
19517
19518  public static interface RcsCapabilityExchangeImplBase.PublishResponseCallback {
19519    method public void onCommandError(int) throws android.telephony.ims.ImsException;
19520    method public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
19521    method public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String, @IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
19522  }
19523
19524  public static interface RcsCapabilityExchangeImplBase.SubscribeResponseCallback {
19525    method public void onCommandError(int) throws android.telephony.ims.ImsException;
19526    method public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
19527    method public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String, @IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
19528    method public void onNotifyCapabilitiesUpdate(@NonNull java.util.List<java.lang.String>) throws android.telephony.ims.ImsException;
19529    method public void onResourceTerminated(@NonNull java.util.List<android.util.Pair<android.net.Uri,java.lang.String>>) throws android.telephony.ims.ImsException;
19530    method public void onTerminated(@NonNull String, long) throws android.telephony.ims.ImsException;
19531  }
19532
19533  public interface SipDelegate {
19534    method public void cleanupSession(@NonNull String);
19535    method public void notifyMessageReceiveError(@NonNull String, int);
19536    method public void notifyMessageReceived(@NonNull String);
19537    method public void sendMessage(@NonNull android.telephony.ims.SipMessage, long);
19538  }
19539
19540  public class SipTransportImplBase {
19541    ctor public SipTransportImplBase();
19542    ctor public SipTransportImplBase(@NonNull java.util.concurrent.Executor);
19543    method public void createSipDelegate(int, @NonNull android.telephony.ims.DelegateRequest, @NonNull android.telephony.ims.DelegateStateCallback, @NonNull android.telephony.ims.DelegateMessageCallback);
19544    method public void destroySipDelegate(@NonNull android.telephony.ims.stub.SipDelegate, int);
19545  }
19546
19547}
19548
19549package android.telephony.mbms {
19550
19551  public static class DownloadRequest.Builder {
19552    method public android.telephony.mbms.DownloadRequest.Builder setServiceId(String);
19553  }
19554
19555  public final class FileInfo implements android.os.Parcelable {
19556    ctor public FileInfo(android.net.Uri, String);
19557  }
19558
19559  public final class FileServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
19560    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>);
19561  }
19562
19563  public class MbmsDownloadReceiver extends android.content.BroadcastReceiver {
19564    field public static final int RESULT_APP_NOTIFICATION_ERROR = 6; // 0x6
19565    field public static final int RESULT_BAD_TEMP_FILE_ROOT = 3; // 0x3
19566    field public static final int RESULT_DOWNLOAD_FINALIZATION_ERROR = 4; // 0x4
19567    field public static final int RESULT_INVALID_ACTION = 1; // 0x1
19568    field public static final int RESULT_MALFORMED_INTENT = 2; // 0x2
19569    field public static final int RESULT_OK = 0; // 0x0
19570    field public static final int RESULT_TEMP_FILE_GENERATION_ERROR = 5; // 0x5
19571  }
19572
19573  public final class StreamingServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
19574    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);
19575  }
19576
19577  public final class UriPathPair implements android.os.Parcelable {
19578    method public int describeContents();
19579    method public android.net.Uri getContentUri();
19580    method public android.net.Uri getFilePathUri();
19581    method public void writeToParcel(android.os.Parcel, int);
19582    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.mbms.UriPathPair> CREATOR;
19583  }
19584
19585}
19586
19587package android.telephony.mbms.vendor {
19588
19589  public class MbmsDownloadServiceBase extends android.os.Binder implements android.os.IInterface {
19590    ctor public MbmsDownloadServiceBase();
19591    method public int addProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener) throws android.os.RemoteException;
19592    method public int addServiceAnnouncement(int, @NonNull byte[]);
19593    method public int addStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener) throws android.os.RemoteException;
19594    method public android.os.IBinder asBinder();
19595    method public int cancelDownload(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
19596    method public void dispose(int) throws android.os.RemoteException;
19597    method public int download(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
19598    method public int initialize(int, android.telephony.mbms.MbmsDownloadSessionCallback) throws android.os.RemoteException;
19599    method @NonNull public java.util.List<android.telephony.mbms.DownloadRequest> listPendingDownloads(int) throws android.os.RemoteException;
19600    method public void onAppCallbackDied(int, int);
19601    method public boolean onTransact(int, android.os.Parcel, android.os.Parcel, int) throws android.os.RemoteException;
19602    method public int removeProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener) throws android.os.RemoteException;
19603    method public int removeStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener) throws android.os.RemoteException;
19604    method public int requestDownloadState(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo) throws android.os.RemoteException;
19605    method public int requestUpdateFileServices(int, java.util.List<java.lang.String>) throws android.os.RemoteException;
19606    method public int resetDownloadKnowledge(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
19607    method public int setTempFileRootDirectory(int, String) throws android.os.RemoteException;
19608  }
19609
19610  public class MbmsGroupCallServiceBase extends android.app.Service {
19611    ctor public MbmsGroupCallServiceBase();
19612    method public void dispose(int) throws android.os.RemoteException;
19613    method public int initialize(@NonNull android.telephony.mbms.MbmsGroupCallSessionCallback, int) throws android.os.RemoteException;
19614    method public void onAppCallbackDied(int, int);
19615    method public android.os.IBinder onBind(android.content.Intent);
19616    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);
19617    method public void stopGroupCall(int, long);
19618    method public void updateGroupCall(int, long, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>);
19619  }
19620
19621  public class MbmsStreamingServiceBase extends android.os.Binder implements android.os.IInterface {
19622    ctor public MbmsStreamingServiceBase();
19623    method public android.os.IBinder asBinder();
19624    method public void dispose(int) throws android.os.RemoteException;
19625    method @Nullable public android.net.Uri getPlaybackUri(int, String) throws android.os.RemoteException;
19626    method public int initialize(android.telephony.mbms.MbmsStreamingSessionCallback, int) throws android.os.RemoteException;
19627    method public void onAppCallbackDied(int, int);
19628    method public boolean onTransact(int, android.os.Parcel, android.os.Parcel, int) throws android.os.RemoteException;
19629    method public int requestUpdateStreamingServices(int, java.util.List<java.lang.String>) throws android.os.RemoteException;
19630    method public int startStreaming(int, String, android.telephony.mbms.StreamingServiceCallback) throws android.os.RemoteException;
19631    method public void stopStreaming(int, String) throws android.os.RemoteException;
19632  }
19633
19634  public class VendorUtils {
19635    ctor public VendorUtils();
19636    method public static android.content.ComponentName getAppReceiverFromPackageName(android.content.Context, String);
19637    field public static final String ACTION_CLEANUP = "android.telephony.mbms.action.CLEANUP";
19638    field public static final String ACTION_DOWNLOAD_RESULT_INTERNAL = "android.telephony.mbms.action.DOWNLOAD_RESULT_INTERNAL";
19639    field public static final String ACTION_FILE_DESCRIPTOR_REQUEST = "android.telephony.mbms.action.FILE_DESCRIPTOR_REQUEST";
19640    field public static final String EXTRA_FD_COUNT = "android.telephony.mbms.extra.FD_COUNT";
19641    field public static final String EXTRA_FINAL_URI = "android.telephony.mbms.extra.FINAL_URI";
19642    field public static final String EXTRA_FREE_URI_LIST = "android.telephony.mbms.extra.FREE_URI_LIST";
19643    field public static final String EXTRA_PAUSED_LIST = "android.telephony.mbms.extra.PAUSED_LIST";
19644    field public static final String EXTRA_PAUSED_URI_LIST = "android.telephony.mbms.extra.PAUSED_URI_LIST";
19645    field public static final String EXTRA_SERVICE_ID = "android.telephony.mbms.extra.SERVICE_ID";
19646    field public static final String EXTRA_TEMP_FILES_IN_USE = "android.telephony.mbms.extra.TEMP_FILES_IN_USE";
19647    field public static final String EXTRA_TEMP_FILE_ROOT = "android.telephony.mbms.extra.TEMP_FILE_ROOT";
19648    field public static final String EXTRA_TEMP_LIST = "android.telephony.mbms.extra.TEMP_LIST";
19649  }
19650
19651}
19652
19653package android.text {
19654
19655  public final class FontConfig implements android.os.Parcelable {
19656    method public int describeContents();
19657    method @NonNull public java.util.List<android.text.FontConfig.Alias> getAliases();
19658    method @IntRange(from=0) public int getConfigVersion();
19659    method @NonNull public java.util.List<android.text.FontConfig.FontFamily> getFontFamilies();
19660    method public long getLastModifiedTimeMillis();
19661    method public void writeToParcel(@NonNull android.os.Parcel, int);
19662    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig> CREATOR;
19663  }
19664
19665  public static final class FontConfig.Alias implements android.os.Parcelable {
19666    method public int describeContents();
19667    method @NonNull public String getName();
19668    method @NonNull public String getOriginal();
19669    method @IntRange(from=0, to=1000) public int getWeight();
19670    method public void writeToParcel(@NonNull android.os.Parcel, int);
19671    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.Alias> CREATOR;
19672  }
19673
19674  public static final class FontConfig.Font implements android.os.Parcelable {
19675    method public int describeContents();
19676    method @NonNull public java.io.File getFile();
19677    method @Nullable public String getFontFamilyName();
19678    method @NonNull public String getFontVariationSettings();
19679    method @NonNull public String getPostScriptName();
19680    method @NonNull public android.graphics.fonts.FontStyle getStyle();
19681    method public int getTtcIndex();
19682    method public void writeToParcel(@NonNull android.os.Parcel, int);
19683    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.Font> CREATOR;
19684  }
19685
19686  public static final class FontConfig.FontFamily implements android.os.Parcelable {
19687    method public int describeContents();
19688    method @NonNull public java.util.List<android.text.FontConfig.Font> getFontList();
19689    method @NonNull public android.os.LocaleList getLocaleList();
19690    method @Nullable public String getName();
19691    method public int getVariant();
19692    method public void writeToParcel(@NonNull android.os.Parcel, int);
19693    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.FontFamily> CREATOR;
19694    field public static final int VARIANT_COMPACT = 1; // 0x1
19695    field public static final int VARIANT_DEFAULT = 0; // 0x0
19696    field public static final int VARIANT_ELEGANT = 2; // 0x2
19697  }
19698
19699}
19700
19701package android.util {
19702
19703  public class EventLog {
19704    method public static void readEventsOnWrapping(int[], long, java.util.Collection<android.util.EventLog.Event>) throws java.io.IOException;
19705  }
19706
19707  public static final class EventLog.Event {
19708    method public int getUid();
19709  }
19710
19711  public final class StatsEvent {
19712    method @NonNull public static android.util.StatsEvent.Builder newBuilder();
19713  }
19714
19715  public static final class StatsEvent.Builder {
19716    method @NonNull public android.util.StatsEvent.Builder addBooleanAnnotation(byte, boolean);
19717    method @NonNull public android.util.StatsEvent.Builder addIntAnnotation(byte, int);
19718    method @NonNull public android.util.StatsEvent build();
19719    method @NonNull public android.util.StatsEvent.Builder setAtomId(int);
19720    method @NonNull public android.util.StatsEvent.Builder usePooledBuffer();
19721    method @NonNull public android.util.StatsEvent.Builder writeAttributionChain(@NonNull int[], @NonNull String[]);
19722    method @NonNull public android.util.StatsEvent.Builder writeBoolean(boolean);
19723    method @NonNull public android.util.StatsEvent.Builder writeBooleanArray(@NonNull boolean[]);
19724    method @NonNull public android.util.StatsEvent.Builder writeByteArray(@NonNull byte[]);
19725    method @NonNull public android.util.StatsEvent.Builder writeFloat(float);
19726    method @NonNull public android.util.StatsEvent.Builder writeFloatArray(@NonNull float[]);
19727    method @NonNull public android.util.StatsEvent.Builder writeInt(int);
19728    method @NonNull public android.util.StatsEvent.Builder writeIntArray(@NonNull int[]);
19729    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>);
19730    method @NonNull public android.util.StatsEvent.Builder writeLong(long);
19731    method @NonNull public android.util.StatsEvent.Builder writeLongArray(@NonNull long[]);
19732    method @NonNull public android.util.StatsEvent.Builder writeString(@NonNull String);
19733    method @NonNull public android.util.StatsEvent.Builder writeStringArray(@NonNull String[]);
19734  }
19735
19736  public final class StatsLog {
19737    method public static void write(@NonNull android.util.StatsEvent);
19738    method @Deprecated public static void writeRaw(@NonNull byte[], int);
19739    field public static final byte ANNOTATION_ID_DEFAULT_STATE = 6; // 0x6
19740    field public static final byte ANNOTATION_ID_EXCLUSIVE_STATE = 4; // 0x4
19741    field public static final byte ANNOTATION_ID_IS_UID = 1; // 0x1
19742    field public static final byte ANNOTATION_ID_PRIMARY_FIELD = 3; // 0x3
19743    field public static final byte ANNOTATION_ID_PRIMARY_FIELD_FIRST_UID = 5; // 0x5
19744    field public static final byte ANNOTATION_ID_STATE_NESTED = 8; // 0x8
19745    field public static final byte ANNOTATION_ID_TRIGGER_STATE_RESET = 7; // 0x7
19746    field public static final byte ANNOTATION_ID_TRUNCATE_TIMESTAMP = 2; // 0x2
19747  }
19748
19749}
19750
19751package android.uwb {
19752
19753  public final class AngleMeasurement implements android.os.Parcelable {
19754    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);
19755    method public int describeContents();
19756    method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel();
19757    method @FloatRange(from=0.0, to=3.141592653589793) public double getErrorRadians();
19758    method @FloatRange(from=-3.141592653589793, to=3.141592653589793) public double getRadians();
19759    method public void writeToParcel(@NonNull android.os.Parcel, int);
19760    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleMeasurement> CREATOR;
19761  }
19762
19763  public final class AngleOfArrivalMeasurement implements android.os.Parcelable {
19764    method public int describeContents();
19765    method @Nullable public android.uwb.AngleMeasurement getAltitude();
19766    method @NonNull public android.uwb.AngleMeasurement getAzimuth();
19767    method public void writeToParcel(@NonNull android.os.Parcel, int);
19768    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleOfArrivalMeasurement> CREATOR;
19769  }
19770
19771  public static final class AngleOfArrivalMeasurement.Builder {
19772    ctor public AngleOfArrivalMeasurement.Builder(@NonNull android.uwb.AngleMeasurement);
19773    method @NonNull public android.uwb.AngleOfArrivalMeasurement build();
19774    method @NonNull public android.uwb.AngleOfArrivalMeasurement.Builder setAltitude(@NonNull android.uwb.AngleMeasurement);
19775  }
19776
19777  public final class DistanceMeasurement implements android.os.Parcelable {
19778    method public int describeContents();
19779    method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel();
19780    method @FloatRange(from=0.0) public double getErrorMeters();
19781    method public double getMeters();
19782    method public void writeToParcel(@NonNull android.os.Parcel, int);
19783    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.DistanceMeasurement> CREATOR;
19784  }
19785
19786  public static final class DistanceMeasurement.Builder {
19787    ctor public DistanceMeasurement.Builder();
19788    method @NonNull public android.uwb.DistanceMeasurement build();
19789    method @NonNull public android.uwb.DistanceMeasurement.Builder setConfidenceLevel(@FloatRange(from=0.0, to=1.0) double);
19790    method @NonNull public android.uwb.DistanceMeasurement.Builder setErrorMeters(@FloatRange(from=0.0) double);
19791    method @NonNull public android.uwb.DistanceMeasurement.Builder setMeters(double);
19792  }
19793
19794  public final class RangingMeasurement implements android.os.Parcelable {
19795    method public int describeContents();
19796    method @Nullable public android.uwb.AngleOfArrivalMeasurement getAngleOfArrivalMeasurement();
19797    method @Nullable public android.uwb.AngleOfArrivalMeasurement getDestinationAngleOfArrivalMeasurement();
19798    method @Nullable public android.uwb.DistanceMeasurement getDistanceMeasurement();
19799    method public long getElapsedRealtimeNanos();
19800    method public int getLineOfSight();
19801    method public int getMeasurementFocus();
19802    method @NonNull public android.uwb.UwbAddress getRemoteDeviceAddress();
19803    method @IntRange(from=android.uwb.RangingMeasurement.RSSI_UNKNOWN, to=android.uwb.RangingMeasurement.RSSI_MAX) public int getRssiDbm();
19804    method public int getStatus();
19805    method public void writeToParcel(@NonNull android.os.Parcel, int);
19806    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingMeasurement> CREATOR;
19807    field public static final int LOS = 0; // 0x0
19808    field public static final int LOS_UNDETERMINED = 255; // 0xff
19809    field public static final int MEASUREMENT_FOCUS_ANGLE_OF_ARRIVAL_AZIMUTH = 2; // 0x2
19810    field public static final int MEASUREMENT_FOCUS_ANGLE_OF_ARRIVAL_ELEVATION = 3; // 0x3
19811    field public static final int MEASUREMENT_FOCUS_NONE = 0; // 0x0
19812    field public static final int MEASUREMENT_FOCUS_RANGE = 1; // 0x1
19813    field public static final int NLOS = 1; // 0x1
19814    field public static final int RANGING_STATUS_FAILURE_OUT_OF_RANGE = 1; // 0x1
19815    field public static final int RANGING_STATUS_FAILURE_UNKNOWN_ERROR = -1; // 0xffffffff
19816    field public static final int RANGING_STATUS_SUCCESS = 0; // 0x0
19817    field public static final int RSSI_MAX = -1; // 0xffffffff
19818    field public static final int RSSI_MIN = -127; // 0xffffff81
19819    field public static final int RSSI_UNKNOWN = -128; // 0xffffff80
19820  }
19821
19822  public static final class RangingMeasurement.Builder {
19823    ctor public RangingMeasurement.Builder();
19824    method @NonNull public android.uwb.RangingMeasurement build();
19825    method @NonNull public android.uwb.RangingMeasurement.Builder setAngleOfArrivalMeasurement(@NonNull android.uwb.AngleOfArrivalMeasurement);
19826    method @NonNull public android.uwb.RangingMeasurement.Builder setDestinationAngleOfArrivalMeasurement(@NonNull android.uwb.AngleOfArrivalMeasurement);
19827    method @NonNull public android.uwb.RangingMeasurement.Builder setDistanceMeasurement(@NonNull android.uwb.DistanceMeasurement);
19828    method @NonNull public android.uwb.RangingMeasurement.Builder setElapsedRealtimeNanos(long);
19829    method @NonNull public android.uwb.RangingMeasurement.Builder setLineOfSight(int);
19830    method @NonNull public android.uwb.RangingMeasurement.Builder setMeasurementFocus(int);
19831    method @NonNull public android.uwb.RangingMeasurement.Builder setRemoteDeviceAddress(@NonNull android.uwb.UwbAddress);
19832    method @NonNull public android.uwb.RangingMeasurement.Builder setRssiDbm(@IntRange(from=android.uwb.RangingMeasurement.RSSI_UNKNOWN, to=android.uwb.RangingMeasurement.RSSI_MAX) int);
19833    method @NonNull public android.uwb.RangingMeasurement.Builder setStatus(int);
19834  }
19835
19836  public final class RangingReport implements android.os.Parcelable {
19837    method public int describeContents();
19838    method @NonNull public java.util.List<android.uwb.RangingMeasurement> getMeasurements();
19839    method public void writeToParcel(@NonNull android.os.Parcel, int);
19840    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingReport> CREATOR;
19841  }
19842
19843  public static final class RangingReport.Builder {
19844    ctor public RangingReport.Builder();
19845    method @NonNull public android.uwb.RangingReport.Builder addMeasurement(@NonNull android.uwb.RangingMeasurement);
19846    method @NonNull public android.uwb.RangingReport.Builder addMeasurements(@NonNull java.util.List<android.uwb.RangingMeasurement>);
19847    method @NonNull public android.uwb.RangingReport build();
19848  }
19849
19850  public final class RangingSession implements java.lang.AutoCloseable {
19851    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void addControlee(@NonNull android.os.PersistableBundle);
19852    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void close();
19853    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void pause(@NonNull android.os.PersistableBundle);
19854    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void reconfigure(@NonNull android.os.PersistableBundle);
19855    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void removeControlee(@NonNull android.os.PersistableBundle);
19856    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void resume(@NonNull android.os.PersistableBundle);
19857    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void sendData(@NonNull android.uwb.UwbAddress, @NonNull android.os.PersistableBundle, @NonNull byte[]);
19858    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void start(@NonNull android.os.PersistableBundle);
19859    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void stop();
19860  }
19861
19862  public static interface RangingSession.Callback {
19863    method public void onClosed(int, @NonNull android.os.PersistableBundle);
19864    method public default void onControleeAddFailed(int, @NonNull android.os.PersistableBundle);
19865    method public default void onControleeAdded(@NonNull android.os.PersistableBundle);
19866    method public default void onControleeRemoveFailed(int, @NonNull android.os.PersistableBundle);
19867    method public default void onControleeRemoved(@NonNull android.os.PersistableBundle);
19868    method public default void onDataReceiveFailed(@NonNull android.uwb.UwbAddress, int, @NonNull android.os.PersistableBundle);
19869    method public default void onDataReceived(@NonNull android.uwb.UwbAddress, @NonNull android.os.PersistableBundle, @NonNull byte[]);
19870    method public default void onDataSendFailed(@NonNull android.uwb.UwbAddress, int, @NonNull android.os.PersistableBundle);
19871    method public default void onDataSent(@NonNull android.uwb.UwbAddress, @NonNull android.os.PersistableBundle);
19872    method public void onOpenFailed(int, @NonNull android.os.PersistableBundle);
19873    method public void onOpened(@NonNull android.uwb.RangingSession);
19874    method public default void onPauseFailed(int, @NonNull android.os.PersistableBundle);
19875    method public default void onPaused(@NonNull android.os.PersistableBundle);
19876    method public void onReconfigureFailed(int, @NonNull android.os.PersistableBundle);
19877    method public void onReconfigured(@NonNull android.os.PersistableBundle);
19878    method public void onReportReceived(@NonNull android.uwb.RangingReport);
19879    method public default void onResumeFailed(int, @NonNull android.os.PersistableBundle);
19880    method public default void onResumed(@NonNull android.os.PersistableBundle);
19881    method public default void onServiceConnected(@NonNull android.os.PersistableBundle);
19882    method public default void onServiceDiscovered(@NonNull android.os.PersistableBundle);
19883    method public void onStartFailed(int, @NonNull android.os.PersistableBundle);
19884    method public void onStarted(@NonNull android.os.PersistableBundle);
19885    method public void onStopFailed(int, @NonNull android.os.PersistableBundle);
19886    method public void onStopped(int, @NonNull android.os.PersistableBundle);
19887    field public static final int CONTROLEE_FAILURE_REASON_MAX_CONTROLEE_REACHED = 0; // 0x0
19888    field public static final int DATA_FAILURE_REASON_DATA_SIZE_TOO_LARGE = 10; // 0xa
19889    field public static final int REASON_BAD_PARAMETERS = 3; // 0x3
19890    field public static final int REASON_GENERIC_ERROR = 4; // 0x4
19891    field public static final int REASON_LOCAL_REQUEST = 1; // 0x1
19892    field public static final int REASON_MAX_RR_RETRY_REACHED = 9; // 0x9
19893    field public static final int REASON_MAX_SESSIONS_REACHED = 5; // 0x5
19894    field public static final int REASON_PROTOCOL_SPECIFIC_ERROR = 7; // 0x7
19895    field public static final int REASON_REMOTE_REQUEST = 2; // 0x2
19896    field public static final int REASON_SERVICE_CONNECTION_FAILURE = 11; // 0xb
19897    field public static final int REASON_SERVICE_DISCOVERY_FAILURE = 10; // 0xa
19898    field public static final int REASON_SE_INTERACTION_FAILURE = 13; // 0xd
19899    field public static final int REASON_SE_NOT_SUPPORTED = 12; // 0xc
19900    field public static final int REASON_SYSTEM_POLICY = 6; // 0x6
19901    field public static final int REASON_UNKNOWN = 0; // 0x0
19902  }
19903
19904  public final class UwbAddress implements android.os.Parcelable {
19905    method public int describeContents();
19906    method @NonNull public static android.uwb.UwbAddress fromBytes(@NonNull byte[]);
19907    method public int size();
19908    method @NonNull public byte[] toBytes();
19909    method public void writeToParcel(@NonNull android.os.Parcel, int);
19910    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.UwbAddress> CREATOR;
19911    field public static final int EXTENDED_ADDRESS_BYTE_LENGTH = 8; // 0x8
19912    field public static final int SHORT_ADDRESS_BYTE_LENGTH = 2; // 0x2
19913  }
19914
19915  public final class UwbManager {
19916    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle addServiceProfile(@NonNull android.os.PersistableBundle);
19917    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public long elapsedRealtimeResolutionNanos();
19918    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public long elapsedRealtimeResolutionNanos(@NonNull String);
19919    method public int getAdapterState();
19920    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getAdfCertificateInfo(@NonNull android.os.PersistableBundle);
19921    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getAdfProvisioningAuthorities(@NonNull android.os.PersistableBundle);
19922    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getAllServiceProfiles();
19923    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public java.util.List<android.os.PersistableBundle> getChipInfos();
19924    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public String getDefaultChipId();
19925    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getSpecificationInfo();
19926    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getSpecificationInfo(@NonNull String);
19927    method public boolean isUwbEnabled();
19928    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);
19929    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);
19930    method public void provisionProfileAdfByScript(@NonNull android.os.PersistableBundle, @NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.AdfProvisionStateCallback);
19931    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerAdapterStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.AdapterStateCallback);
19932    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerUwbVendorUciCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.UwbVendorUciCallback);
19933    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int removeProfileAdf(@NonNull android.os.PersistableBundle);
19934    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int removeServiceProfile(@NonNull android.os.PersistableBundle);
19935    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int sendVendorUciMessage(@IntRange(from=9, to=15) int, int, @NonNull byte[]);
19936    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void setUwbEnabled(boolean);
19937    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void unregisterAdapterStateCallback(@NonNull android.uwb.UwbManager.AdapterStateCallback);
19938    method public void unregisterUwbVendorUciCallback(@NonNull android.uwb.UwbManager.UwbVendorUciCallback);
19939    field public static final int REMOVE_PROFILE_ADF_ERROR_INTERNAL = 2; // 0x2
19940    field public static final int REMOVE_PROFILE_ADF_ERROR_UNKNOWN_SERVICE = 1; // 0x1
19941    field public static final int REMOVE_PROFILE_ADF_SUCCESS = 0; // 0x0
19942    field public static final int REMOVE_SERVICE_PROFILE_ERROR_INTERNAL = 2; // 0x2
19943    field public static final int REMOVE_SERVICE_PROFILE_ERROR_UNKNOWN_SERVICE = 1; // 0x1
19944    field public static final int REMOVE_SERVICE_PROFILE_SUCCESS = 0; // 0x0
19945    field public static final int SEND_VENDOR_UCI_ERROR_HW = 1; // 0x1
19946    field public static final int SEND_VENDOR_UCI_ERROR_INVALID_ARGS = 3; // 0x3
19947    field public static final int SEND_VENDOR_UCI_ERROR_INVALID_GID = 4; // 0x4
19948    field public static final int SEND_VENDOR_UCI_ERROR_OFF = 2; // 0x2
19949    field public static final int SEND_VENDOR_UCI_SUCCESS = 0; // 0x0
19950  }
19951
19952  public static interface UwbManager.AdapterStateCallback {
19953    method public void onStateChanged(int, int);
19954    field public static final int STATE_CHANGED_REASON_ALL_SESSIONS_CLOSED = 1; // 0x1
19955    field public static final int STATE_CHANGED_REASON_ERROR_UNKNOWN = 4; // 0x4
19956    field public static final int STATE_CHANGED_REASON_SESSION_STARTED = 0; // 0x0
19957    field public static final int STATE_CHANGED_REASON_SYSTEM_BOOT = 3; // 0x3
19958    field public static final int STATE_CHANGED_REASON_SYSTEM_POLICY = 2; // 0x2
19959    field public static final int STATE_DISABLED = 0; // 0x0
19960    field public static final int STATE_ENABLED_ACTIVE = 2; // 0x2
19961    field public static final int STATE_ENABLED_INACTIVE = 1; // 0x1
19962  }
19963
19964  public abstract static class UwbManager.AdfProvisionStateCallback {
19965    ctor public UwbManager.AdfProvisionStateCallback();
19966    method public abstract void onProfileAdfsProvisionFailed(int, @NonNull android.os.PersistableBundle);
19967    method public abstract void onProfileAdfsProvisioned(@NonNull android.os.PersistableBundle);
19968    field public static final int REASON_INVALID_OID = 1; // 0x1
19969    field public static final int REASON_SE_FAILURE = 2; // 0x2
19970    field public static final int REASON_UNKNOWN = 3; // 0x3
19971  }
19972
19973  public static interface UwbManager.UwbVendorUciCallback {
19974    method public void onVendorUciNotification(@IntRange(from=9, to=15) int, int, @NonNull byte[]);
19975    method public void onVendorUciResponse(@IntRange(from=9, to=15) int, int, @NonNull byte[]);
19976  }
19977
19978}
19979
19980package android.view {
19981
19982  @UiThread public class View implements android.view.accessibility.AccessibilityEventSource android.graphics.drawable.Drawable.Callback android.view.KeyEvent.Callback {
19983    method @NonNull public final java.util.List<android.graphics.Rect> getUnrestrictedPreferKeepClearRects();
19984    method @RequiresPermission(android.Manifest.permission.SET_UNRESTRICTED_KEEP_CLEAR_AREAS) public final void setUnrestrictedPreferKeepClearRects(@NonNull java.util.List<android.graphics.Rect>);
19985  }
19986
19987  public abstract class Window {
19988    method public void addSystemFlags(@android.view.WindowManager.LayoutParams.SystemFlags int);
19989  }
19990
19991  public interface WindowManager extends android.view.ViewManager {
19992    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public android.graphics.Region getCurrentImeTouchRegion();
19993    method public default void registerTaskFpsCallback(@IntRange(from=0) int, @NonNull java.util.concurrent.Executor, @NonNull android.window.TaskFpsCallback);
19994    method public default void unregisterTaskFpsCallback(@NonNull android.window.TaskFpsCallback);
19995  }
19996
19997  public static class WindowManager.LayoutParams extends android.view.ViewGroup.LayoutParams implements android.os.Parcelable {
19998    method public final long getUserActivityTimeout();
19999    method public boolean isSystemApplicationOverlay();
20000    method @RequiresPermission(android.Manifest.permission.SYSTEM_APPLICATION_OVERLAY) public void setSystemApplicationOverlay(boolean);
20001    method public final void setUserActivityTimeout(long);
20002    field @RequiresPermission(android.Manifest.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS) public static final int SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS = 524288; // 0x80000
20003    field @RequiresPermission(android.Manifest.permission.INTERNAL_SYSTEM_WINDOW) public static final int SYSTEM_FLAG_SHOW_FOR_ALL_USERS = 16; // 0x10
20004  }
20005
20006  @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 {
20007  }
20008
20009}
20010
20011package android.view.accessibility {
20012
20013  public final class AccessibilityManager {
20014    method public int getAccessibilityWindowId(@Nullable android.os.IBinder);
20015    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void performAccessibilityShortcut();
20016    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void registerSystemAction(@NonNull android.app.RemoteAction, int);
20017    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void unregisterSystemAction(int);
20018  }
20019
20020  public class CaptioningManager {
20021    method @RequiresPermission(android.Manifest.permission.SET_SYSTEM_AUDIO_CAPTION) public final void setSystemAudioCaptioningEnabled(boolean);
20022    method @RequiresPermission(android.Manifest.permission.SET_SYSTEM_AUDIO_CAPTION) public final void setSystemAudioCaptioningUiEnabled(boolean);
20023  }
20024
20025}
20026
20027package android.view.autofill {
20028
20029  public final class AutofillManager {
20030    method public void setAugmentedAutofillWhitelist(@Nullable java.util.Set<java.lang.String>, @Nullable java.util.Set<android.content.ComponentName>);
20031  }
20032
20033}
20034
20035package android.view.contentcapture {
20036
20037  public final class ContentCaptureContext implements android.os.Parcelable {
20038    method @Nullable public android.content.ComponentName getActivityComponent();
20039    method @Nullable public android.app.assist.ActivityId getActivityId();
20040    method public int getDisplayId();
20041    method public int getFlags();
20042    method @Nullable public android.view.contentcapture.ContentCaptureSessionId getParentSessionId();
20043    method public int getTaskId();
20044    method @Nullable public android.os.IBinder getWindowToken();
20045    field public static final int FLAG_DISABLED_BY_APP = 1; // 0x1
20046    field public static final int FLAG_DISABLED_BY_FLAG_SECURE = 2; // 0x2
20047    field public static final int FLAG_RECONNECTED = 4; // 0x4
20048  }
20049
20050  public final class ContentCaptureEvent implements android.os.Parcelable {
20051    method public int describeContents();
20052    method @Nullable public android.graphics.Rect getBounds();
20053    method @Nullable public android.view.contentcapture.ContentCaptureContext getContentCaptureContext();
20054    method public long getEventTime();
20055    method @Nullable public android.view.autofill.AutofillId getId();
20056    method @Nullable public java.util.List<android.view.autofill.AutofillId> getIds();
20057    method @Nullable public android.graphics.Insets getInsets();
20058    method @Nullable public CharSequence getText();
20059    method public int getType();
20060    method @Nullable public android.view.contentcapture.ViewNode getViewNode();
20061    method public void writeToParcel(android.os.Parcel, int);
20062    field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureEvent> CREATOR;
20063    field public static final int TYPE_CONTEXT_UPDATED = 6; // 0x6
20064    field public static final int TYPE_SESSION_PAUSED = 8; // 0x8
20065    field public static final int TYPE_SESSION_RESUMED = 7; // 0x7
20066    field public static final int TYPE_VIEW_APPEARED = 1; // 0x1
20067    field public static final int TYPE_VIEW_DISAPPEARED = 2; // 0x2
20068    field public static final int TYPE_VIEW_INSETS_CHANGED = 9; // 0x9
20069    field public static final int TYPE_VIEW_TEXT_CHANGED = 3; // 0x3
20070    field public static final int TYPE_VIEW_TREE_APPEARED = 5; // 0x5
20071    field public static final int TYPE_VIEW_TREE_APPEARING = 4; // 0x4
20072    field public static final int TYPE_WINDOW_BOUNDS_CHANGED = 10; // 0xa
20073  }
20074
20075  public final class ContentCaptureManager {
20076    method public boolean isContentCaptureFeatureEnabled();
20077    field public static final int NO_SESSION_ID = 0; // 0x0
20078  }
20079
20080  public final class ViewNode extends android.app.assist.AssistStructure.ViewNode {
20081    method @Nullable public android.view.autofill.AutofillId getParentAutofillId();
20082  }
20083
20084}
20085
20086package android.view.displayhash {
20087
20088  public final class DisplayHash implements android.os.Parcelable {
20089    ctor public DisplayHash(long, @NonNull android.graphics.Rect, @NonNull String, @NonNull byte[], @NonNull byte[]);
20090    method public int describeContents();
20091    method @NonNull public android.graphics.Rect getBoundsInWindow();
20092    method @NonNull public String getHashAlgorithm();
20093    method @NonNull public byte[] getHmac();
20094    method @NonNull public byte[] getImageHash();
20095    method public long getTimeMillis();
20096    method public void writeToParcel(@NonNull android.os.Parcel, int);
20097  }
20098
20099}
20100
20101package android.view.translation {
20102
20103  public final class TranslationCapability implements android.os.Parcelable {
20104    ctor public TranslationCapability(int, @NonNull android.view.translation.TranslationSpec, @NonNull android.view.translation.TranslationSpec, boolean, int);
20105  }
20106
20107  public final class TranslationContext implements android.os.Parcelable {
20108    method @Nullable public android.app.assist.ActivityId getActivityId();
20109  }
20110
20111  public final class UiTranslationManager {
20112    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void finishTranslation(@NonNull android.app.assist.ActivityId);
20113    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void pauseTranslation(@NonNull android.app.assist.ActivityId);
20114    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void resumeTranslation(@NonNull android.app.assist.ActivityId);
20115    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);
20116  }
20117
20118  public final class UiTranslationSpec implements android.os.Parcelable {
20119    method public int describeContents();
20120    method public boolean shouldPadContentForCompat();
20121    method public void writeToParcel(@NonNull android.os.Parcel, int);
20122    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.UiTranslationSpec> CREATOR;
20123  }
20124
20125  public static final class UiTranslationSpec.Builder {
20126    ctor public UiTranslationSpec.Builder();
20127    method @NonNull public android.view.translation.UiTranslationSpec build();
20128    method @NonNull public android.view.translation.UiTranslationSpec.Builder setShouldPadContentForCompat(boolean);
20129  }
20130
20131}
20132
20133package android.webkit {
20134
20135  public abstract class CookieManager {
20136    method protected abstract boolean allowFileSchemeCookiesImpl();
20137    method public abstract String getCookie(String, boolean);
20138    method public String getCookie(android.net.WebAddress);
20139    method public abstract boolean hasCookies(boolean);
20140    method protected abstract void setAcceptFileSchemeCookiesImpl(boolean);
20141  }
20142
20143  public class FindActionModeCallback implements android.view.ActionMode.Callback android.text.TextWatcher android.view.View.OnClickListener android.webkit.WebView.FindListener {
20144    ctor public FindActionModeCallback(android.content.Context);
20145    method public void afterTextChanged(android.text.Editable);
20146    method public void beforeTextChanged(CharSequence, int, int, int);
20147    method public void findAll();
20148    method public void finish();
20149    method public int getActionModeGlobalBottom();
20150    method public boolean onActionItemClicked(android.view.ActionMode, android.view.MenuItem);
20151    method public void onClick(android.view.View);
20152    method public boolean onCreateActionMode(android.view.ActionMode, android.view.Menu);
20153    method public void onDestroyActionMode(android.view.ActionMode);
20154    method public void onFindResultReceived(int, int, boolean);
20155    method public boolean onPrepareActionMode(android.view.ActionMode, android.view.Menu);
20156    method public void onTextChanged(CharSequence, int, int, int);
20157    method public void setText(String);
20158    method public void setWebView(@NonNull android.webkit.WebView);
20159    method public void showSoftInput();
20160    method public void updateMatchCount(int, int, boolean);
20161  }
20162
20163  public static class FindActionModeCallback.NoAction implements android.view.ActionMode.Callback {
20164    ctor public FindActionModeCallback.NoAction();
20165    method public boolean onActionItemClicked(android.view.ActionMode, android.view.MenuItem);
20166    method public boolean onCreateActionMode(android.view.ActionMode, android.view.Menu);
20167    method public void onDestroyActionMode(android.view.ActionMode);
20168    method public boolean onPrepareActionMode(android.view.ActionMode, android.view.Menu);
20169  }
20170
20171  public class GeolocationPermissions {
20172    ctor public GeolocationPermissions();
20173  }
20174
20175  public class HttpAuthHandler extends android.os.Handler {
20176    ctor public HttpAuthHandler();
20177  }
20178
20179  public class JsDialogHelper {
20180    ctor public JsDialogHelper(android.webkit.JsPromptResult, int, String, String, String);
20181    ctor public JsDialogHelper(android.webkit.JsPromptResult, android.os.Message);
20182    method public boolean invokeCallback(android.webkit.WebChromeClient, android.webkit.WebView);
20183    method public void showDialog(android.content.Context);
20184    field public static final int ALERT = 1; // 0x1
20185    field public static final int CONFIRM = 2; // 0x2
20186    field public static final int PROMPT = 3; // 0x3
20187    field public static final int UNLOAD = 4; // 0x4
20188  }
20189
20190  public class JsPromptResult extends android.webkit.JsResult {
20191    ctor public JsPromptResult(android.webkit.JsResult.ResultReceiver);
20192    method public String getStringResult();
20193  }
20194
20195  public class JsResult {
20196    ctor public JsResult(android.webkit.JsResult.ResultReceiver);
20197    method public final boolean getResult();
20198  }
20199
20200  public static interface JsResult.ResultReceiver {
20201    method public void onJsResultComplete(android.webkit.JsResult);
20202  }
20203
20204  public interface PacProcessor {
20205    method @NonNull public static android.webkit.PacProcessor createInstance();
20206    method @Nullable public String findProxyForUrl(@NonNull String);
20207    method @NonNull public static android.webkit.PacProcessor getInstance();
20208    method @Nullable public default android.net.Network getNetwork();
20209    method public default void release();
20210    method public default void setNetwork(@Nullable android.net.Network);
20211    method public boolean setProxyScript(@NonNull String);
20212  }
20213
20214  public class SslErrorHandler extends android.os.Handler {
20215    ctor public SslErrorHandler();
20216  }
20217
20218  @Deprecated public abstract class TokenBindingService {
20219    ctor @Deprecated public TokenBindingService();
20220  }
20221
20222  public class WebChromeClient {
20223    method @Deprecated public void openFileChooser(android.webkit.ValueCallback<android.net.Uri>, String, String);
20224  }
20225
20226  public abstract class WebHistoryItem implements java.lang.Cloneable {
20227    method @Deprecated public abstract int getId();
20228  }
20229
20230  @Deprecated public abstract class WebIconDatabase {
20231    method @Deprecated public abstract void bulkRequestIconForPageUrl(android.content.ContentResolver, String, android.webkit.WebIconDatabase.IconListener);
20232  }
20233
20234  public abstract class WebMessagePort {
20235    ctor public WebMessagePort();
20236  }
20237
20238  public abstract class WebResourceError {
20239    ctor public WebResourceError();
20240  }
20241
20242  public class WebResourceResponse {
20243    ctor public WebResourceResponse(boolean, String, String, int, String, java.util.Map<java.lang.String,java.lang.String>, java.io.InputStream);
20244  }
20245
20246  public abstract class WebSettings {
20247    method public abstract boolean getAcceptThirdPartyCookies();
20248    method @Deprecated public abstract boolean getNavDump();
20249    method @Deprecated public abstract boolean getPluginsEnabled();
20250    method @Deprecated public abstract boolean getUseWebViewBackgroundForOverscrollBackground();
20251    method @Deprecated public abstract int getUserAgent();
20252    method public abstract boolean getVideoOverlayForEmbeddedEncryptedVideoEnabled();
20253    method public abstract void setAcceptThirdPartyCookies(boolean);
20254    method @Deprecated public abstract void setNavDump(boolean);
20255    method @Deprecated public abstract void setPluginsEnabled(boolean);
20256    method @Deprecated public abstract void setUseWebViewBackgroundForOverscrollBackground(boolean);
20257    method @Deprecated public abstract void setUserAgent(int);
20258    method public abstract void setVideoOverlayForEmbeddedEncryptedVideoEnabled(boolean);
20259    field public static final long ENABLE_SIMPLIFIED_DARK_MODE = 214741472L; // 0xcccb1e0L
20260  }
20261
20262  public class WebStorage {
20263    ctor public WebStorage();
20264  }
20265
20266  public static class WebStorage.Origin {
20267    ctor protected WebStorage.Origin(String, long, long);
20268  }
20269
20270  public class WebView extends android.widget.AbsoluteLayout implements android.view.ViewGroup.OnHierarchyChangeListener android.view.ViewTreeObserver.OnGlobalFocusChangeListener {
20271    method public android.webkit.WebViewProvider getWebViewProvider();
20272  }
20273
20274  public static class WebView.HitTestResult {
20275    ctor public WebView.HitTestResult();
20276    method public void setExtra(String);
20277    method public void setType(int);
20278  }
20279
20280  public class WebView.PrivateAccess {
20281    ctor public WebView.PrivateAccess();
20282    method public void awakenScrollBars(int);
20283    method public void awakenScrollBars(int, boolean);
20284    method public float getHorizontalScrollFactor();
20285    method public int getHorizontalScrollbarHeight();
20286    method public float getVerticalScrollFactor();
20287    method public void onScrollChanged(int, int, int, int);
20288    method public void overScrollBy(int, int, int, int, int, int, int, int, boolean);
20289    method public void setMeasuredDimension(int, int);
20290    method public void setScrollXRaw(int);
20291    method public void setScrollYRaw(int);
20292    method public void super_computeScroll();
20293    method public boolean super_dispatchKeyEvent(android.view.KeyEvent);
20294    method public int super_getScrollBarStyle();
20295    method @Nullable public android.view.WindowInsets super_onApplyWindowInsets(@Nullable android.view.WindowInsets);
20296    method public void super_onDrawVerticalScrollBar(android.graphics.Canvas, android.graphics.drawable.Drawable, int, int, int, int);
20297    method public boolean super_onGenericMotionEvent(android.view.MotionEvent);
20298    method public boolean super_onHoverEvent(android.view.MotionEvent);
20299    method public boolean super_performAccessibilityAction(int, android.os.Bundle);
20300    method public boolean super_performLongClick();
20301    method public boolean super_requestFocus(int, android.graphics.Rect);
20302    method public void super_scrollTo(int, int);
20303    method public boolean super_setFrame(int, int, int, int);
20304    method public void super_setLayoutParams(android.view.ViewGroup.LayoutParams);
20305    method public void super_startActivityForResult(android.content.Intent, int);
20306  }
20307
20308  public final class WebViewDelegate {
20309    method public void addWebViewAssetPath(android.content.Context);
20310    method @Deprecated public void callDrawGlFunction(android.graphics.Canvas, long);
20311    method @Deprecated public void callDrawGlFunction(@NonNull android.graphics.Canvas, long, @Nullable Runnable);
20312    method @Deprecated public boolean canInvokeDrawGlFunctor(android.view.View);
20313    method @Deprecated public void detachDrawGlFunctor(android.view.View, long);
20314    method public void drawWebViewFunctor(@NonNull android.graphics.Canvas, int);
20315    method public android.app.Application getApplication();
20316    method public String getDataDirectorySuffix();
20317    method public String getErrorString(android.content.Context, int);
20318    method public int getPackageId(android.content.res.Resources, String);
20319    method @NonNull public android.webkit.WebViewFactory.StartupTimestamps getStartupTimestamps();
20320    method @Deprecated public void invokeDrawGlFunctor(android.view.View, long, boolean);
20321    method public boolean isMultiProcessEnabled();
20322    method public boolean isTraceTagEnabled();
20323    method public void setOnTraceEnabledChangeListener(android.webkit.WebViewDelegate.OnTraceEnabledChangeListener);
20324  }
20325
20326  public static interface WebViewDelegate.OnTraceEnabledChangeListener {
20327    method public void onTraceEnabledChange(boolean);
20328  }
20329
20330  public final class WebViewFactory {
20331    ctor public WebViewFactory();
20332    method public static android.content.pm.PackageInfo getLoadedPackageInfo();
20333    method public static int loadWebViewNativeLibraryFromPackage(String, ClassLoader);
20334    method public static void prepareWebViewInZygote();
20335    field public static final int LIBLOAD_ADDRESS_SPACE_NOT_RESERVED = 2; // 0x2
20336    field public static final int LIBLOAD_FAILED_JNI_CALL = 7; // 0x7
20337    field public static final int LIBLOAD_FAILED_LISTING_WEBVIEW_PACKAGES = 4; // 0x4
20338    field public static final int LIBLOAD_FAILED_TO_FIND_NAMESPACE = 10; // 0xa
20339    field public static final int LIBLOAD_FAILED_TO_LOAD_LIBRARY = 6; // 0x6
20340    field public static final int LIBLOAD_FAILED_TO_OPEN_RELRO_FILE = 5; // 0x5
20341    field public static final int LIBLOAD_FAILED_WAITING_FOR_RELRO = 3; // 0x3
20342    field public static final int LIBLOAD_FAILED_WAITING_FOR_WEBVIEW_REASON_UNKNOWN = 8; // 0x8
20343    field public static final int LIBLOAD_SUCCESS = 0; // 0x0
20344    field public static final int LIBLOAD_WRONG_PACKAGE_NAME = 1; // 0x1
20345  }
20346
20347  public static class WebViewFactory.StartupTimestamps {
20348    method public long getAddAssetsEnd();
20349    method public long getAddAssetsStart();
20350    method public long getCreateContextEnd();
20351    method public long getCreateContextStart();
20352    method public long getGetClassLoaderEnd();
20353    method public long getGetClassLoaderStart();
20354    method public long getNativeLoadEnd();
20355    method public long getNativeLoadStart();
20356    method public long getProviderClassForNameEnd();
20357    method public long getProviderClassForNameStart();
20358    method public long getWebViewLoadStart();
20359  }
20360
20361  public interface WebViewFactoryProvider {
20362    method @NonNull public default android.webkit.PacProcessor createPacProcessor();
20363    method public android.webkit.WebViewProvider createWebView(android.webkit.WebView, android.webkit.WebView.PrivateAccess);
20364    method public android.webkit.CookieManager getCookieManager();
20365    method public android.webkit.GeolocationPermissions getGeolocationPermissions();
20366    method @NonNull public default android.webkit.PacProcessor getPacProcessor();
20367    method public android.webkit.ServiceWorkerController getServiceWorkerController();
20368    method public android.webkit.WebViewFactoryProvider.Statics getStatics();
20369    method @Deprecated public android.webkit.TokenBindingService getTokenBindingService();
20370    method public android.webkit.TracingController getTracingController();
20371    method public android.webkit.WebIconDatabase getWebIconDatabase();
20372    method public android.webkit.WebStorage getWebStorage();
20373    method public ClassLoader getWebViewClassLoader();
20374    method public android.webkit.WebViewDatabase getWebViewDatabase(android.content.Context);
20375  }
20376
20377  public static interface WebViewFactoryProvider.Statics {
20378    method public void clearClientCertPreferences(Runnable);
20379    method public void enableSlowWholeDocumentDraw();
20380    method public String findAddress(String);
20381    method public void freeMemoryForTests();
20382    method public String getDefaultUserAgent(android.content.Context);
20383    method @NonNull public android.net.Uri getSafeBrowsingPrivacyPolicyUrl();
20384    method public void initSafeBrowsing(android.content.Context, android.webkit.ValueCallback<java.lang.Boolean>);
20385    method public android.net.Uri[] parseFileChooserResult(int, android.content.Intent);
20386    method public void setSafeBrowsingWhitelist(java.util.List<java.lang.String>, android.webkit.ValueCallback<java.lang.Boolean>);
20387    method public void setWebContentsDebuggingEnabled(boolean);
20388  }
20389
20390  public interface WebViewProvider {
20391    method public void addJavascriptInterface(Object, String);
20392    method public boolean canGoBack();
20393    method public boolean canGoBackOrForward(int);
20394    method public boolean canGoForward();
20395    method public boolean canZoomIn();
20396    method public boolean canZoomOut();
20397    method public android.graphics.Picture capturePicture();
20398    method public void clearCache(boolean);
20399    method public void clearFormData();
20400    method public void clearHistory();
20401    method public void clearMatches();
20402    method public void clearSslPreferences();
20403    method public void clearView();
20404    method public android.webkit.WebBackForwardList copyBackForwardList();
20405    method public android.print.PrintDocumentAdapter createPrintDocumentAdapter(String);
20406    method public android.webkit.WebMessagePort[] createWebMessageChannel();
20407    method public void destroy();
20408    method public void documentHasImages(android.os.Message);
20409    method public void dumpViewHierarchyWithProperties(java.io.BufferedWriter, int);
20410    method public void evaluateJavaScript(String, android.webkit.ValueCallback<java.lang.String>);
20411    method public int findAll(String);
20412    method public void findAllAsync(String);
20413    method public android.view.View findHierarchyView(String, int);
20414    method public void findNext(boolean);
20415    method public void flingScroll(int, int);
20416    method public void freeMemory();
20417    method public android.net.http.SslCertificate getCertificate();
20418    method public int getContentHeight();
20419    method public int getContentWidth();
20420    method public android.graphics.Bitmap getFavicon();
20421    method public android.webkit.WebView.HitTestResult getHitTestResult();
20422    method public String[] getHttpAuthUsernamePassword(String, String);
20423    method public String getOriginalUrl();
20424    method public int getProgress();
20425    method public boolean getRendererPriorityWaivedWhenNotVisible();
20426    method public int getRendererRequestedPriority();
20427    method public float getScale();
20428    method public android.webkit.WebViewProvider.ScrollDelegate getScrollDelegate();
20429    method public android.webkit.WebSettings getSettings();
20430    method @NonNull public default android.view.textclassifier.TextClassifier getTextClassifier();
20431    method public String getTitle();
20432    method public String getTouchIconUrl();
20433    method public String getUrl();
20434    method public android.webkit.WebViewProvider.ViewDelegate getViewDelegate();
20435    method public int getVisibleTitleHeight();
20436    method public android.webkit.WebChromeClient getWebChromeClient();
20437    method public android.webkit.WebViewClient getWebViewClient();
20438    method @Nullable public android.webkit.WebViewRenderProcess getWebViewRenderProcess();
20439    method @Nullable public android.webkit.WebViewRenderProcessClient getWebViewRenderProcessClient();
20440    method public android.view.View getZoomControls();
20441    method public void goBack();
20442    method public void goBackOrForward(int);
20443    method public void goForward();
20444    method public void init(java.util.Map<java.lang.String,java.lang.Object>, boolean);
20445    method public void insertVisualStateCallback(long, android.webkit.WebView.VisualStateCallback);
20446    method public void invokeZoomPicker();
20447    method public boolean isPaused();
20448    method public boolean isPrivateBrowsingEnabled();
20449    method public void loadData(String, String, String);
20450    method public void loadDataWithBaseURL(String, String, String, String, String);
20451    method public void loadUrl(String, java.util.Map<java.lang.String,java.lang.String>);
20452    method public void loadUrl(String);
20453    method public void notifyFindDialogDismissed();
20454    method public void onPause();
20455    method public void onResume();
20456    method public boolean overlayHorizontalScrollbar();
20457    method public boolean overlayVerticalScrollbar();
20458    method public boolean pageDown(boolean);
20459    method public boolean pageUp(boolean);
20460    method public void pauseTimers();
20461    method public void postMessageToMainFrame(android.webkit.WebMessage, android.net.Uri);
20462    method public void postUrl(String, byte[]);
20463    method public void reload();
20464    method public void removeJavascriptInterface(String);
20465    method public void requestFocusNodeHref(android.os.Message);
20466    method public void requestImageRef(android.os.Message);
20467    method public boolean restorePicture(android.os.Bundle, java.io.File);
20468    method public android.webkit.WebBackForwardList restoreState(android.os.Bundle);
20469    method public void resumeTimers();
20470    method public void savePassword(String, String, String);
20471    method public boolean savePicture(android.os.Bundle, java.io.File);
20472    method public android.webkit.WebBackForwardList saveState(android.os.Bundle);
20473    method public void saveWebArchive(String);
20474    method public void saveWebArchive(String, boolean, android.webkit.ValueCallback<java.lang.String>);
20475    method public void setCertificate(android.net.http.SslCertificate);
20476    method public void setDownloadListener(android.webkit.DownloadListener);
20477    method public void setFindListener(android.webkit.WebView.FindListener);
20478    method public void setHorizontalScrollbarOverlay(boolean);
20479    method public void setHttpAuthUsernamePassword(String, String, String, String);
20480    method public void setInitialScale(int);
20481    method public void setMapTrackballToArrowKeys(boolean);
20482    method public void setNetworkAvailable(boolean);
20483    method public void setPictureListener(android.webkit.WebView.PictureListener);
20484    method public void setRendererPriorityPolicy(int, boolean);
20485    method public default void setTextClassifier(@Nullable android.view.textclassifier.TextClassifier);
20486    method public void setVerticalScrollbarOverlay(boolean);
20487    method public void setWebChromeClient(android.webkit.WebChromeClient);
20488    method public void setWebViewClient(android.webkit.WebViewClient);
20489    method public void setWebViewRenderProcessClient(@Nullable java.util.concurrent.Executor, @Nullable android.webkit.WebViewRenderProcessClient);
20490    method public boolean showFindDialog(String, boolean);
20491    method public void stopLoading();
20492    method public boolean zoomBy(float);
20493    method public boolean zoomIn();
20494    method public boolean zoomOut();
20495  }
20496
20497  public static interface WebViewProvider.ScrollDelegate {
20498    method public int computeHorizontalScrollOffset();
20499    method public int computeHorizontalScrollRange();
20500    method public void computeScroll();
20501    method public int computeVerticalScrollExtent();
20502    method public int computeVerticalScrollOffset();
20503    method public int computeVerticalScrollRange();
20504  }
20505
20506  public static interface WebViewProvider.ViewDelegate {
20507    method public default void autofill(android.util.SparseArray<android.view.autofill.AutofillValue>);
20508    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>);
20509    method public boolean dispatchKeyEvent(android.view.KeyEvent);
20510    method public android.view.View findFocus(android.view.View);
20511    method public android.view.accessibility.AccessibilityNodeProvider getAccessibilityNodeProvider();
20512    method public android.os.Handler getHandler(android.os.Handler);
20513    method public default boolean isVisibleToUserForAutofill(int);
20514    method public void onActivityResult(int, int, android.content.Intent);
20515    method @Nullable public default android.view.WindowInsets onApplyWindowInsets(@Nullable android.view.WindowInsets);
20516    method public void onAttachedToWindow();
20517    method public default boolean onCheckIsTextEditor();
20518    method public void onConfigurationChanged(android.content.res.Configuration);
20519    method public android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo);
20520    method public default void onCreateVirtualViewTranslationRequests(@NonNull long[], @NonNull int[], @NonNull java.util.function.Consumer<android.view.translation.ViewTranslationRequest>);
20521    method public void onDetachedFromWindow();
20522    method public boolean onDragEvent(android.view.DragEvent);
20523    method public void onDraw(android.graphics.Canvas);
20524    method public void onDrawVerticalScrollBar(android.graphics.Canvas, android.graphics.drawable.Drawable, int, int, int, int);
20525    method public void onFinishTemporaryDetach();
20526    method public void onFocusChanged(boolean, int, android.graphics.Rect);
20527    method public boolean onGenericMotionEvent(android.view.MotionEvent);
20528    method public boolean onHoverEvent(android.view.MotionEvent);
20529    method public void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
20530    method public void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo);
20531    method public boolean onKeyDown(int, android.view.KeyEvent);
20532    method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
20533    method public boolean onKeyUp(int, android.view.KeyEvent);
20534    method public void onMeasure(int, int);
20535    method public default void onMovedToDisplay(int, android.content.res.Configuration);
20536    method public void onOverScrolled(int, int, boolean, boolean);
20537    method public default void onProvideAutofillVirtualStructure(android.view.ViewStructure, int);
20538    method public default void onProvideContentCaptureStructure(@NonNull android.view.ViewStructure, int);
20539    method public void onProvideVirtualStructure(android.view.ViewStructure);
20540    method public void onScrollChanged(int, int, int, int);
20541    method public void onSizeChanged(int, int, int, int);
20542    method public void onStartTemporaryDetach();
20543    method public boolean onTouchEvent(android.view.MotionEvent);
20544    method public boolean onTrackballEvent(android.view.MotionEvent);
20545    method public default void onVirtualViewTranslationResponses(@NonNull android.util.LongSparseArray<android.view.translation.ViewTranslationResponse>);
20546    method public void onVisibilityChanged(android.view.View, int);
20547    method public void onWindowFocusChanged(boolean);
20548    method public void onWindowVisibilityChanged(int);
20549    method public boolean performAccessibilityAction(int, android.os.Bundle);
20550    method public boolean performLongClick();
20551    method public void preDispatchDraw(android.graphics.Canvas);
20552    method public boolean requestChildRectangleOnScreen(android.view.View, android.graphics.Rect, boolean);
20553    method public boolean requestFocus(int, android.graphics.Rect);
20554    method public void setBackgroundColor(int);
20555    method public boolean setFrame(int, int, int, int);
20556    method public void setLayerType(int, android.graphics.Paint);
20557    method public void setLayoutParams(android.view.ViewGroup.LayoutParams);
20558    method public void setOverScrollMode(int);
20559    method public void setScrollBarStyle(int);
20560    method public boolean shouldDelayChildPressedState();
20561  }
20562
20563  public final class WebViewProviderInfo implements android.os.Parcelable {
20564    ctor public WebViewProviderInfo(String, String, boolean, boolean, String[]);
20565    method public int describeContents();
20566    method public void writeToParcel(android.os.Parcel, int);
20567    field @NonNull public static final android.os.Parcelable.Creator<android.webkit.WebViewProviderInfo> CREATOR;
20568    field public final boolean availableByDefault;
20569    field public final String description;
20570    field public final boolean isFallback;
20571    field public final String packageName;
20572    field public final android.content.pm.Signature[] signatures;
20573  }
20574
20575  public final class WebViewUpdateService {
20576    method public static android.webkit.WebViewProviderInfo[] getAllWebViewPackages();
20577    method public static String getCurrentWebViewPackageName();
20578    method public static android.webkit.WebViewProviderInfo[] getValidWebViewPackages();
20579  }
20580
20581}
20582
20583package android.window {
20584
20585  public abstract class TaskFpsCallback {
20586    ctor public TaskFpsCallback();
20587    method public abstract void onFpsReported(float);
20588  }
20589
20590}
20591
20592