xref: /aosp_15_r20/prebuilts/sdk/32/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_LIGHT_STATS = "android.permission.ACCESS_AMBIENT_LIGHT_STATS";
6    field public static final String ACCESS_BROADCAST_RADIO = "android.permission.ACCESS_BROADCAST_RADIO";
7    field public static final String ACCESS_CACHE_FILESYSTEM = "android.permission.ACCESS_CACHE_FILESYSTEM";
8    field public static final String ACCESS_CONTEXT_HUB = "android.permission.ACCESS_CONTEXT_HUB";
9    field public static final String ACCESS_DRM_CERTIFICATES = "android.permission.ACCESS_DRM_CERTIFICATES";
10    field @Deprecated public static final String ACCESS_FM_RADIO = "android.permission.ACCESS_FM_RADIO";
11    field public static final String ACCESS_INSTANT_APPS = "android.permission.ACCESS_INSTANT_APPS";
12    field public static final String ACCESS_LOCUS_ID_USAGE_STATS = "android.permission.ACCESS_LOCUS_ID_USAGE_STATS";
13    field public static final String ACCESS_MOCK_LOCATION = "android.permission.ACCESS_MOCK_LOCATION";
14    field public static final String ACCESS_MTP = "android.permission.ACCESS_MTP";
15    field public static final String ACCESS_NETWORK_CONDITIONS = "android.permission.ACCESS_NETWORK_CONDITIONS";
16    field public static final String ACCESS_NOTIFICATIONS = "android.permission.ACCESS_NOTIFICATIONS";
17    field public static final String ACCESS_RCS_USER_CAPABILITY_EXCHANGE = "android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE";
18    field public static final String ACCESS_SHARED_LIBRARIES = "android.permission.ACCESS_SHARED_LIBRARIES";
19    field public static final String ACCESS_SHORTCUTS = "android.permission.ACCESS_SHORTCUTS";
20    field public static final String ACCESS_SURFACE_FLINGER = "android.permission.ACCESS_SURFACE_FLINGER";
21    field public static final String ACCESS_TUNED_INFO = "android.permission.ACCESS_TUNED_INFO";
22    field public static final String ACCESS_TV_DESCRAMBLER = "android.permission.ACCESS_TV_DESCRAMBLER";
23    field public static final String ACCESS_TV_TUNER = "android.permission.ACCESS_TV_TUNER";
24    field public static final String ACCESS_VIBRATOR_STATE = "android.permission.ACCESS_VIBRATOR_STATE";
25    field public static final String ACTIVITY_EMBEDDING = "android.permission.ACTIVITY_EMBEDDING";
26    field public static final String ADJUST_RUNTIME_PERMISSIONS_POLICY = "android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY";
27    field public static final String ALLOCATE_AGGRESSIVE = "android.permission.ALLOCATE_AGGRESSIVE";
28    field public static final String ALLOW_ANY_CODEC_FOR_PLAYBACK = "android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK";
29    field public static final String ALLOW_PLACE_IN_MULTI_PANE_SETTINGS = "android.permission.ALLOW_PLACE_IN_MULTI_PANE_SETTINGS";
30    field public static final String AMBIENT_WALLPAPER = "android.permission.AMBIENT_WALLPAPER";
31    field public static final String APPROVE_INCIDENT_REPORTS = "android.permission.APPROVE_INCIDENT_REPORTS";
32    field public static final String ASSOCIATE_COMPANION_DEVICES = "android.permission.ASSOCIATE_COMPANION_DEVICES";
33    field public static final String BACKGROUND_CAMERA = "android.permission.BACKGROUND_CAMERA";
34    field public static final String BACKUP = "android.permission.BACKUP";
35    field public static final String BATTERY_PREDICTION = "android.permission.BATTERY_PREDICTION";
36    field public static final String BIND_ATTENTION_SERVICE = "android.permission.BIND_ATTENTION_SERVICE";
37    field public static final String BIND_AUGMENTED_AUTOFILL_SERVICE = "android.permission.BIND_AUGMENTED_AUTOFILL_SERVICE";
38    field public static final String BIND_CALL_DIAGNOSTIC_SERVICE = "android.permission.BIND_CALL_DIAGNOSTIC_SERVICE";
39    field public static final String BIND_CELL_BROADCAST_SERVICE = "android.permission.BIND_CELL_BROADCAST_SERVICE";
40    field @Deprecated public static final String BIND_CONNECTION_SERVICE = "android.permission.BIND_CONNECTION_SERVICE";
41    field public static final String BIND_CONTENT_CAPTURE_SERVICE = "android.permission.BIND_CONTENT_CAPTURE_SERVICE";
42    field public static final String BIND_CONTENT_SUGGESTIONS_SERVICE = "android.permission.BIND_CONTENT_SUGGESTIONS_SERVICE";
43    field public static final String BIND_DIRECTORY_SEARCH = "android.permission.BIND_DIRECTORY_SEARCH";
44    field public static final String BIND_DISPLAY_HASHING_SERVICE = "android.permission.BIND_DISPLAY_HASHING_SERVICE";
45    field public static final String BIND_DOMAIN_VERIFICATION_AGENT = "android.permission.BIND_DOMAIN_VERIFICATION_AGENT";
46    field public static final String BIND_EUICC_SERVICE = "android.permission.BIND_EUICC_SERVICE";
47    field public static final String BIND_EXTERNAL_STORAGE_SERVICE = "android.permission.BIND_EXTERNAL_STORAGE_SERVICE";
48    field public static final String BIND_GBA_SERVICE = "android.permission.BIND_GBA_SERVICE";
49    field public static final String BIND_HOTWORD_DETECTION_SERVICE = "android.permission.BIND_HOTWORD_DETECTION_SERVICE";
50    field public static final String BIND_IMS_SERVICE = "android.permission.BIND_IMS_SERVICE";
51    field public static final String BIND_KEYGUARD_APPWIDGET = "android.permission.BIND_KEYGUARD_APPWIDGET";
52    field public static final String BIND_MUSIC_RECOGNITION_SERVICE = "android.permission.BIND_MUSIC_RECOGNITION_SERVICE";
53    field public static final String BIND_NETWORK_RECOMMENDATION_SERVICE = "android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE";
54    field public static final String BIND_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.BIND_NOTIFICATION_ASSISTANT_SERVICE";
55    field public static final String BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE = "android.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE";
56    field public static final String BIND_PRINT_RECOMMENDATION_SERVICE = "android.permission.BIND_PRINT_RECOMMENDATION_SERVICE";
57    field public static final String BIND_RESOLVER_RANKER_SERVICE = "android.permission.BIND_RESOLVER_RANKER_SERVICE";
58    field public static final String BIND_RESUME_ON_REBOOT_SERVICE = "android.permission.BIND_RESUME_ON_REBOOT_SERVICE";
59    field public static final String BIND_ROTATION_RESOLVER_SERVICE = "android.permission.BIND_ROTATION_RESOLVER_SERVICE";
60    field public static final String BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE = "android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE";
61    field public static final String BIND_SETTINGS_SUGGESTIONS_SERVICE = "android.permission.BIND_SETTINGS_SUGGESTIONS_SERVICE";
62    field public static final String BIND_SOUND_TRIGGER_DETECTION_SERVICE = "android.permission.BIND_SOUND_TRIGGER_DETECTION_SERVICE";
63    field public static final String BIND_TELEPHONY_DATA_SERVICE = "android.permission.BIND_TELEPHONY_DATA_SERVICE";
64    field public static final String BIND_TELEPHONY_NETWORK_SERVICE = "android.permission.BIND_TELEPHONY_NETWORK_SERVICE";
65    field public static final String BIND_TEXTCLASSIFIER_SERVICE = "android.permission.BIND_TEXTCLASSIFIER_SERVICE";
66    field public static final String BIND_TIME_ZONE_PROVIDER_SERVICE = "android.permission.BIND_TIME_ZONE_PROVIDER_SERVICE";
67    field public static final String BIND_TRANSLATION_SERVICE = "android.permission.BIND_TRANSLATION_SERVICE";
68    field public static final String BIND_TRUST_AGENT = "android.permission.BIND_TRUST_AGENT";
69    field public static final String BIND_TV_REMOTE_SERVICE = "android.permission.BIND_TV_REMOTE_SERVICE";
70    field public static final String BRICK = "android.permission.BRICK";
71    field public static final String BRIGHTNESS_SLIDER_USAGE = "android.permission.BRIGHTNESS_SLIDER_USAGE";
72    field public static final String BROADCAST_CLOSE_SYSTEM_DIALOGS = "android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS";
73    field @Deprecated public static final String BROADCAST_NETWORK_PRIVILEGED = "android.permission.BROADCAST_NETWORK_PRIVILEGED";
74    field public static final String BYPASS_ROLE_QUALIFICATION = "android.permission.BYPASS_ROLE_QUALIFICATION";
75    field public static final String CAMERA_DISABLE_TRANSMIT_LED = "android.permission.CAMERA_DISABLE_TRANSMIT_LED";
76    field public static final String CAMERA_OPEN_CLOSE_LISTENER = "android.permission.CAMERA_OPEN_CLOSE_LISTENER";
77    field public static final String CAPTURE_AUDIO_HOTWORD = "android.permission.CAPTURE_AUDIO_HOTWORD";
78    field public static final String CAPTURE_MEDIA_OUTPUT = "android.permission.CAPTURE_MEDIA_OUTPUT";
79    field public static final String CAPTURE_TUNER_AUDIO_INPUT = "android.permission.CAPTURE_TUNER_AUDIO_INPUT";
80    field public static final String CAPTURE_TV_INPUT = "android.permission.CAPTURE_TV_INPUT";
81    field public static final String CAPTURE_VOICE_COMMUNICATION_OUTPUT = "android.permission.CAPTURE_VOICE_COMMUNICATION_OUTPUT";
82    field public static final String CHANGE_APP_IDLE_STATE = "android.permission.CHANGE_APP_IDLE_STATE";
83    field public static final String CHANGE_DEVICE_IDLE_TEMP_WHITELIST = "android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST";
84    field public static final String CLEAR_APP_USER_DATA = "android.permission.CLEAR_APP_USER_DATA";
85    field public static final String COMPANION_APPROVE_WIFI_CONNECTIONS = "android.permission.COMPANION_APPROVE_WIFI_CONNECTIONS";
86    field public static final String CONFIGURE_DISPLAY_BRIGHTNESS = "android.permission.CONFIGURE_DISPLAY_BRIGHTNESS";
87    field public static final String CONFIGURE_WIFI_DISPLAY = "android.permission.CONFIGURE_WIFI_DISPLAY";
88    field @Deprecated public static final String CONNECTIVITY_INTERNAL = "android.permission.CONNECTIVITY_INTERNAL";
89    field public static final String CONNECTIVITY_USE_RESTRICTED_NETWORKS = "android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS";
90    field public static final String CONTROL_DEVICE_LIGHTS = "android.permission.CONTROL_DEVICE_LIGHTS";
91    field public static final String CONTROL_DISPLAY_COLOR_TRANSFORMS = "android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS";
92    field public static final String CONTROL_DISPLAY_SATURATION = "android.permission.CONTROL_DISPLAY_SATURATION";
93    field public static final String CONTROL_INCALL_EXPERIENCE = "android.permission.CONTROL_INCALL_EXPERIENCE";
94    field public static final String CONTROL_KEYGUARD_SECURE_NOTIFICATIONS = "android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS";
95    field public static final String CONTROL_OEM_PAID_NETWORK_PREFERENCE = "android.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE";
96    field public static final String CONTROL_VPN = "android.permission.CONTROL_VPN";
97    field public static final String CREATE_USERS = "android.permission.CREATE_USERS";
98    field public static final String CRYPT_KEEPER = "android.permission.CRYPT_KEEPER";
99    field public static final String DEVICE_POWER = "android.permission.DEVICE_POWER";
100    field public static final String DISABLE_SYSTEM_SOUND_EFFECTS = "android.permission.DISABLE_SYSTEM_SOUND_EFFECTS";
101    field public static final String DISPATCH_PROVISIONING_MESSAGE = "android.permission.DISPATCH_PROVISIONING_MESSAGE";
102    field public static final String DOMAIN_VERIFICATION_AGENT = "android.permission.DOMAIN_VERIFICATION_AGENT";
103    field public static final String ENTER_CAR_MODE_PRIORITIZED = "android.permission.ENTER_CAR_MODE_PRIORITIZED";
104    field public static final String EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS = "android.permission.EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS";
105    field public static final String FORCE_BACK = "android.permission.FORCE_BACK";
106    field public static final String FORCE_STOP_PACKAGES = "android.permission.FORCE_STOP_PACKAGES";
107    field public static final String GET_APP_OPS_STATS = "android.permission.GET_APP_OPS_STATS";
108    field public static final String GET_PROCESS_STATE_AND_OOM_SCORE = "android.permission.GET_PROCESS_STATE_AND_OOM_SCORE";
109    field public static final String GET_RUNTIME_PERMISSIONS = "android.permission.GET_RUNTIME_PERMISSIONS";
110    field public static final String GET_TOP_ACTIVITY_INFO = "android.permission.GET_TOP_ACTIVITY_INFO";
111    field @Deprecated public static final String GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS = "android.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS";
112    field public static final String GRANT_RUNTIME_PERMISSIONS = "android.permission.GRANT_RUNTIME_PERMISSIONS";
113    field public static final String GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS = "android.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS";
114    field public static final String HANDLE_CAR_MODE_CHANGES = "android.permission.HANDLE_CAR_MODE_CHANGES";
115    field public static final String HARDWARE_TEST = "android.permission.HARDWARE_TEST";
116    field public static final String HDMI_CEC = "android.permission.HDMI_CEC";
117    field @Deprecated public static final String HIDE_NON_SYSTEM_OVERLAY_WINDOWS = "android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS";
118    field public static final String INJECT_EVENTS = "android.permission.INJECT_EVENTS";
119    field public static final String INSTALL_DYNAMIC_SYSTEM = "android.permission.INSTALL_DYNAMIC_SYSTEM";
120    field public static final String INSTALL_GRANT_RUNTIME_PERMISSIONS = "android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS";
121    field public static final String INSTALL_LOCATION_TIME_ZONE_PROVIDER_SERVICE = "android.permission.INSTALL_LOCATION_TIME_ZONE_PROVIDER_SERVICE";
122    field public static final String INSTALL_PACKAGE_UPDATES = "android.permission.INSTALL_PACKAGE_UPDATES";
123    field public static final String INSTALL_SELF_UPDATES = "android.permission.INSTALL_SELF_UPDATES";
124    field public static final String INTENT_FILTER_VERIFICATION_AGENT = "android.permission.INTENT_FILTER_VERIFICATION_AGENT";
125    field public static final String INTERACT_ACROSS_USERS = "android.permission.INTERACT_ACROSS_USERS";
126    field public static final String INTERACT_ACROSS_USERS_FULL = "android.permission.INTERACT_ACROSS_USERS_FULL";
127    field public static final String INTERNAL_SYSTEM_WINDOW = "android.permission.INTERNAL_SYSTEM_WINDOW";
128    field public static final String INVOKE_CARRIER_SETUP = "android.permission.INVOKE_CARRIER_SETUP";
129    field public static final String KILL_UID = "android.permission.KILL_UID";
130    field public static final String LOCAL_MAC_ADDRESS = "android.permission.LOCAL_MAC_ADDRESS";
131    field public static final String LOCK_DEVICE = "android.permission.LOCK_DEVICE";
132    field public static final String LOOP_RADIO = "android.permission.LOOP_RADIO";
133    field public static final String MANAGE_ACCESSIBILITY = "android.permission.MANAGE_ACCESSIBILITY";
134    field @Deprecated public static final String MANAGE_ACTIVITY_STACKS = "android.permission.MANAGE_ACTIVITY_STACKS";
135    field public static final String MANAGE_ACTIVITY_TASKS = "android.permission.MANAGE_ACTIVITY_TASKS";
136    field public static final String MANAGE_APP_HIBERNATION = "android.permission.MANAGE_APP_HIBERNATION";
137    field public static final String MANAGE_APP_OPS_RESTRICTIONS = "android.permission.MANAGE_APP_OPS_RESTRICTIONS";
138    field public static final String MANAGE_APP_PREDICTIONS = "android.permission.MANAGE_APP_PREDICTIONS";
139    field public static final String MANAGE_APP_TOKENS = "android.permission.MANAGE_APP_TOKENS";
140    field public static final String MANAGE_AUTO_FILL = "android.permission.MANAGE_AUTO_FILL";
141    field public static final String MANAGE_CARRIER_OEM_UNLOCK_STATE = "android.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE";
142    field public static final String MANAGE_CA_CERTIFICATES = "android.permission.MANAGE_CA_CERTIFICATES";
143    field public static final String MANAGE_CONTENT_CAPTURE = "android.permission.MANAGE_CONTENT_CAPTURE";
144    field public static final String MANAGE_CONTENT_SUGGESTIONS = "android.permission.MANAGE_CONTENT_SUGGESTIONS";
145    field public static final String MANAGE_DEBUGGING = "android.permission.MANAGE_DEBUGGING";
146    field public static final String MANAGE_FACTORY_RESET_PROTECTION = "android.permission.MANAGE_FACTORY_RESET_PROTECTION";
147    field public static final String MANAGE_HOTWORD_DETECTION = "android.permission.MANAGE_HOTWORD_DETECTION";
148    field public static final String MANAGE_IPSEC_TUNNELS = "android.permission.MANAGE_IPSEC_TUNNELS";
149    field public static final String MANAGE_MUSIC_RECOGNITION = "android.permission.MANAGE_MUSIC_RECOGNITION";
150    field public static final String MANAGE_NOTIFICATION_LISTENERS = "android.permission.MANAGE_NOTIFICATION_LISTENERS";
151    field public static final String MANAGE_ONE_TIME_PERMISSION_SESSIONS = "android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS";
152    field public static final String MANAGE_ROLE_HOLDERS = "android.permission.MANAGE_ROLE_HOLDERS";
153    field public static final String MANAGE_ROLLBACKS = "android.permission.MANAGE_ROLLBACKS";
154    field public static final String MANAGE_ROTATION_RESOLVER = "android.permission.MANAGE_ROTATION_RESOLVER";
155    field public static final String MANAGE_SEARCH_UI = "android.permission.MANAGE_SEARCH_UI";
156    field public static final String MANAGE_SENSOR_PRIVACY = "android.permission.MANAGE_SENSOR_PRIVACY";
157    field public static final String MANAGE_SMARTSPACE = "android.permission.MANAGE_SMARTSPACE";
158    field public static final String MANAGE_SOUND_TRIGGER = "android.permission.MANAGE_SOUND_TRIGGER";
159    field public static final String MANAGE_SPEECH_RECOGNITION = "android.permission.MANAGE_SPEECH_RECOGNITION";
160    field public static final String MANAGE_SUBSCRIPTION_PLANS = "android.permission.MANAGE_SUBSCRIPTION_PLANS";
161    field public static final String MANAGE_TEST_NETWORKS = "android.permission.MANAGE_TEST_NETWORKS";
162    field public static final String MANAGE_TIME_AND_ZONE_DETECTION = "android.permission.MANAGE_TIME_AND_ZONE_DETECTION";
163    field public static final String MANAGE_UI_TRANSLATION = "android.permission.MANAGE_UI_TRANSLATION";
164    field public static final String MANAGE_USB = "android.permission.MANAGE_USB";
165    field public static final String MANAGE_USERS = "android.permission.MANAGE_USERS";
166    field public static final String MANAGE_USER_OEM_UNLOCK_STATE = "android.permission.MANAGE_USER_OEM_UNLOCK_STATE";
167    field public static final String MANAGE_WIFI_COUNTRY_CODE = "android.permission.MANAGE_WIFI_COUNTRY_CODE";
168    field public static final String MODIFY_APPWIDGET_BIND_PERMISSIONS = "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS";
169    field public static final String MODIFY_AUDIO_ROUTING = "android.permission.MODIFY_AUDIO_ROUTING";
170    field public static final String MODIFY_CELL_BROADCASTS = "android.permission.MODIFY_CELL_BROADCASTS";
171    field public static final String MODIFY_DAY_NIGHT_MODE = "android.permission.MODIFY_DAY_NIGHT_MODE";
172    field @Deprecated public static final String MODIFY_NETWORK_ACCOUNTING = "android.permission.MODIFY_NETWORK_ACCOUNTING";
173    field public static final String MODIFY_PARENTAL_CONTROLS = "android.permission.MODIFY_PARENTAL_CONTROLS";
174    field public static final String MODIFY_QUIET_MODE = "android.permission.MODIFY_QUIET_MODE";
175    field public static final String MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE = "android.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE";
176    field public static final String MOVE_PACKAGE = "android.permission.MOVE_PACKAGE";
177    field public static final String NETWORK_AIRPLANE_MODE = "android.permission.NETWORK_AIRPLANE_MODE";
178    field public static final String NETWORK_CARRIER_PROVISIONING = "android.permission.NETWORK_CARRIER_PROVISIONING";
179    field public static final String NETWORK_FACTORY = "android.permission.NETWORK_FACTORY";
180    field public static final String NETWORK_MANAGED_PROVISIONING = "android.permission.NETWORK_MANAGED_PROVISIONING";
181    field public static final String NETWORK_SCAN = "android.permission.NETWORK_SCAN";
182    field public static final String NETWORK_SETTINGS = "android.permission.NETWORK_SETTINGS";
183    field public static final String NETWORK_SETUP_WIZARD = "android.permission.NETWORK_SETUP_WIZARD";
184    field public static final String NETWORK_SIGNAL_STRENGTH_WAKEUP = "android.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP";
185    field public static final String NETWORK_STACK = "android.permission.NETWORK_STACK";
186    field public static final String NETWORK_STATS_PROVIDER = "android.permission.NETWORK_STATS_PROVIDER";
187    field public static final String NFC_SET_CONTROLLER_ALWAYS_ON = "android.permission.NFC_SET_CONTROLLER_ALWAYS_ON";
188    field public static final String NOTIFICATION_DURING_SETUP = "android.permission.NOTIFICATION_DURING_SETUP";
189    field public static final String NOTIFY_TV_INPUTS = "android.permission.NOTIFY_TV_INPUTS";
190    field public static final String OBSERVE_APP_USAGE = "android.permission.OBSERVE_APP_USAGE";
191    field public static final String OBSERVE_NETWORK_POLICY = "android.permission.OBSERVE_NETWORK_POLICY";
192    field public static final String OBSERVE_ROLE_HOLDERS = "android.permission.OBSERVE_ROLE_HOLDERS";
193    field public static final String OBSERVE_SENSOR_PRIVACY = "android.permission.OBSERVE_SENSOR_PRIVACY";
194    field public static final String OPEN_ACCESSIBILITY_DETAILS_SETTINGS = "android.permission.OPEN_ACCESSIBILITY_DETAILS_SETTINGS";
195    field public static final String OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD = "android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD";
196    field public static final String OVERRIDE_WIFI_CONFIG = "android.permission.OVERRIDE_WIFI_CONFIG";
197    field public static final String PACKAGE_VERIFICATION_AGENT = "android.permission.PACKAGE_VERIFICATION_AGENT";
198    field public static final String PACKET_KEEPALIVE_OFFLOAD = "android.permission.PACKET_KEEPALIVE_OFFLOAD";
199    field public static final String PEERS_MAC_ADDRESS = "android.permission.PEERS_MAC_ADDRESS";
200    field public static final String PERFORM_CDMA_PROVISIONING = "android.permission.PERFORM_CDMA_PROVISIONING";
201    field public static final String PERFORM_IMS_SINGLE_REGISTRATION = "android.permission.PERFORM_IMS_SINGLE_REGISTRATION";
202    field public static final String PERFORM_SIM_ACTIVATION = "android.permission.PERFORM_SIM_ACTIVATION";
203    field public static final String POWER_SAVER = "android.permission.POWER_SAVER";
204    field public static final String PROVIDE_RESOLVER_RANKER_SERVICE = "android.permission.PROVIDE_RESOLVER_RANKER_SERVICE";
205    field public static final String PROVIDE_TRUST_AGENT = "android.permission.PROVIDE_TRUST_AGENT";
206    field public static final String QUERY_TIME_ZONE_RULES = "android.permission.QUERY_TIME_ZONE_RULES";
207    field public static final String RADIO_SCAN_WITHOUT_LOCATION = "android.permission.RADIO_SCAN_WITHOUT_LOCATION";
208    field public static final String READ_ACTIVE_EMERGENCY_SESSION = "android.permission.READ_ACTIVE_EMERGENCY_SESSION";
209    field public static final String READ_CARRIER_APP_INFO = "android.permission.READ_CARRIER_APP_INFO";
210    field public static final String READ_CELL_BROADCASTS = "android.permission.READ_CELL_BROADCASTS";
211    field public static final String READ_CONTENT_RATING_SYSTEMS = "android.permission.READ_CONTENT_RATING_SYSTEMS";
212    field public static final String READ_DEVICE_CONFIG = "android.permission.READ_DEVICE_CONFIG";
213    field public static final String READ_DREAM_STATE = "android.permission.READ_DREAM_STATE";
214    field public static final String READ_GLOBAL_APP_SEARCH_DATA = "android.permission.READ_GLOBAL_APP_SEARCH_DATA";
215    field public static final String READ_INSTALL_SESSIONS = "android.permission.READ_INSTALL_SESSIONS";
216    field public static final String READ_NETWORK_USAGE_HISTORY = "android.permission.READ_NETWORK_USAGE_HISTORY";
217    field public static final String READ_OEM_UNLOCK_STATE = "android.permission.READ_OEM_UNLOCK_STATE";
218    field public static final String READ_PEOPLE_DATA = "android.permission.READ_PEOPLE_DATA";
219    field public static final String READ_PRINT_SERVICES = "android.permission.READ_PRINT_SERVICES";
220    field public static final String READ_PRINT_SERVICE_RECOMMENDATIONS = "android.permission.READ_PRINT_SERVICE_RECOMMENDATIONS";
221    field public static final String READ_PRIVILEGED_PHONE_STATE = "android.permission.READ_PRIVILEGED_PHONE_STATE";
222    field public static final String READ_PROJECTION_STATE = "android.permission.READ_PROJECTION_STATE";
223    field public static final String READ_RUNTIME_PROFILES = "android.permission.READ_RUNTIME_PROFILES";
224    field public static final String READ_SEARCH_INDEXABLES = "android.permission.READ_SEARCH_INDEXABLES";
225    field public static final String READ_SYSTEM_UPDATE_INFO = "android.permission.READ_SYSTEM_UPDATE_INFO";
226    field public static final String READ_WALLPAPER_INTERNAL = "android.permission.READ_WALLPAPER_INTERNAL";
227    field public static final String READ_WIFI_CREDENTIAL = "android.permission.READ_WIFI_CREDENTIAL";
228    field public static final String REAL_GET_TASKS = "android.permission.REAL_GET_TASKS";
229    field public static final String RECEIVE_DATA_ACTIVITY_CHANGE = "android.permission.RECEIVE_DATA_ACTIVITY_CHANGE";
230    field public static final String RECEIVE_DEVICE_CUSTOMIZATION_READY = "android.permission.RECEIVE_DEVICE_CUSTOMIZATION_READY";
231    field public static final String RECEIVE_EMERGENCY_BROADCAST = "android.permission.RECEIVE_EMERGENCY_BROADCAST";
232    field public static final String RECEIVE_WIFI_CREDENTIAL_CHANGE = "android.permission.RECEIVE_WIFI_CREDENTIAL_CHANGE";
233    field public static final String RECORD_BACKGROUND_AUDIO = "android.permission.RECORD_BACKGROUND_AUDIO";
234    field public static final String RECOVERY = "android.permission.RECOVERY";
235    field public static final String RECOVER_KEYSTORE = "android.permission.RECOVER_KEYSTORE";
236    field public static final String REGISTER_CALL_PROVIDER = "android.permission.REGISTER_CALL_PROVIDER";
237    field public static final String REGISTER_CONNECTION_MANAGER = "android.permission.REGISTER_CONNECTION_MANAGER";
238    field public static final String REGISTER_SIM_SUBSCRIPTION = "android.permission.REGISTER_SIM_SUBSCRIPTION";
239    field public static final String REGISTER_STATS_PULL_ATOM = "android.permission.REGISTER_STATS_PULL_ATOM";
240    field public static final String REMOTE_DISPLAY_PROVIDER = "android.permission.REMOTE_DISPLAY_PROVIDER";
241    field public static final String REMOVE_DRM_CERTIFICATES = "android.permission.REMOVE_DRM_CERTIFICATES";
242    field public static final String REMOVE_TASKS = "android.permission.REMOVE_TASKS";
243    field public static final String RENOUNCE_PERMISSIONS = "android.permission.RENOUNCE_PERMISSIONS";
244    field public static final String REQUEST_NETWORK_SCORES = "android.permission.REQUEST_NETWORK_SCORES";
245    field public static final String REQUEST_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE";
246    field public static final String RESET_PASSWORD = "android.permission.RESET_PASSWORD";
247    field public static final String RESTART_WIFI_SUBSYSTEM = "android.permission.RESTART_WIFI_SUBSYSTEM";
248    field public static final String RESTORE_RUNTIME_PERMISSIONS = "android.permission.RESTORE_RUNTIME_PERMISSIONS";
249    field public static final String RESTRICTED_VR_ACCESS = "android.permission.RESTRICTED_VR_ACCESS";
250    field public static final String RETRIEVE_WINDOW_CONTENT = "android.permission.RETRIEVE_WINDOW_CONTENT";
251    field public static final String REVIEW_ACCESSIBILITY_SERVICES = "android.permission.REVIEW_ACCESSIBILITY_SERVICES";
252    field public static final String REVOKE_RUNTIME_PERMISSIONS = "android.permission.REVOKE_RUNTIME_PERMISSIONS";
253    field public static final String ROTATE_SURFACE_FLINGER = "android.permission.ROTATE_SURFACE_FLINGER";
254    field public static final String SCHEDULE_PRIORITIZED_ALARM = "android.permission.SCHEDULE_PRIORITIZED_ALARM";
255    field public static final String SCORE_NETWORKS = "android.permission.SCORE_NETWORKS";
256    field public static final String SECURE_ELEMENT_PRIVILEGED_OPERATION = "android.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION";
257    field public static final String SEND_CATEGORY_CAR_NOTIFICATIONS = "android.permission.SEND_CATEGORY_CAR_NOTIFICATIONS";
258    field public static final String SEND_DEVICE_CUSTOMIZATION_READY = "android.permission.SEND_DEVICE_CUSTOMIZATION_READY";
259    field public static final String SEND_SHOW_SUSPENDED_APP_DETAILS = "android.permission.SEND_SHOW_SUSPENDED_APP_DETAILS";
260    field public static final String SEND_SMS_NO_CONFIRMATION = "android.permission.SEND_SMS_NO_CONFIRMATION";
261    field public static final String SERIAL_PORT = "android.permission.SERIAL_PORT";
262    field public static final String SET_ACTIVITY_WATCHER = "android.permission.SET_ACTIVITY_WATCHER";
263    field public static final String SET_CLIP_SOURCE = "android.permission.SET_CLIP_SOURCE";
264    field public static final String SET_HARMFUL_APP_WARNINGS = "android.permission.SET_HARMFUL_APP_WARNINGS";
265    field public static final String SET_MEDIA_KEY_LISTENER = "android.permission.SET_MEDIA_KEY_LISTENER";
266    field public static final String SET_ORIENTATION = "android.permission.SET_ORIENTATION";
267    field public static final String SET_POINTER_SPEED = "android.permission.SET_POINTER_SPEED";
268    field public static final String SET_SCREEN_COMPATIBILITY = "android.permission.SET_SCREEN_COMPATIBILITY";
269    field public static final String SET_VOLUME_KEY_LONG_PRESS_LISTENER = "android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER";
270    field public static final String SET_WALLPAPER_COMPONENT = "android.permission.SET_WALLPAPER_COMPONENT";
271    field public static final String SHOW_KEYGUARD_MESSAGE = "android.permission.SHOW_KEYGUARD_MESSAGE";
272    field public static final String SHUTDOWN = "android.permission.SHUTDOWN";
273    field public static final String SIGNAL_REBOOT_READINESS = "android.permission.SIGNAL_REBOOT_READINESS";
274    field public static final String SOUND_TRIGGER_RUN_IN_BATTERY_SAVER = "android.permission.SOUND_TRIGGER_RUN_IN_BATTERY_SAVER";
275    field public static final String START_ACTIVITIES_FROM_BACKGROUND = "android.permission.START_ACTIVITIES_FROM_BACKGROUND";
276    field public static final String STATUS_BAR_SERVICE = "android.permission.STATUS_BAR_SERVICE";
277    field public static final String STOP_APP_SWITCHES = "android.permission.STOP_APP_SWITCHES";
278    field public static final String SUBSTITUTE_NOTIFICATION_APP_NAME = "android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME";
279    field public static final String SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON = "android.permission.SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON";
280    field public static final String SUGGEST_EXTERNAL_TIME = "android.permission.SUGGEST_EXTERNAL_TIME";
281    field public static final String SUSPEND_APPS = "android.permission.SUSPEND_APPS";
282    field public static final String SYSTEM_APPLICATION_OVERLAY = "android.permission.SYSTEM_APPLICATION_OVERLAY";
283    field public static final String SYSTEM_CAMERA = "android.permission.SYSTEM_CAMERA";
284    field public static final String TETHER_PRIVILEGED = "android.permission.TETHER_PRIVILEGED";
285    field public static final String TOGGLE_AUTOMOTIVE_PROJECTION = "android.permission.TOGGLE_AUTOMOTIVE_PROJECTION";
286    field public static final String TV_INPUT_HARDWARE = "android.permission.TV_INPUT_HARDWARE";
287    field public static final String TV_VIRTUAL_REMOTE_CONTROLLER = "android.permission.TV_VIRTUAL_REMOTE_CONTROLLER";
288    field public static final String UNLIMITED_SHORTCUTS_API_CALLS = "android.permission.UNLIMITED_SHORTCUTS_API_CALLS";
289    field public static final String UPDATE_APP_OPS_STATS = "android.permission.UPDATE_APP_OPS_STATS";
290    field public static final String UPDATE_DOMAIN_VERIFICATION_USER_SELECTION = "android.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION";
291    field public static final String UPDATE_FONTS = "android.permission.UPDATE_FONTS";
292    field public static final String UPDATE_LOCK = "android.permission.UPDATE_LOCK";
293    field public static final String UPDATE_TIME_ZONE_RULES = "android.permission.UPDATE_TIME_ZONE_RULES";
294    field public static final String UPGRADE_RUNTIME_PERMISSIONS = "android.permission.UPGRADE_RUNTIME_PERMISSIONS";
295    field public static final String USER_ACTIVITY = "android.permission.USER_ACTIVITY";
296    field public static final String USE_RESERVED_DISK = "android.permission.USE_RESERVED_DISK";
297    field public static final String UWB_PRIVILEGED = "android.permission.UWB_PRIVILEGED";
298    field public static final String WHITELIST_AUTO_REVOKE_PERMISSIONS = "android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS";
299    field public static final String WHITELIST_RESTRICTED_PERMISSIONS = "android.permission.WHITELIST_RESTRICTED_PERMISSIONS";
300    field public static final String WIFI_ACCESS_COEX_UNSAFE_CHANNELS = "android.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS";
301    field public static final String WIFI_SET_DEVICE_MOBILITY_STATE = "android.permission.WIFI_SET_DEVICE_MOBILITY_STATE";
302    field public static final String WIFI_UPDATE_COEX_UNSAFE_CHANNELS = "android.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS";
303    field public static final String WIFI_UPDATE_USABILITY_STATS_SCORE = "android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE";
304    field public static final String WRITE_DEVICE_CONFIG = "android.permission.WRITE_DEVICE_CONFIG";
305    field public static final String WRITE_DREAM_STATE = "android.permission.WRITE_DREAM_STATE";
306    field public static final String WRITE_EMBEDDED_SUBSCRIPTIONS = "android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS";
307    field @Deprecated public static final String WRITE_MEDIA_STORAGE = "android.permission.WRITE_MEDIA_STORAGE";
308    field public static final String WRITE_OBB = "android.permission.WRITE_OBB";
309  }
310
311  public static final class Manifest.permission_group {
312    field public static final String UNDEFINED = "android.permission-group.UNDEFINED";
313  }
314
315  public static final class R.array {
316    field public static final int config_keySystemUuidMapping = 17235973; // 0x1070005
317  }
318
319  public static final class R.attr {
320    field public static final int allowClearUserDataOnFailedRestore = 16844288; // 0x1010600
321    field public static final int hotwordDetectionService = 16844326; // 0x1010626
322    field public static final int isVrOnly = 16844152; // 0x1010578
323    field public static final int minExtensionVersion = 16844305; // 0x1010611
324    field public static final int playHomeTransitionSound = 16844358; // 0x1010646
325    field public static final int requiredSystemPropertyName = 16844133; // 0x1010565
326    field public static final int requiredSystemPropertyValue = 16844134; // 0x1010566
327    field public static final int sdkVersion = 16844304; // 0x1010610
328    field public static final int supportsAmbientMode = 16844173; // 0x101058d
329    field public static final int userRestriction = 16844164; // 0x1010584
330  }
331
332  public static final class R.bool {
333    field public static final int config_sendPackageName = 17891328; // 0x1110000
334    field public static final int config_showDefaultAssistant = 17891329; // 0x1110001
335    field public static final int config_showDefaultEmergency = 17891330; // 0x1110002
336    field public static final int config_showDefaultHome = 17891331; // 0x1110003
337  }
338
339  public static final class R.color {
340    field public static final int system_notification_accent_color = 17170460; // 0x106001c
341  }
342
343  public static final class R.dimen {
344    field public static final int config_restrictedIconSize = 17104903; // 0x1050007
345  }
346
347  public static final class R.drawable {
348    field public static final int ic_info = 17301684; // 0x10800b4
349  }
350
351  public static final class R.raw {
352    field public static final int loaderror = 17825792; // 0x1100000
353    field public static final int nodomain = 17825793; // 0x1100001
354  }
355
356  public static final class R.string {
357    field public static final int config_customMediaKeyDispatcher = 17039404; // 0x104002c
358    field public static final int config_customMediaSessionPolicyProvider = 17039405; // 0x104002d
359    field public static final int config_defaultAssistant = 17039393; // 0x1040021
360    field public static final int config_defaultBrowser = 17039394; // 0x1040022
361    field public static final int config_defaultCallRedirection = 17039397; // 0x1040025
362    field public static final int config_defaultCallScreening = 17039398; // 0x1040026
363    field public static final int config_defaultDialer = 17039395; // 0x1040023
364    field public static final int config_defaultSms = 17039396; // 0x1040024
365    field public static final int config_feedbackIntentExtraKey = 17039391; // 0x104001f
366    field public static final int config_feedbackIntentNameKey = 17039392; // 0x1040020
367    field public static final int config_helpIntentExtraKey = 17039389; // 0x104001d
368    field public static final int config_helpIntentNameKey = 17039390; // 0x104001e
369    field public static final int config_helpPackageNameKey = 17039387; // 0x104001b
370    field public static final int config_helpPackageNameValue = 17039388; // 0x104001c
371    field public static final int config_systemActivityRecognizer = 17039416; // 0x1040038
372    field public static final int config_systemAmbientAudioIntelligence = 17039411; // 0x1040033
373    field public static final int config_systemAudioIntelligence = 17039412; // 0x1040034
374    field public static final int config_systemAutomotiveCluster = 17039400; // 0x1040028
375    field public static final int config_systemAutomotiveProjection = 17039401; // 0x1040029
376    field public static final int config_systemCompanionDeviceProvider = 17039417; // 0x1040039
377    field public static final int config_systemContacts = 17039403; // 0x104002b
378    field public static final int config_systemGallery = 17039399; // 0x1040027
379    field public static final int config_systemNotificationIntelligence = 17039413; // 0x1040035
380    field public static final int config_systemShell = 17039402; // 0x104002a
381    field public static final int config_systemSpeechRecognizer = 17039406; // 0x104002e
382    field public static final int config_systemTelevisionNotificationHandler = 17039409; // 0x1040031
383    field public static final int config_systemTextIntelligence = 17039414; // 0x1040036
384    field public static final int config_systemUi = 17039418; // 0x104003a
385    field public static final int config_systemUiIntelligence = 17039410; // 0x1040032
386    field public static final int config_systemVisualIntelligence = 17039415; // 0x1040037
387    field public static final int config_systemWellbeing = 17039408; // 0x1040030
388    field public static final int config_systemWifiCoexManager = 17039407; // 0x104002f
389  }
390
391  public static final class R.style {
392    field public static final int Theme_DeviceDefault_DocumentsUI = 16974562; // 0x10302e2
393    field public static final int Theme_Leanback_FormWizard = 16974544; // 0x10302d0
394  }
395
396}
397
398package android.accounts {
399
400  public class AccountManager {
401    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);
402  }
403
404}
405
406package android.app {
407
408  @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 {
409    method public void convertFromTranslucent();
410    method public boolean convertToTranslucent(android.app.Activity.TranslucentConversionListener, android.app.ActivityOptions);
411    method @Deprecated public boolean isBackgroundVisibleBehind();
412    method @Deprecated public void onBackgroundVisibleBehindChanged(boolean);
413  }
414
415  public static interface Activity.TranslucentConversionListener {
416    method public void onTranslucentConversionComplete(boolean);
417  }
418
419  public class ActivityManager {
420    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void addOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener, int);
421    method @RequiresPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) public void forceStopPackage(String);
422    method @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL"}) public static int getCurrentUser();
423    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getPackageImportance(String);
424    method @NonNull public java.util.Collection<java.util.Locale> getSupportedLocales();
425    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getUidImportance(int);
426    method @RequiresPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) public void killProcessesWhenImperceptible(@NonNull int[], @NonNull String);
427    method @RequiresPermission(android.Manifest.permission.KILL_UID) public void killUid(int, String);
428    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void removeOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener);
429    method public void setDeviceLocales(@NonNull android.os.LocaleList);
430    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public static void setPersistentVrThread(int);
431    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public boolean startProfile(@NonNull android.os.UserHandle);
432    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public boolean stopProfile(@NonNull android.os.UserHandle);
433    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean switchUser(@NonNull android.os.UserHandle);
434  }
435
436  public static interface ActivityManager.OnUidImportanceListener {
437    method public void onUidImportance(int, int);
438  }
439
440  public class ActivityOptions {
441    method public int getLaunchTaskId();
442    method @RequiresPermission("android.permission.START_TASKS_FROM_RECENTS") public void setLaunchTaskId(int);
443  }
444
445  public class AlarmManager {
446    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void set(int, long, long, long, android.app.PendingIntent, android.os.WorkSource);
447    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);
448    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);
449    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);
450  }
451
452  public class AppOpsManager {
453    method @Nullable @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public android.app.RuntimeAppOpAccessMessage collectRuntimeAppOpAccessMessage();
454    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>);
455    method public static String[] getOpStrs();
456    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...);
457    method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getPackagesForOps(@Nullable String[]);
458    method public static int opToDefaultMode(@NonNull String);
459    method @Nullable public static String opToPermission(@NonNull String);
460    method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setMode(@NonNull String, int, @Nullable String, int);
461    method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setUidMode(@NonNull String, int, int);
462    field public static final int HISTORY_FLAGS_ALL = 3; // 0x3
463    field public static final int HISTORY_FLAG_AGGREGATE = 1; // 0x1
464    field public static final int HISTORY_FLAG_DISCRETE = 2; // 0x2
465    field public static final String OPSTR_ACCEPT_HANDOVER = "android:accept_handover";
466    field public static final String OPSTR_ACCESS_ACCESSIBILITY = "android:access_accessibility";
467    field public static final String OPSTR_ACCESS_NOTIFICATIONS = "android:access_notifications";
468    field public static final String OPSTR_ACTIVATE_PLATFORM_VPN = "android:activate_platform_vpn";
469    field public static final String OPSTR_ACTIVATE_VPN = "android:activate_vpn";
470    field public static final String OPSTR_ASSIST_SCREENSHOT = "android:assist_screenshot";
471    field public static final String OPSTR_ASSIST_STRUCTURE = "android:assist_structure";
472    field public static final String OPSTR_AUDIO_ACCESSIBILITY_VOLUME = "android:audio_accessibility_volume";
473    field public static final String OPSTR_AUDIO_ALARM_VOLUME = "android:audio_alarm_volume";
474    field public static final String OPSTR_AUDIO_BLUETOOTH_VOLUME = "android:audio_bluetooth_volume";
475    field public static final String OPSTR_AUDIO_MASTER_VOLUME = "android:audio_master_volume";
476    field public static final String OPSTR_AUDIO_MEDIA_VOLUME = "android:audio_media_volume";
477    field public static final String OPSTR_AUDIO_NOTIFICATION_VOLUME = "android:audio_notification_volume";
478    field public static final String OPSTR_AUDIO_RING_VOLUME = "android:audio_ring_volume";
479    field public static final String OPSTR_AUDIO_VOICE_VOLUME = "android:audio_voice_volume";
480    field public static final String OPSTR_AUTO_REVOKE_MANAGED_BY_INSTALLER = "android:auto_revoke_managed_by_installer";
481    field public static final String OPSTR_AUTO_REVOKE_PERMISSIONS_IF_UNUSED = "android:auto_revoke_permissions_if_unused";
482    field public static final String OPSTR_BIND_ACCESSIBILITY_SERVICE = "android:bind_accessibility_service";
483    field public static final String OPSTR_CHANGE_WIFI_STATE = "android:change_wifi_state";
484    field public static final String OPSTR_GET_ACCOUNTS = "android:get_accounts";
485    field public static final String OPSTR_GPS = "android:gps";
486    field public static final String OPSTR_INSTANT_APP_START_FOREGROUND = "android:instant_app_start_foreground";
487    field public static final String OPSTR_INTERACT_ACROSS_PROFILES = "android:interact_across_profiles";
488    field public static final String OPSTR_LEGACY_STORAGE = "android:legacy_storage";
489    field public static final String OPSTR_LOADER_USAGE_STATS = "android:loader_usage_stats";
490    field public static final String OPSTR_MANAGE_EXTERNAL_STORAGE = "android:manage_external_storage";
491    field public static final String OPSTR_MANAGE_IPSEC_TUNNELS = "android:manage_ipsec_tunnels";
492    field public static final String OPSTR_MANAGE_ONGOING_CALLS = "android:manage_ongoing_calls";
493    field public static final String OPSTR_MUTE_MICROPHONE = "android:mute_microphone";
494    field public static final String OPSTR_NEIGHBORING_CELLS = "android:neighboring_cells";
495    field public static final String OPSTR_PHONE_CALL_CAMERA = "android:phone_call_camera";
496    field public static final String OPSTR_PHONE_CALL_MICROPHONE = "android:phone_call_microphone";
497    field public static final String OPSTR_PLAY_AUDIO = "android:play_audio";
498    field public static final String OPSTR_POST_NOTIFICATION = "android:post_notification";
499    field public static final String OPSTR_PROJECT_MEDIA = "android:project_media";
500    field public static final String OPSTR_READ_CLIPBOARD = "android:read_clipboard";
501    field public static final String OPSTR_READ_ICC_SMS = "android:read_icc_sms";
502    field public static final String OPSTR_READ_MEDIA_AUDIO = "android:read_media_audio";
503    field public static final String OPSTR_READ_MEDIA_IMAGES = "android:read_media_images";
504    field public static final String OPSTR_READ_MEDIA_VIDEO = "android:read_media_video";
505    field public static final String OPSTR_RECEIVE_EMERGENCY_BROADCAST = "android:receive_emergency_broadcast";
506    field public static final String OPSTR_REQUEST_DELETE_PACKAGES = "android:request_delete_packages";
507    field public static final String OPSTR_REQUEST_INSTALL_PACKAGES = "android:request_install_packages";
508    field public static final String OPSTR_RUN_ANY_IN_BACKGROUND = "android:run_any_in_background";
509    field public static final String OPSTR_RUN_IN_BACKGROUND = "android:run_in_background";
510    field public static final String OPSTR_START_FOREGROUND = "android:start_foreground";
511    field public static final String OPSTR_TAKE_AUDIO_FOCUS = "android:take_audio_focus";
512    field public static final String OPSTR_TAKE_MEDIA_BUTTONS = "android:take_media_buttons";
513    field public static final String OPSTR_TOAST_WINDOW = "android:toast_window";
514    field public static final String OPSTR_TURN_SCREEN_ON = "android:turn_screen_on";
515    field public static final String OPSTR_VIBRATE = "android:vibrate";
516    field public static final String OPSTR_WAKE_LOCK = "android:wake_lock";
517    field public static final String OPSTR_WIFI_SCAN = "android:wifi_scan";
518    field public static final String OPSTR_WRITE_CLIPBOARD = "android:write_clipboard";
519    field public static final String OPSTR_WRITE_ICC_SMS = "android:write_icc_sms";
520    field public static final String OPSTR_WRITE_MEDIA_AUDIO = "android:write_media_audio";
521    field public static final String OPSTR_WRITE_MEDIA_IMAGES = "android:write_media_images";
522    field public static final String OPSTR_WRITE_MEDIA_VIDEO = "android:write_media_video";
523    field public static final String OPSTR_WRITE_SMS = "android:write_sms";
524    field public static final String OPSTR_WRITE_WALLPAPER = "android:write_wallpaper";
525    field public static final int OP_FLAGS_ALL = 31; // 0x1f
526    field public static final int OP_FLAGS_ALL_TRUSTED = 13; // 0xd
527    field public static final int OP_FLAG_SELF = 1; // 0x1
528    field public static final int OP_FLAG_TRUSTED_PROXIED = 8; // 0x8
529    field public static final int OP_FLAG_TRUSTED_PROXY = 2; // 0x2
530    field public static final int OP_FLAG_UNTRUSTED_PROXIED = 16; // 0x10
531    field public static final int OP_FLAG_UNTRUSTED_PROXY = 4; // 0x4
532    field public static final int UID_STATE_BACKGROUND = 600; // 0x258
533    field public static final int UID_STATE_CACHED = 700; // 0x2bc
534    field public static final int UID_STATE_FOREGROUND = 500; // 0x1f4
535    field public static final int UID_STATE_FOREGROUND_SERVICE = 400; // 0x190
536    field @Deprecated public static final int UID_STATE_FOREGROUND_SERVICE_LOCATION = 300; // 0x12c
537    field public static final int UID_STATE_PERSISTENT = 100; // 0x64
538    field public static final int UID_STATE_TOP = 200; // 0xc8
539  }
540
541  public static final class AppOpsManager.AttributedHistoricalOps implements android.os.Parcelable {
542    method public int describeContents();
543    method @Nullable public android.app.AppOpsManager.HistoricalOp getOp(@NonNull String);
544    method @NonNull public android.app.AppOpsManager.HistoricalOp getOpAt(@IntRange(from=0) int);
545    method @IntRange(from=0) public int getOpCount();
546    method @Nullable public String getTag();
547    method public void writeToParcel(@NonNull android.os.Parcel, int);
548    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.AttributedHistoricalOps> CREATOR;
549  }
550
551  public static final class AppOpsManager.AttributedOpEntry implements android.os.Parcelable {
552    method public int describeContents();
553    method public long getLastAccessBackgroundTime(int);
554    method public long getLastAccessForegroundTime(int);
555    method public long getLastAccessTime(int);
556    method public long getLastAccessTime(int, int, int);
557    method public long getLastBackgroundDuration(int);
558    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastBackgroundProxyInfo(int);
559    method public long getLastDuration(int);
560    method public long getLastDuration(int, int, int);
561    method public long getLastForegroundDuration(int);
562    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastForegroundProxyInfo(int);
563    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int);
564    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int, int, int);
565    method public long getLastRejectBackgroundTime(int);
566    method public long getLastRejectForegroundTime(int);
567    method public long getLastRejectTime(int);
568    method public long getLastRejectTime(int, int, int);
569    method public boolean isRunning();
570    method public void writeToParcel(@NonNull android.os.Parcel, int);
571    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.AttributedOpEntry> CREATOR;
572  }
573
574  public static final class AppOpsManager.HistoricalOp implements android.os.Parcelable {
575    method public int describeContents();
576    method public long getAccessCount(int, int, int);
577    method public long getAccessDuration(int, int, int);
578    method public long getBackgroundAccessCount(int);
579    method public long getBackgroundAccessDuration(int);
580    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getBackgroundDiscreteAccesses(int);
581    method public long getBackgroundRejectCount(int);
582    method @NonNull public android.app.AppOpsManager.AttributedOpEntry getDiscreteAccessAt(@IntRange(from=0) int);
583    method @IntRange(from=0) public int getDiscreteAccessCount();
584    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getDiscreteAccesses(int, int, int);
585    method public long getForegroundAccessCount(int);
586    method public long getForegroundAccessDuration(int);
587    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getForegroundDiscreteAccesses(int);
588    method public long getForegroundRejectCount(int);
589    method @NonNull public String getOpName();
590    method public long getRejectCount(int, int, int);
591    method public void writeToParcel(android.os.Parcel, int);
592    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOp> CREATOR;
593  }
594
595  public static final class AppOpsManager.HistoricalOps implements android.os.Parcelable {
596    method public int describeContents();
597    method public long getBeginTimeMillis();
598    method public long getEndTimeMillis();
599    method @IntRange(from=0) public int getUidCount();
600    method @Nullable public android.app.AppOpsManager.HistoricalUidOps getUidOps(int);
601    method @NonNull public android.app.AppOpsManager.HistoricalUidOps getUidOpsAt(@IntRange(from=0) int);
602    method public void writeToParcel(android.os.Parcel, int);
603    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOps> CREATOR;
604  }
605
606  public static final class AppOpsManager.HistoricalOpsRequest {
607  }
608
609  public static final class AppOpsManager.HistoricalOpsRequest.Builder {
610    ctor public AppOpsManager.HistoricalOpsRequest.Builder(long, long);
611    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest build();
612    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setAttributionTag(@Nullable String);
613    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setFlags(int);
614    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setHistoryFlags(int);
615    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setOpNames(@Nullable java.util.List<java.lang.String>);
616    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setPackageName(@Nullable String);
617    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setUid(int);
618  }
619
620  public static final class AppOpsManager.HistoricalPackageOps implements android.os.Parcelable {
621    method public int describeContents();
622    method @Nullable public android.app.AppOpsManager.AttributedHistoricalOps getAttributedOps(@Nullable String);
623    method @NonNull public android.app.AppOpsManager.AttributedHistoricalOps getAttributedOpsAt(@IntRange(from=0) int);
624    method @IntRange(from=0) public int getAttributedOpsCount();
625    method @Nullable public android.app.AppOpsManager.HistoricalOp getOp(@NonNull String);
626    method @NonNull public android.app.AppOpsManager.HistoricalOp getOpAt(@IntRange(from=0) int);
627    method @IntRange(from=0) public int getOpCount();
628    method @NonNull public String getPackageName();
629    method public void writeToParcel(@NonNull android.os.Parcel, int);
630    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalPackageOps> CREATOR;
631  }
632
633  public static final class AppOpsManager.HistoricalUidOps implements android.os.Parcelable {
634    method public int describeContents();
635    method @IntRange(from=0) public int getPackageCount();
636    method @Nullable public android.app.AppOpsManager.HistoricalPackageOps getPackageOps(@NonNull String);
637    method @NonNull public android.app.AppOpsManager.HistoricalPackageOps getPackageOpsAt(@IntRange(from=0) int);
638    method public int getUid();
639    method public void writeToParcel(android.os.Parcel, int);
640    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalUidOps> CREATOR;
641  }
642
643  public static final class AppOpsManager.OpEntry implements android.os.Parcelable {
644    method public int describeContents();
645    method @NonNull public java.util.Map<java.lang.String,android.app.AppOpsManager.AttributedOpEntry> getAttributedOpEntries();
646    method @Deprecated public long getDuration();
647    method public long getLastAccessBackgroundTime(int);
648    method public long getLastAccessForegroundTime(int);
649    method public long getLastAccessTime(int);
650    method public long getLastAccessTime(int, int, int);
651    method public long getLastBackgroundDuration(int);
652    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastBackgroundProxyInfo(int);
653    method public long getLastDuration(int);
654    method public long getLastDuration(int, int, int);
655    method public long getLastForegroundDuration(int);
656    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastForegroundProxyInfo(int);
657    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int);
658    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int, int, int);
659    method public long getLastRejectBackgroundTime(int);
660    method public long getLastRejectForegroundTime(int);
661    method public long getLastRejectTime(int);
662    method public long getLastRejectTime(int, int, int);
663    method public int getMode();
664    method @NonNull public String getOpStr();
665    method @Deprecated @Nullable public String getProxyPackageName();
666    method @Deprecated @Nullable public String getProxyPackageName(int, int);
667    method @Deprecated public int getProxyUid();
668    method @Deprecated public int getProxyUid(int, int);
669    method public boolean isRunning();
670    method public void writeToParcel(android.os.Parcel, int);
671    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEntry> CREATOR;
672  }
673
674  public static final class AppOpsManager.OpEventProxyInfo implements android.os.Parcelable {
675    method public int describeContents();
676    method @Nullable public String getAttributionTag();
677    method @Nullable public String getPackageName();
678    method @IntRange(from=0) public int getUid();
679    method public void writeToParcel(@NonNull android.os.Parcel, int);
680    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEventProxyInfo> CREATOR;
681  }
682
683  public static final class AppOpsManager.PackageOps implements android.os.Parcelable {
684    method public int describeContents();
685    method @NonNull public java.util.List<android.app.AppOpsManager.OpEntry> getOps();
686    method @NonNull public String getPackageName();
687    method public int getUid();
688    method public void writeToParcel(@NonNull android.os.Parcel, int);
689    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.PackageOps> CREATOR;
690  }
691
692  public class BroadcastOptions {
693    method public static android.app.BroadcastOptions makeBasic();
694    method @RequiresPermission(android.Manifest.permission.START_ACTIVITIES_FROM_BACKGROUND) public void setBackgroundActivityStartsAllowed(boolean);
695    method public void setDontSendToRestrictedApps(boolean);
696    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);
697    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);
698    method public android.os.Bundle toBundle();
699  }
700
701  public class DownloadManager {
702    method @RequiresPermission(android.Manifest.permission.WRITE_MEDIA_STORAGE) public void onMediaStoreDownloadsDeleted(@NonNull android.util.LongSparseArray<java.lang.String>);
703    field public static final String ACTION_DOWNLOAD_COMPLETED = "android.intent.action.DOWNLOAD_COMPLETED";
704  }
705
706  public abstract class InstantAppResolverService extends android.app.Service {
707    ctor public InstantAppResolverService();
708    method public final void attachBaseContext(android.content.Context);
709    method public final android.os.IBinder onBind(android.content.Intent);
710    method @Deprecated public void onGetInstantAppIntentFilter(@Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
711    method @Deprecated public void onGetInstantAppIntentFilter(@NonNull android.content.Intent, @Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
712    method @Deprecated public void onGetInstantAppIntentFilter(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
713    method @MainThread public void onGetInstantAppIntentFilter(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
714    method @Deprecated public void onGetInstantAppResolveInfo(@Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
715    method @Deprecated public void onGetInstantAppResolveInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
716    method @Deprecated public void onGetInstantAppResolveInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
717    method @MainThread public void onGetInstantAppResolveInfo(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
718  }
719
720  public static final class InstantAppResolverService.InstantAppResolutionCallback {
721    method public void onInstantAppResolveInfo(java.util.List<android.content.pm.InstantAppResolveInfo>);
722  }
723
724  public class KeyguardManager {
725    method public android.content.Intent createConfirmFactoryResetCredentialIntent(CharSequence, CharSequence, CharSequence);
726    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public int getMinLockLength(boolean, int);
727    method @RequiresPermission(android.Manifest.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS) public boolean getPrivateNotificationsAllowed();
728    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public boolean isValidLockPasswordComplexity(int, @NonNull byte[], int);
729    method @RequiresPermission(android.Manifest.permission.SHOW_KEYGUARD_MESSAGE) public void requestDismissKeyguard(@NonNull android.app.Activity, @Nullable CharSequence, @Nullable android.app.KeyguardManager.KeyguardDismissCallback);
730    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public boolean setLock(int, @NonNull byte[], int);
731    method @RequiresPermission(android.Manifest.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS) public void setPrivateNotificationsAllowed(boolean);
732    field public static final int PASSWORD = 0; // 0x0
733    field public static final int PATTERN = 2; // 0x2
734    field public static final int PIN = 1; // 0x1
735  }
736
737  public class Notification implements android.os.Parcelable {
738    field public static final String CATEGORY_CAR_EMERGENCY = "car_emergency";
739    field public static final String CATEGORY_CAR_INFORMATION = "car_information";
740    field public static final String CATEGORY_CAR_WARNING = "car_warning";
741    field @RequiresPermission(android.Manifest.permission.NOTIFICATION_DURING_SETUP) public static final String EXTRA_ALLOW_DURING_SETUP = "android.allowDuringSetup";
742    field @RequiresPermission(android.Manifest.permission.SUBSTITUTE_NOTIFICATION_APP_NAME) public static final String EXTRA_SUBSTITUTE_APP_NAME = "android.substName";
743    field public static final int FLAG_AUTOGROUP_SUMMARY = 1024; // 0x400
744  }
745
746  public static class Notification.Action implements android.os.Parcelable {
747    field public static final int SEMANTIC_ACTION_CONVERSATION_IS_PHISHING = 12; // 0xc
748    field public static final int SEMANTIC_ACTION_MARK_CONVERSATION_AS_PRIORITY = 11; // 0xb
749  }
750
751  public static final class Notification.TvExtender implements android.app.Notification.Extender {
752    ctor public Notification.TvExtender();
753    ctor public Notification.TvExtender(android.app.Notification);
754    method public android.app.Notification.Builder extend(android.app.Notification.Builder);
755    method public String getChannelId();
756    method public android.app.PendingIntent getContentIntent();
757    method public android.app.PendingIntent getDeleteIntent();
758    method public boolean getSuppressShowOverApps();
759    method public boolean isAvailableOnTv();
760    method public android.app.Notification.TvExtender setChannel(String);
761    method public android.app.Notification.TvExtender setChannelId(String);
762    method public android.app.Notification.TvExtender setContentIntent(android.app.PendingIntent);
763    method public android.app.Notification.TvExtender setDeleteIntent(android.app.PendingIntent);
764    method public android.app.Notification.TvExtender setSuppressShowOverApps(boolean);
765  }
766
767  public final class NotificationChannel implements android.os.Parcelable {
768    method public int getUserLockedFields();
769    method public boolean isDeleted();
770    method public void populateFromXml(org.xmlpull.v1.XmlPullParser);
771    method public void setBlockable(boolean);
772    method public org.json.JSONObject toJson() throws org.json.JSONException;
773    method public void writeXml(org.xmlpull.v1.XmlSerializer) throws java.io.IOException;
774    field public static final int USER_LOCKED_SOUND = 32; // 0x20
775  }
776
777  public final class NotificationChannelGroup implements android.os.Parcelable {
778    method public org.json.JSONObject toJson() throws org.json.JSONException;
779  }
780
781  public class NotificationManager {
782    method @NonNull public java.util.List<java.lang.String> getAllowedAssistantAdjustments();
783    method @Nullable public android.content.ComponentName getAllowedNotificationAssistant();
784    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATION_LISTENERS) public java.util.List<android.content.ComponentName> getEnabledNotificationListeners();
785    method public boolean isNotificationAssistantAccessGranted(@NonNull android.content.ComponentName);
786    method public void setNotificationAssistantAccessGranted(@Nullable android.content.ComponentName, boolean);
787    method @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATION_LISTENERS) public void setNotificationListenerAccessGranted(@NonNull android.content.ComponentName, boolean, boolean);
788    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_CLOSE_NOTIFICATION_HANDLER_PANEL = "android.app.action.CLOSE_NOTIFICATION_HANDLER_PANEL";
789    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_OPEN_NOTIFICATION_HANDLER_PANEL = "android.app.action.OPEN_NOTIFICATION_HANDLER_PANEL";
790    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_TOGGLE_NOTIFICATION_HANDLER_PANEL = "android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL";
791  }
792
793  public final class RuntimeAppOpAccessMessage implements android.os.Parcelable {
794    ctor public RuntimeAppOpAccessMessage(@IntRange(from=0L) int, @IntRange(from=0L) int, @NonNull String, @Nullable String, @NonNull String, int);
795    method public int describeContents();
796    method @Nullable public String getAttributionTag();
797    method @NonNull public String getMessage();
798    method @NonNull public String getOp();
799    method @NonNull public String getPackageName();
800    method public int getSamplingStrategy();
801    method @IntRange(from=0L) public int getUid();
802    method public void writeToParcel(@NonNull android.os.Parcel, int);
803    field @NonNull public static final android.os.Parcelable.Creator<android.app.RuntimeAppOpAccessMessage> CREATOR;
804  }
805
806  public class SearchManager implements android.content.DialogInterface.OnCancelListener android.content.DialogInterface.OnDismissListener {
807    method public void launchAssist(@Nullable android.os.Bundle);
808  }
809
810  public final class StatsManager {
811    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void addConfig(long, byte[]) throws android.app.StatsManager.StatsUnavailableException;
812    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean addConfiguration(long, byte[]);
813    method @RequiresPermission(android.Manifest.permission.REGISTER_STATS_PULL_ATOM) public void clearPullAtomCallback(int);
814    method @Deprecated @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getData(long);
815    method @Deprecated @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getMetadata();
816    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long[] getRegisteredExperimentIds() throws android.app.StatsManager.StatsUnavailableException;
817    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getReports(long) throws android.app.StatsManager.StatsUnavailableException;
818    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getStatsMetadata() throws android.app.StatsManager.StatsUnavailableException;
819    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void removeConfig(long) throws android.app.StatsManager.StatsUnavailableException;
820    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean removeConfiguration(long);
821    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;
822    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;
823    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean setBroadcastSubscriber(long, long, android.app.PendingIntent);
824    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean setDataFetchOperation(long, android.app.PendingIntent);
825    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;
826    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);
827    field public static final String ACTION_STATSD_STARTED = "android.app.action.STATSD_STARTED";
828    field public static final String EXTRA_STATS_ACTIVE_CONFIG_KEYS = "android.app.extra.STATS_ACTIVE_CONFIG_KEYS";
829    field public static final String EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES = "android.app.extra.STATS_BROADCAST_SUBSCRIBER_COOKIES";
830    field public static final String EXTRA_STATS_CONFIG_KEY = "android.app.extra.STATS_CONFIG_KEY";
831    field public static final String EXTRA_STATS_CONFIG_UID = "android.app.extra.STATS_CONFIG_UID";
832    field public static final String EXTRA_STATS_DIMENSIONS_VALUE = "android.app.extra.STATS_DIMENSIONS_VALUE";
833    field public static final String EXTRA_STATS_SUBSCRIPTION_ID = "android.app.extra.STATS_SUBSCRIPTION_ID";
834    field public static final String EXTRA_STATS_SUBSCRIPTION_RULE_ID = "android.app.extra.STATS_SUBSCRIPTION_RULE_ID";
835    field public static final int PULL_SKIP = 1; // 0x1
836    field public static final int PULL_SUCCESS = 0; // 0x0
837  }
838
839  public static class StatsManager.PullAtomMetadata {
840    method @Nullable public int[] getAdditiveFields();
841    method public long getCoolDownMillis();
842    method public long getTimeoutMillis();
843  }
844
845  public static class StatsManager.PullAtomMetadata.Builder {
846    ctor public StatsManager.PullAtomMetadata.Builder();
847    method @NonNull public android.app.StatsManager.PullAtomMetadata build();
848    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setAdditiveFields(@NonNull int[]);
849    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setCoolDownMillis(long);
850    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setTimeoutMillis(long);
851  }
852
853  public static interface StatsManager.StatsPullAtomCallback {
854    method public int onPullAtom(int, @NonNull java.util.List<android.util.StatsEvent>);
855  }
856
857  public static class StatsManager.StatsUnavailableException extends android.util.AndroidException {
858    ctor public StatsManager.StatsUnavailableException(String);
859    ctor public StatsManager.StatsUnavailableException(String, Throwable);
860  }
861
862  public class StatusBarManager {
863    method @NonNull @RequiresPermission(android.Manifest.permission.STATUS_BAR) public android.app.StatusBarManager.DisableInfo getDisableInfo();
864    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setDisabledForSetup(boolean);
865  }
866
867  public static final class StatusBarManager.DisableInfo {
868    method public boolean areAllComponentsEnabled();
869    method public boolean isNavigateToHomeDisabled();
870    method public boolean isNotificationPeekingDisabled();
871    method public boolean isRecentsDisabled();
872    method public boolean isSearchDisabled();
873    method public boolean isStatusBarExpansionDisabled();
874  }
875
876  public final class SystemServiceRegistry {
877    method public static <TServiceClass> void registerContextAwareService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.ContextAwareServiceProducerWithBinder<TServiceClass>);
878    method public static <TServiceClass> void registerContextAwareService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.ContextAwareServiceProducerWithoutBinder<TServiceClass>);
879    method public static <TServiceClass> void registerStaticService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.StaticServiceProducerWithBinder<TServiceClass>);
880    method public static <TServiceClass> void registerStaticService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.StaticServiceProducerWithoutBinder<TServiceClass>);
881  }
882
883  public static interface SystemServiceRegistry.ContextAwareServiceProducerWithBinder<TServiceClass> {
884    method @NonNull public TServiceClass createService(@NonNull android.content.Context, @NonNull android.os.IBinder);
885  }
886
887  public static interface SystemServiceRegistry.ContextAwareServiceProducerWithoutBinder<TServiceClass> {
888    method @NonNull public TServiceClass createService(@NonNull android.content.Context);
889  }
890
891  public static interface SystemServiceRegistry.StaticServiceProducerWithBinder<TServiceClass> {
892    method @NonNull public TServiceClass createService(@NonNull android.os.IBinder);
893  }
894
895  public static interface SystemServiceRegistry.StaticServiceProducerWithoutBinder<TServiceClass> {
896    method @NonNull public TServiceClass createService();
897  }
898
899  public class UiModeManager {
900    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public void addOnProjectionStateChangedListener(int, @NonNull java.util.concurrent.Executor, @NonNull android.app.UiModeManager.OnProjectionStateChangedListener);
901    method @RequiresPermission(android.Manifest.permission.ENTER_CAR_MODE_PRIORITIZED) public void enableCarMode(@IntRange(from=0) int, int);
902    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public int getActiveProjectionTypes();
903    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public java.util.Set<java.lang.String> getProjectingPackages(int);
904    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean releaseProjection(int);
905    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public void removeOnProjectionStateChangedListener(@NonNull android.app.UiModeManager.OnProjectionStateChangedListener);
906    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean requestProjection(int);
907    field public static final String ACTION_ENTER_CAR_MODE_PRIORITIZED = "android.app.action.ENTER_CAR_MODE_PRIORITIZED";
908    field public static final String ACTION_EXIT_CAR_MODE_PRIORITIZED = "android.app.action.EXIT_CAR_MODE_PRIORITIZED";
909    field public static final int DEFAULT_PRIORITY = 0; // 0x0
910    field public static final String EXTRA_CALLING_PACKAGE = "android.app.extra.CALLING_PACKAGE";
911    field public static final String EXTRA_PRIORITY = "android.app.extra.PRIORITY";
912    field public static final int PROJECTION_TYPE_ALL = -1; // 0xffffffff
913    field public static final int PROJECTION_TYPE_AUTOMOTIVE = 1; // 0x1
914    field public static final int PROJECTION_TYPE_NONE = 0; // 0x0
915  }
916
917  public static interface UiModeManager.OnProjectionStateChangedListener {
918    method public void onProjectionStateChanged(int, @NonNull java.util.Set<java.lang.String>);
919  }
920
921  public final class Vr2dDisplayProperties implements android.os.Parcelable {
922    ctor public Vr2dDisplayProperties(int, int, int);
923    method public int describeContents();
924    method public void dump(@NonNull java.io.PrintWriter, @NonNull String);
925    method public int getAddedFlags();
926    method public int getDpi();
927    method public int getHeight();
928    method public int getRemovedFlags();
929    method public int getWidth();
930    method public void writeToParcel(android.os.Parcel, int);
931    field @NonNull public static final android.os.Parcelable.Creator<android.app.Vr2dDisplayProperties> CREATOR;
932    field public static final int FLAG_VIRTUAL_DISPLAY_ENABLED = 1; // 0x1
933  }
934
935  public static final class Vr2dDisplayProperties.Builder {
936    ctor public Vr2dDisplayProperties.Builder();
937    method @NonNull public android.app.Vr2dDisplayProperties.Builder addFlags(int);
938    method @NonNull public android.app.Vr2dDisplayProperties build();
939    method @NonNull public android.app.Vr2dDisplayProperties.Builder removeFlags(int);
940    method @NonNull public android.app.Vr2dDisplayProperties.Builder setDimensions(int, int, int);
941    method @NonNull public android.app.Vr2dDisplayProperties.Builder setEnabled(boolean);
942  }
943
944  public class VrManager {
945    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public int getVr2dDisplayId();
946    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public boolean isPersistentVrModeEnabled();
947    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public boolean isVrModeEnabled();
948    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);
949    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setAndBindVrCompositor(android.content.ComponentName);
950    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setPersistentVrModeEnabled(boolean);
951    method @RequiresPermission("android.permission.ACCESS_VR_MANAGER") public void setStandbyEnabled(boolean);
952    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setVr2dDisplayProperties(@NonNull android.app.Vr2dDisplayProperties);
953    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setVrInputMethod(@Nullable android.content.ComponentName);
954    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public void unregisterVrStateCallback(@NonNull android.app.VrStateCallback);
955  }
956
957  public abstract class VrStateCallback {
958    ctor public VrStateCallback();
959    method public void onPersistentVrStateChanged(boolean);
960    method public void onVrStateChanged(boolean);
961  }
962
963  public final class WallpaperInfo implements android.os.Parcelable {
964    method public boolean supportsAmbientMode();
965  }
966
967  public class WallpaperManager {
968    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public void clearWallpaper(int, int);
969    method public void setDisplayOffset(android.os.IBinder, int, int);
970    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_COMPONENT) public boolean setWallpaperComponent(android.content.ComponentName);
971  }
972
973}
974
975package android.app.admin {
976
977  public class DevicePolicyKeyguardService extends android.app.Service {
978    ctor public DevicePolicyKeyguardService();
979    method @Nullable public void dismiss();
980    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
981    method @Nullable public android.view.SurfaceControlViewHost.SurfacePackage onCreateKeyguardSurface(@NonNull android.os.IBinder);
982  }
983
984  public class DevicePolicyManager {
985    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public boolean getBluetoothContactSharingDisabled(@NonNull android.os.UserHandle);
986    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getDeviceOwner();
987    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS"}) public android.content.ComponentName getDeviceOwnerComponentOnAnyUser();
988    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getDeviceOwnerNameOnAnyUser();
989    method @Nullable public CharSequence getDeviceOwnerOrganizationName();
990    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.UserHandle getDeviceOwnerUser();
991    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public java.util.List<java.lang.String> getPermittedAccessibilityServices(int);
992    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public java.util.List<java.lang.String> getPermittedInputMethodsForCurrentUser();
993    method @Nullable public android.content.ComponentName getProfileOwner() throws java.lang.IllegalArgumentException;
994    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getProfileOwnerNameAsUser(int) throws java.lang.IllegalArgumentException;
995    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public int getUserProvisioningState();
996    method public boolean isDeviceManaged();
997    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isDeviceProvisioned();
998    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isDeviceProvisioningConfigApplied();
999    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isManagedKiosk();
1000    method public boolean isSecondaryLockscreenEnabled(@NonNull android.os.UserHandle);
1001    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isUnattendedManagedKiosk();
1002    method @RequiresPermission("android.permission.NOTIFY_PENDING_SYSTEM_UPDATE") public void notifyPendingSystemUpdate(long);
1003    method @RequiresPermission("android.permission.NOTIFY_PENDING_SYSTEM_UPDATE") public void notifyPendingSystemUpdate(long, boolean);
1004    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public boolean packageHasActiveAdmins(String);
1005    method @Deprecated @RequiresPermission("android.permission.MANAGE_DEVICE_ADMINS") public boolean setActiveProfileOwner(@NonNull android.content.ComponentName, String) throws java.lang.IllegalArgumentException;
1006    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setDeviceProvisioningConfigApplied();
1007    method @Deprecated @RequiresPermission(value=android.Manifest.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS, conditional=true) public void setProfileOwnerCanAccessDeviceIds(@NonNull android.content.ComponentName);
1008    method public void setSecondaryLockscreenEnabled(@NonNull android.content.ComponentName, boolean);
1009    field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_ALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_ALLOWED";
1010    field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_DISALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_DISALLOWED";
1011    field public static final String ACTION_BIND_SECONDARY_LOCKSCREEN_SERVICE = "android.app.action.BIND_SECONDARY_LOCKSCREEN_SERVICE";
1012    field public static final String ACTION_PROVISION_FINALIZATION = "android.app.action.PROVISION_FINALIZATION";
1013    field public static final String ACTION_PROVISION_FINANCED_DEVICE = "android.app.action.PROVISION_FINANCED_DEVICE";
1014    field public static final String ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE = "android.app.action.PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE";
1015    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";
1016    field public static final String ACTION_SET_PROFILE_OWNER = "android.app.action.SET_PROFILE_OWNER";
1017    field public static final String ACTION_STATE_USER_SETUP_COMPLETE = "android.app.action.STATE_USER_SETUP_COMPLETE";
1018    field public static final String EXTRA_PROFILE_OWNER_NAME = "android.app.extra.PROFILE_OWNER_NAME";
1019    field @Deprecated public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI";
1020    field @Deprecated public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL";
1021    field public static final String EXTRA_PROVISIONING_ORGANIZATION_NAME = "android.app.extra.PROVISIONING_ORGANIZATION_NAME";
1022    field public static final String EXTRA_PROVISIONING_RETURN_BEFORE_POLICY_COMPLIANCE = "android.app.extra.PROVISIONING_RETURN_BEFORE_POLICY_COMPLIANCE";
1023    field public static final String EXTRA_PROVISIONING_SKIP_OWNERSHIP_DISCLAIMER = "android.app.extra.PROVISIONING_SKIP_OWNERSHIP_DISCLAIMER";
1024    field public static final String EXTRA_PROVISIONING_SUPPORTED_MODES = "android.app.extra.PROVISIONING_SUPPORTED_MODES";
1025    field public static final String EXTRA_PROVISIONING_SUPPORT_URL = "android.app.extra.PROVISIONING_SUPPORT_URL";
1026    field public static final String EXTRA_PROVISIONING_TRIGGER = "android.app.extra.PROVISIONING_TRIGGER";
1027    field public static final String EXTRA_RESTRICTION = "android.app.extra.RESTRICTION";
1028    field public static final int FLAG_SUPPORTED_MODES_DEVICE_OWNER = 4; // 0x4
1029    field public static final int FLAG_SUPPORTED_MODES_ORGANIZATION_OWNED = 1; // 0x1
1030    field public static final int FLAG_SUPPORTED_MODES_PERSONALLY_OWNED = 2; // 0x2
1031    field public static final int PROVISIONING_TRIGGER_CLOUD_ENROLLMENT = 1; // 0x1
1032    field public static final int PROVISIONING_TRIGGER_MANAGED_ACCOUNT = 4; // 0x4
1033    field @Deprecated public static final int PROVISIONING_TRIGGER_PERSISTENT_DEVICE_OWNER = 3; // 0x3
1034    field public static final int PROVISIONING_TRIGGER_QR_CODE = 2; // 0x2
1035    field public static final int PROVISIONING_TRIGGER_UNSPECIFIED = 0; // 0x0
1036    field public static final String REQUIRED_APP_MANAGED_DEVICE = "android.app.REQUIRED_APP_MANAGED_DEVICE";
1037    field public static final String REQUIRED_APP_MANAGED_PROFILE = "android.app.REQUIRED_APP_MANAGED_PROFILE";
1038    field public static final String REQUIRED_APP_MANAGED_USER = "android.app.REQUIRED_APP_MANAGED_USER";
1039    field public static final int STATE_USER_PROFILE_COMPLETE = 4; // 0x4
1040    field public static final int STATE_USER_PROFILE_FINALIZED = 5; // 0x5
1041    field public static final int STATE_USER_SETUP_COMPLETE = 2; // 0x2
1042    field public static final int STATE_USER_SETUP_FINALIZED = 3; // 0x3
1043    field public static final int STATE_USER_SETUP_INCOMPLETE = 1; // 0x1
1044    field public static final int STATE_USER_UNMANAGED = 0; // 0x0
1045  }
1046
1047  public final class SystemUpdatePolicy implements android.os.Parcelable {
1048    method public android.app.admin.SystemUpdatePolicy.InstallationOption getInstallationOptionAt(long);
1049    field public static final int TYPE_PAUSE = 4; // 0x4
1050  }
1051
1052  public static class SystemUpdatePolicy.InstallationOption {
1053    method public long getEffectiveTime();
1054    method public int getType();
1055  }
1056
1057}
1058
1059package android.app.appsearch {
1060
1061  public class AppSearchManagerFrameworkInitializer {
1062    method public static void initialize();
1063  }
1064
1065}
1066
1067package android.app.assist {
1068
1069  public class ActivityId {
1070  }
1071
1072  public static class AssistStructure.ViewNode {
1073    ctor public AssistStructure.ViewNode();
1074  }
1075
1076}
1077
1078package android.app.backup {
1079
1080  public class BackupDataInput {
1081    ctor public BackupDataInput(java.io.FileDescriptor);
1082  }
1083
1084  public class BackupDataOutput {
1085    ctor public BackupDataOutput(java.io.FileDescriptor);
1086    ctor public BackupDataOutput(java.io.FileDescriptor, long);
1087  }
1088
1089  public class BackupManager {
1090    method @RequiresPermission(android.Manifest.permission.BACKUP) public void backupNow();
1091    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.app.backup.RestoreSession beginRestoreSession();
1092    method @RequiresPermission(android.Manifest.permission.BACKUP) public void cancelBackups();
1093    method @RequiresPermission(android.Manifest.permission.BACKUP) public void excludeKeysFromRestore(@NonNull String, @NonNull java.util.List<java.lang.String>);
1094    method @RequiresPermission(android.Manifest.permission.BACKUP) public long getAvailableRestoreToken(String);
1095    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.Intent getConfigurationIntent(String);
1096    method @RequiresPermission(android.Manifest.permission.BACKUP) public String getCurrentTransport();
1097    method @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.ComponentName getCurrentTransportComponent();
1098    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.Intent getDataManagementIntent(String);
1099    method @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public CharSequence getDataManagementIntentLabel(@NonNull String);
1100    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public String getDataManagementLabel(@NonNull String);
1101    method @RequiresPermission(android.Manifest.permission.BACKUP) public String getDestinationString(String);
1102    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isAppEligibleForBackup(String);
1103    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isBackupEnabled();
1104    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isBackupServiceActive(android.os.UserHandle);
1105    method @RequiresPermission(android.Manifest.permission.BACKUP) public String[] listAllTransports();
1106    method @RequiresPermission(android.Manifest.permission.BACKUP) public int requestBackup(String[], android.app.backup.BackupObserver);
1107    method @RequiresPermission(android.Manifest.permission.BACKUP) public int requestBackup(String[], android.app.backup.BackupObserver, android.app.backup.BackupManagerMonitor, int);
1108    method @Deprecated public int requestRestore(android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
1109    method @Deprecated @RequiresPermission(android.Manifest.permission.BACKUP) public String selectBackupTransport(String);
1110    method @RequiresPermission(android.Manifest.permission.BACKUP) public void selectBackupTransport(android.content.ComponentName, android.app.backup.SelectBackupTransportCallback);
1111    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setAncestralSerialNumber(long);
1112    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setAutoRestore(boolean);
1113    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setBackupEnabled(boolean);
1114    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);
1115    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);
1116    field public static final int ERROR_AGENT_FAILURE = -1003; // 0xfffffc15
1117    field public static final int ERROR_BACKUP_CANCELLED = -2003; // 0xfffff82d
1118    field public static final int ERROR_BACKUP_NOT_ALLOWED = -2001; // 0xfffff82f
1119    field public static final int ERROR_PACKAGE_NOT_FOUND = -2002; // 0xfffff82e
1120    field public static final int ERROR_TRANSPORT_ABORTED = -1000; // 0xfffffc18
1121    field public static final int ERROR_TRANSPORT_INVALID = -2; // 0xfffffffe
1122    field public static final int ERROR_TRANSPORT_PACKAGE_REJECTED = -1002; // 0xfffffc16
1123    field public static final int ERROR_TRANSPORT_QUOTA_EXCEEDED = -1005; // 0xfffffc13
1124    field public static final int ERROR_TRANSPORT_UNAVAILABLE = -1; // 0xffffffff
1125    field public static final int FLAG_NON_INCREMENTAL_BACKUP = 1; // 0x1
1126    field public static final String PACKAGE_MANAGER_SENTINEL = "@pm@";
1127    field public static final int SUCCESS = 0; // 0x0
1128  }
1129
1130  public class BackupManagerMonitor {
1131    ctor public BackupManagerMonitor();
1132    method public void onEvent(android.os.Bundle);
1133    field public static final String EXTRA_LOG_CANCEL_ALL = "android.app.backup.extra.LOG_CANCEL_ALL";
1134    field public static final String EXTRA_LOG_EVENT_CATEGORY = "android.app.backup.extra.LOG_EVENT_CATEGORY";
1135    field public static final String EXTRA_LOG_EVENT_ID = "android.app.backup.extra.LOG_EVENT_ID";
1136    field public static final String EXTRA_LOG_EVENT_PACKAGE_LONG_VERSION = "android.app.backup.extra.LOG_EVENT_PACKAGE_FULL_VERSION";
1137    field public static final String EXTRA_LOG_EVENT_PACKAGE_NAME = "android.app.backup.extra.LOG_EVENT_PACKAGE_NAME";
1138    field @Deprecated public static final String EXTRA_LOG_EVENT_PACKAGE_VERSION = "android.app.backup.extra.LOG_EVENT_PACKAGE_VERSION";
1139    field public static final String EXTRA_LOG_EXCEPTION_FULL_BACKUP = "android.app.backup.extra.LOG_EXCEPTION_FULL_BACKUP";
1140    field public static final String EXTRA_LOG_ILLEGAL_KEY = "android.app.backup.extra.LOG_ILLEGAL_KEY";
1141    field public static final String EXTRA_LOG_MANIFEST_PACKAGE_NAME = "android.app.backup.extra.LOG_MANIFEST_PACKAGE_NAME";
1142    field public static final String EXTRA_LOG_OLD_VERSION = "android.app.backup.extra.LOG_OLD_VERSION";
1143    field public static final String EXTRA_LOG_POLICY_ALLOW_APKS = "android.app.backup.extra.LOG_POLICY_ALLOW_APKS";
1144    field public static final String EXTRA_LOG_PREFLIGHT_ERROR = "android.app.backup.extra.LOG_PREFLIGHT_ERROR";
1145    field public static final String EXTRA_LOG_RESTORE_ANYWAY = "android.app.backup.extra.LOG_RESTORE_ANYWAY";
1146    field public static final String EXTRA_LOG_RESTORE_VERSION = "android.app.backup.extra.LOG_RESTORE_VERSION";
1147    field public static final String EXTRA_LOG_WIDGET_PACKAGE_NAME = "android.app.backup.extra.LOG_WIDGET_PACKAGE_NAME";
1148    field public static final int LOG_EVENT_CATEGORY_AGENT = 2; // 0x2
1149    field public static final int LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY = 3; // 0x3
1150    field public static final int LOG_EVENT_CATEGORY_TRANSPORT = 1; // 0x1
1151    field public static final int LOG_EVENT_ID_APK_NOT_INSTALLED = 40; // 0x28
1152    field public static final int LOG_EVENT_ID_APP_HAS_NO_AGENT = 28; // 0x1c
1153    field public static final int LOG_EVENT_ID_BACKUP_DISABLED = 13; // 0xd
1154    field public static final int LOG_EVENT_ID_CANNOT_RESTORE_WITHOUT_APK = 41; // 0x29
1155    field public static final int LOG_EVENT_ID_CANT_FIND_AGENT = 30; // 0x1e
1156    field public static final int LOG_EVENT_ID_CORRUPT_MANIFEST = 46; // 0x2e
1157    field public static final int LOG_EVENT_ID_DEVICE_NOT_PROVISIONED = 14; // 0xe
1158    field public static final int LOG_EVENT_ID_ERROR_PREFLIGHT = 16; // 0x10
1159    field public static final int LOG_EVENT_ID_EXCEPTION_FULL_BACKUP = 19; // 0x13
1160    field public static final int LOG_EVENT_ID_EXPECTED_DIFFERENT_PACKAGE = 43; // 0x2b
1161    field public static final int LOG_EVENT_ID_FULL_BACKUP_CANCEL = 4; // 0x4
1162    field public static final int LOG_EVENT_ID_FULL_RESTORE_ALLOW_BACKUP_FALSE = 39; // 0x27
1163    field public static final int LOG_EVENT_ID_FULL_RESTORE_SIGNATURE_MISMATCH = 37; // 0x25
1164    field public static final int LOG_EVENT_ID_FULL_RESTORE_TIMEOUT = 45; // 0x2d
1165    field public static final int LOG_EVENT_ID_ILLEGAL_KEY = 5; // 0x5
1166    field public static final int LOG_EVENT_ID_KEY_VALUE_BACKUP_CANCEL = 21; // 0x15
1167    field public static final int LOG_EVENT_ID_KEY_VALUE_RESTORE_TIMEOUT = 31; // 0x1f
1168    field public static final int LOG_EVENT_ID_LOST_TRANSPORT = 25; // 0x19
1169    field public static final int LOG_EVENT_ID_MISSING_SIGNATURE = 42; // 0x2a
1170    field public static final int LOG_EVENT_ID_NO_DATA_TO_SEND = 7; // 0x7
1171    field public static final int LOG_EVENT_ID_NO_PACKAGES = 49; // 0x31
1172    field public static final int LOG_EVENT_ID_NO_PM_METADATA_RECEIVED = 23; // 0x17
1173    field public static final int LOG_EVENT_ID_NO_RESTORE_METADATA_AVAILABLE = 22; // 0x16
1174    field public static final int LOG_EVENT_ID_PACKAGE_INELIGIBLE = 9; // 0x9
1175    field public static final int LOG_EVENT_ID_PACKAGE_KEY_VALUE_PARTICIPANT = 10; // 0xa
1176    field public static final int LOG_EVENT_ID_PACKAGE_NOT_FOUND = 12; // 0xc
1177    field public static final int LOG_EVENT_ID_PACKAGE_NOT_PRESENT = 26; // 0x1a
1178    field public static final int LOG_EVENT_ID_PACKAGE_STOPPED = 11; // 0xb
1179    field public static final int LOG_EVENT_ID_PACKAGE_TRANSPORT_NOT_PRESENT = 15; // 0xf
1180    field public static final int LOG_EVENT_ID_PM_AGENT_HAS_NO_METADATA = 24; // 0x18
1181    field public static final int LOG_EVENT_ID_QUOTA_HIT_PREFLIGHT = 18; // 0x12
1182    field public static final int LOG_EVENT_ID_RESTORE_ANY_VERSION = 34; // 0x22
1183    field public static final int LOG_EVENT_ID_RESTORE_VERSION_HIGHER = 27; // 0x1b
1184    field public static final int LOG_EVENT_ID_SIGNATURE_MISMATCH = 29; // 0x1d
1185    field public static final int LOG_EVENT_ID_SYSTEM_APP_NO_AGENT = 38; // 0x26
1186    field public static final int LOG_EVENT_ID_TRANSPORT_IS_NULL = 50; // 0x32
1187    field public static final int LOG_EVENT_ID_TRANSPORT_NON_INCREMENTAL_BACKUP_REQUIRED = 51; // 0x33
1188    field public static final int LOG_EVENT_ID_UNKNOWN_VERSION = 44; // 0x2c
1189    field public static final int LOG_EVENT_ID_VERSIONS_MATCH = 35; // 0x23
1190    field public static final int LOG_EVENT_ID_VERSION_OF_BACKUP_OLDER = 36; // 0x24
1191    field public static final int LOG_EVENT_ID_WIDGET_METADATA_MISMATCH = 47; // 0x2f
1192    field public static final int LOG_EVENT_ID_WIDGET_UNKNOWN_VERSION = 48; // 0x30
1193  }
1194
1195  public abstract class BackupObserver {
1196    ctor public BackupObserver();
1197    method public void backupFinished(int);
1198    method public void onResult(String, int);
1199    method public void onUpdate(String, android.app.backup.BackupProgress);
1200  }
1201
1202  public class BackupProgress implements android.os.Parcelable {
1203    ctor public BackupProgress(long, long);
1204    method public int describeContents();
1205    method public void writeToParcel(android.os.Parcel, int);
1206    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.BackupProgress> CREATOR;
1207    field public final long bytesExpected;
1208    field public final long bytesTransferred;
1209  }
1210
1211  public class BackupTransport {
1212    ctor public BackupTransport();
1213    method public int abortFullRestore();
1214    method public void cancelFullBackup();
1215    method public int checkFullBackupSize(long);
1216    method public int clearBackupData(android.content.pm.PackageInfo);
1217    method public android.content.Intent configurationIntent();
1218    method public String currentDestinationString();
1219    method public android.content.Intent dataManagementIntent();
1220    method @Nullable public CharSequence dataManagementIntentLabel();
1221    method @Deprecated @Nullable public String dataManagementLabel();
1222    method public int finishBackup();
1223    method public void finishRestore();
1224    method public android.app.backup.RestoreSet[] getAvailableRestoreSets();
1225    method public long getBackupQuota(String, boolean);
1226    method public android.os.IBinder getBinder();
1227    method public long getCurrentRestoreSet();
1228    method public int getNextFullRestoreDataChunk(android.os.ParcelFileDescriptor);
1229    method public int getRestoreData(android.os.ParcelFileDescriptor);
1230    method public int getTransportFlags();
1231    method public int initializeDevice();
1232    method public boolean isAppEligibleForBackup(android.content.pm.PackageInfo, boolean);
1233    method public String name();
1234    method public android.app.backup.RestoreDescription nextRestorePackage();
1235    method public int performBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor, int);
1236    method public int performBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor);
1237    method public int performFullBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor, int);
1238    method public int performFullBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor);
1239    method public long requestBackupTime();
1240    method public long requestFullBackupTime();
1241    method public int sendBackupData(int);
1242    method public int startRestore(long, android.content.pm.PackageInfo[]);
1243    method public String transportDirName();
1244    field public static final int AGENT_ERROR = -1003; // 0xfffffc15
1245    field public static final int AGENT_UNKNOWN = -1004; // 0xfffffc14
1246    field public static final String EXTRA_TRANSPORT_REGISTRATION = "android.app.backup.extra.TRANSPORT_REGISTRATION";
1247    field public static final int FLAG_DATA_NOT_CHANGED = 8; // 0x8
1248    field public static final int FLAG_INCREMENTAL = 2; // 0x2
1249    field public static final int FLAG_NON_INCREMENTAL = 4; // 0x4
1250    field public static final int FLAG_USER_INITIATED = 1; // 0x1
1251    field public static final int NO_MORE_DATA = -1; // 0xffffffff
1252    field public static final int TRANSPORT_ERROR = -1000; // 0xfffffc18
1253    field public static final int TRANSPORT_NON_INCREMENTAL_BACKUP_REQUIRED = -1006; // 0xfffffc12
1254    field public static final int TRANSPORT_NOT_INITIALIZED = -1001; // 0xfffffc17
1255    field public static final int TRANSPORT_OK = 0; // 0x0
1256    field public static final int TRANSPORT_PACKAGE_REJECTED = -1002; // 0xfffffc16
1257    field public static final int TRANSPORT_QUOTA_EXCEEDED = -1005; // 0xfffffc13
1258  }
1259
1260  public class RestoreDescription implements android.os.Parcelable {
1261    ctor public RestoreDescription(String, int);
1262    method public int describeContents();
1263    method public int getDataType();
1264    method public String getPackageName();
1265    method public void writeToParcel(android.os.Parcel, int);
1266    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.RestoreDescription> CREATOR;
1267    field public static final android.app.backup.RestoreDescription NO_MORE_PACKAGES;
1268    field public static final int TYPE_FULL_STREAM = 2; // 0x2
1269    field public static final int TYPE_KEY_VALUE = 1; // 0x1
1270  }
1271
1272  public abstract class RestoreObserver {
1273    method public void restoreSetsAvailable(android.app.backup.RestoreSet[]);
1274  }
1275
1276  public class RestoreSession {
1277    method public void endRestoreSession();
1278    method public int getAvailableRestoreSets(android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
1279    method public int getAvailableRestoreSets(android.app.backup.RestoreObserver);
1280    method public int restoreAll(long, android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
1281    method public int restoreAll(long, android.app.backup.RestoreObserver);
1282    method public int restorePackage(String, android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
1283    method public int restorePackage(String, android.app.backup.RestoreObserver);
1284    method public int restorePackages(long, @Nullable android.app.backup.RestoreObserver, @NonNull java.util.Set<java.lang.String>, @Nullable android.app.backup.BackupManagerMonitor);
1285    method public int restorePackages(long, @Nullable android.app.backup.RestoreObserver, @NonNull java.util.Set<java.lang.String>);
1286  }
1287
1288  public class RestoreSet implements android.os.Parcelable {
1289    ctor public RestoreSet();
1290    ctor public RestoreSet(@Nullable String, @Nullable String, long);
1291    ctor public RestoreSet(@Nullable String, @Nullable String, long, int);
1292    method public int describeContents();
1293    method public void writeToParcel(android.os.Parcel, int);
1294    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.RestoreSet> CREATOR;
1295    field public final int backupTransportFlags;
1296    field @Nullable public String device;
1297    field @Nullable public String name;
1298    field public long token;
1299  }
1300
1301  public abstract class SelectBackupTransportCallback {
1302    ctor public SelectBackupTransportCallback();
1303    method public void onFailure(int);
1304    method public void onSuccess(String);
1305  }
1306
1307}
1308
1309package android.app.compat {
1310
1311  public final class CompatChanges {
1312    method public static boolean isChangeEnabled(long);
1313    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);
1314    method @RequiresPermission(allOf={"android.permission.READ_COMPAT_CHANGE_CONFIG", "android.permission.LOG_COMPAT_CHANGE"}) public static boolean isChangeEnabled(long, int);
1315    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>);
1316    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>);
1317  }
1318
1319  public final class PackageOverride {
1320    method public long getMaxVersionCode();
1321    method public long getMinVersionCode();
1322    method public boolean isEnabled();
1323  }
1324
1325  public static final class PackageOverride.Builder {
1326    ctor public PackageOverride.Builder();
1327    method @NonNull public android.app.compat.PackageOverride build();
1328    method @NonNull public android.app.compat.PackageOverride.Builder setEnabled(boolean);
1329    method @NonNull public android.app.compat.PackageOverride.Builder setMaxVersionCode(long);
1330    method @NonNull public android.app.compat.PackageOverride.Builder setMinVersionCode(long);
1331  }
1332
1333}
1334
1335package android.app.contentsuggestions {
1336
1337  public final class ClassificationsRequest implements android.os.Parcelable {
1338    method public int describeContents();
1339    method @NonNull public android.os.Bundle getExtras();
1340    method @NonNull public java.util.List<android.app.contentsuggestions.ContentSelection> getSelections();
1341    method public void writeToParcel(android.os.Parcel, int);
1342    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ClassificationsRequest> CREATOR;
1343  }
1344
1345  public static final class ClassificationsRequest.Builder {
1346    ctor public ClassificationsRequest.Builder(@NonNull java.util.List<android.app.contentsuggestions.ContentSelection>);
1347    method @NonNull public android.app.contentsuggestions.ClassificationsRequest build();
1348    method @NonNull public android.app.contentsuggestions.ClassificationsRequest.Builder setExtras(@NonNull android.os.Bundle);
1349  }
1350
1351  public final class ContentClassification implements android.os.Parcelable {
1352    ctor public ContentClassification(@NonNull String, @NonNull android.os.Bundle);
1353    method public int describeContents();
1354    method @NonNull public android.os.Bundle getExtras();
1355    method @NonNull public String getId();
1356    method public void writeToParcel(android.os.Parcel, int);
1357    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ContentClassification> CREATOR;
1358  }
1359
1360  public final class ContentSelection implements android.os.Parcelable {
1361    ctor public ContentSelection(@NonNull String, @NonNull android.os.Bundle);
1362    method public int describeContents();
1363    method @NonNull public android.os.Bundle getExtras();
1364    method @NonNull public String getId();
1365    method public void writeToParcel(android.os.Parcel, int);
1366    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ContentSelection> CREATOR;
1367  }
1368
1369  public final class ContentSuggestionsManager {
1370    method public void classifyContentSelections(@NonNull android.app.contentsuggestions.ClassificationsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.ClassificationsCallback);
1371    method public boolean isEnabled();
1372    method public void notifyInteraction(@NonNull String, @NonNull android.os.Bundle);
1373    method public void provideContextImage(@NonNull android.graphics.Bitmap, @NonNull android.os.Bundle);
1374    method public void provideContextImage(int, @NonNull android.os.Bundle);
1375    method public void suggestContentSelections(@NonNull android.app.contentsuggestions.SelectionsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.SelectionsCallback);
1376  }
1377
1378  public static interface ContentSuggestionsManager.ClassificationsCallback {
1379    method public void onContentClassificationsAvailable(int, @NonNull java.util.List<android.app.contentsuggestions.ContentClassification>);
1380  }
1381
1382  public static interface ContentSuggestionsManager.SelectionsCallback {
1383    method public void onContentSelectionsAvailable(int, @NonNull java.util.List<android.app.contentsuggestions.ContentSelection>);
1384  }
1385
1386  public final class SelectionsRequest implements android.os.Parcelable {
1387    method public int describeContents();
1388    method @NonNull public android.os.Bundle getExtras();
1389    method @Nullable public android.graphics.Point getInterestPoint();
1390    method public int getTaskId();
1391    method public void writeToParcel(android.os.Parcel, int);
1392    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.SelectionsRequest> CREATOR;
1393  }
1394
1395  public static final class SelectionsRequest.Builder {
1396    ctor public SelectionsRequest.Builder(int);
1397    method @NonNull public android.app.contentsuggestions.SelectionsRequest build();
1398    method @NonNull public android.app.contentsuggestions.SelectionsRequest.Builder setExtras(@NonNull android.os.Bundle);
1399    method @NonNull public android.app.contentsuggestions.SelectionsRequest.Builder setInterestPoint(@NonNull android.graphics.Point);
1400  }
1401
1402}
1403
1404package android.app.job {
1405
1406  public abstract class JobScheduler {
1407    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public abstract int scheduleAsPackage(@NonNull android.app.job.JobInfo, @NonNull String, int, String);
1408  }
1409
1410  public class JobSchedulerFrameworkInitializer {
1411    method public static void registerServiceWrappers();
1412  }
1413
1414}
1415
1416package android.app.people {
1417
1418  public final class PeopleManager {
1419    method @RequiresPermission(android.Manifest.permission.READ_PEOPLE_DATA) public boolean isConversation(@NonNull String, @NonNull String);
1420  }
1421
1422}
1423
1424package android.app.prediction {
1425
1426  public final class AppPredictionContext implements android.os.Parcelable {
1427    method public int describeContents();
1428    method @Nullable public android.os.Bundle getExtras();
1429    method @NonNull public String getPackageName();
1430    method @IntRange(from=0) public int getPredictedTargetCount();
1431    method @NonNull public String getUiSurface();
1432    method public void writeToParcel(@NonNull android.os.Parcel, int);
1433    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionContext> CREATOR;
1434  }
1435
1436  public static final class AppPredictionContext.Builder {
1437    ctor public AppPredictionContext.Builder(@NonNull android.content.Context);
1438    method @NonNull public android.app.prediction.AppPredictionContext build();
1439    method @NonNull public android.app.prediction.AppPredictionContext.Builder setExtras(@Nullable android.os.Bundle);
1440    method @NonNull public android.app.prediction.AppPredictionContext.Builder setPredictedTargetCount(@IntRange(from=0) int);
1441    method @NonNull public android.app.prediction.AppPredictionContext.Builder setUiSurface(@NonNull String);
1442  }
1443
1444  public final class AppPredictionManager {
1445    method @NonNull public android.app.prediction.AppPredictor createAppPredictionSession(@NonNull android.app.prediction.AppPredictionContext);
1446  }
1447
1448  public final class AppPredictionSessionId implements android.os.Parcelable {
1449    method public int describeContents();
1450    method public void writeToParcel(android.os.Parcel, int);
1451    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionSessionId> CREATOR;
1452  }
1453
1454  public final class AppPredictor {
1455    method public void destroy();
1456    method public void notifyAppTargetEvent(@NonNull android.app.prediction.AppTargetEvent);
1457    method public void notifyLaunchLocationShown(@NonNull String, @NonNull java.util.List<android.app.prediction.AppTargetId>);
1458    method public void registerPredictionUpdates(@NonNull java.util.concurrent.Executor, @NonNull android.app.prediction.AppPredictor.Callback);
1459    method public void requestPredictionUpdate();
1460    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>>);
1461    method public void unregisterPredictionUpdates(@NonNull android.app.prediction.AppPredictor.Callback);
1462  }
1463
1464  public static interface AppPredictor.Callback {
1465    method public void onTargetsAvailable(@NonNull java.util.List<android.app.prediction.AppTarget>);
1466  }
1467
1468  public final class AppTarget implements android.os.Parcelable {
1469    method public int describeContents();
1470    method @Nullable public String getClassName();
1471    method @NonNull public android.app.prediction.AppTargetId getId();
1472    method @NonNull public String getPackageName();
1473    method @IntRange(from=0) public int getRank();
1474    method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
1475    method @NonNull public android.os.UserHandle getUser();
1476    method public void writeToParcel(android.os.Parcel, int);
1477    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTarget> CREATOR;
1478  }
1479
1480  public static final class AppTarget.Builder {
1481    ctor public AppTarget.Builder(@NonNull android.app.prediction.AppTargetId, @NonNull String, @NonNull android.os.UserHandle);
1482    ctor public AppTarget.Builder(@NonNull android.app.prediction.AppTargetId, @NonNull android.content.pm.ShortcutInfo);
1483    method @NonNull public android.app.prediction.AppTarget build();
1484    method @NonNull public android.app.prediction.AppTarget.Builder setClassName(@NonNull String);
1485    method @NonNull public android.app.prediction.AppTarget.Builder setRank(@IntRange(from=0) int);
1486  }
1487
1488  public final class AppTargetEvent implements android.os.Parcelable {
1489    method public int describeContents();
1490    method public int getAction();
1491    method @Nullable public String getLaunchLocation();
1492    method @Nullable public android.app.prediction.AppTarget getTarget();
1493    method public void writeToParcel(android.os.Parcel, int);
1494    field public static final int ACTION_DISMISS = 2; // 0x2
1495    field public static final int ACTION_LAUNCH = 1; // 0x1
1496    field public static final int ACTION_PIN = 3; // 0x3
1497    field public static final int ACTION_UNPIN = 4; // 0x4
1498    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetEvent> CREATOR;
1499  }
1500
1501  public static final class AppTargetEvent.Builder {
1502    ctor public AppTargetEvent.Builder(@Nullable android.app.prediction.AppTarget, int);
1503    method @NonNull public android.app.prediction.AppTargetEvent build();
1504    method @NonNull public android.app.prediction.AppTargetEvent.Builder setLaunchLocation(@Nullable String);
1505  }
1506
1507  public final class AppTargetId implements android.os.Parcelable {
1508    ctor public AppTargetId(@NonNull String);
1509    method public int describeContents();
1510    method public void writeToParcel(android.os.Parcel, int);
1511    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetId> CREATOR;
1512  }
1513
1514}
1515
1516package android.app.role {
1517
1518  public interface OnRoleHoldersChangedListener {
1519    method public void onRoleHoldersChanged(@NonNull String, @NonNull android.os.UserHandle);
1520  }
1521
1522  @Deprecated public abstract class RoleControllerService extends android.app.Service {
1523    ctor @Deprecated public RoleControllerService();
1524    method @Deprecated @WorkerThread public abstract boolean onAddRoleHolder(@NonNull String, @NonNull String, int);
1525    method @Deprecated @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
1526    method @Deprecated @WorkerThread public abstract boolean onClearRoleHolders(@NonNull String, int);
1527    method @Deprecated @WorkerThread public abstract boolean onGrantDefaultRoles();
1528    method @Deprecated public abstract boolean onIsApplicationQualifiedForRole(@NonNull String, @NonNull String);
1529    method @Deprecated public boolean onIsApplicationVisibleForRole(@NonNull String, @NonNull String);
1530    method @Deprecated public abstract boolean onIsRoleVisible(@NonNull String);
1531    method @Deprecated @WorkerThread public abstract boolean onRemoveRoleHolder(@NonNull String, @NonNull String, int);
1532    field @Deprecated public static final String SERVICE_INTERFACE = "android.app.role.RoleControllerService";
1533  }
1534
1535  public final class RoleManager {
1536    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);
1537    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>);
1538    method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean addRoleHolderFromController(@NonNull String, @NonNull String);
1539    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>);
1540    method @Deprecated @NonNull @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public java.util.List<java.lang.String> getHeldRolesFromController(@NonNull String);
1541    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public java.util.List<java.lang.String> getRoleHolders(@NonNull String);
1542    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public java.util.List<java.lang.String> getRoleHoldersAsUser(@NonNull String, @NonNull android.os.UserHandle);
1543    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>);
1544    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public boolean isBypassingRoleQualification();
1545    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>);
1546    method @RequiresPermission(android.Manifest.permission.OBSERVE_ROLE_HOLDERS) public void removeOnRoleHoldersChangedListenerAsUser(@NonNull android.app.role.OnRoleHoldersChangedListener, @NonNull android.os.UserHandle);
1547    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>);
1548    method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean removeRoleHolderFromController(@NonNull String, @NonNull String);
1549    method @RequiresPermission(android.Manifest.permission.BYPASS_ROLE_QUALIFICATION) public void setBypassingRoleQualification(boolean);
1550    method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public void setRoleNamesFromController(@NonNull java.util.List<java.lang.String>);
1551    field public static final int MANAGE_HOLDERS_FLAG_DONT_KILL_APP = 1; // 0x1
1552    field public static final String ROLE_SYSTEM_ACTIVITY_RECOGNIZER = "android.app.role.SYSTEM_ACTIVITY_RECOGNIZER";
1553    field public static final String ROLE_SYSTEM_WELLBEING = "android.app.role.SYSTEM_WELLBEING";
1554  }
1555
1556}
1557
1558package android.app.search {
1559
1560  public final class Query implements android.os.Parcelable {
1561    ctor public Query(@NonNull String, long, @NonNull android.os.Bundle);
1562    ctor public Query(@NonNull String, long);
1563    method public int describeContents();
1564    method @NonNull public android.os.Bundle getExtras();
1565    method @NonNull public String getInput();
1566    method public long getTimestampMillis();
1567    method public void writeToParcel(@NonNull android.os.Parcel, int);
1568    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.Query> CREATOR;
1569    field public static final String EXTRA_IME_HEIGHT = "android.app.search.extra.IME_HEIGHT";
1570  }
1571
1572  public final class SearchAction implements android.os.Parcelable {
1573    method public int describeContents();
1574    method @Nullable public CharSequence getContentDescription();
1575    method @Nullable public android.os.Bundle getExtras();
1576    method @Nullable public android.graphics.drawable.Icon getIcon();
1577    method @NonNull public String getId();
1578    method @Nullable public android.content.Intent getIntent();
1579    method @Nullable public android.app.PendingIntent getPendingIntent();
1580    method @Nullable public CharSequence getSubtitle();
1581    method @NonNull public CharSequence getTitle();
1582    method @Nullable public android.os.UserHandle getUserHandle();
1583    method public void writeToParcel(@NonNull android.os.Parcel, int);
1584    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchAction> CREATOR;
1585  }
1586
1587  public static final class SearchAction.Builder {
1588    ctor public SearchAction.Builder(@NonNull String, @NonNull String);
1589    method @NonNull public android.app.search.SearchAction build();
1590    method @NonNull public android.app.search.SearchAction.Builder setContentDescription(@Nullable CharSequence);
1591    method @NonNull public android.app.search.SearchAction.Builder setExtras(@Nullable android.os.Bundle);
1592    method @NonNull public android.app.search.SearchAction.Builder setIcon(@Nullable android.graphics.drawable.Icon);
1593    method @NonNull public android.app.search.SearchAction.Builder setIntent(@Nullable android.content.Intent);
1594    method @NonNull public android.app.search.SearchAction.Builder setPendingIntent(@Nullable android.app.PendingIntent);
1595    method @NonNull public android.app.search.SearchAction.Builder setSubtitle(@Nullable CharSequence);
1596    method @NonNull public android.app.search.SearchAction.Builder setUserHandle(@Nullable android.os.UserHandle);
1597  }
1598
1599  public final class SearchContext implements android.os.Parcelable {
1600    ctor public SearchContext(int, int);
1601    ctor public SearchContext(int, int, @NonNull android.os.Bundle);
1602    method public int describeContents();
1603    method @NonNull public android.os.Bundle getExtras();
1604    method @Nullable public String getPackageName();
1605    method @NonNull public int getResultTypes();
1606    method @NonNull public int getTimeoutMillis();
1607    method public void writeToParcel(@NonNull android.os.Parcel, int);
1608    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchContext> CREATOR;
1609  }
1610
1611  public final class SearchSession implements java.lang.AutoCloseable {
1612    method public void close();
1613    method protected void finalize();
1614    method public void notifyEvent(@NonNull android.app.search.Query, @NonNull android.app.search.SearchTargetEvent);
1615    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>>);
1616  }
1617
1618  public final class SearchSessionId implements android.os.Parcelable {
1619    method public int describeContents();
1620    method public void writeToParcel(@NonNull android.os.Parcel, int);
1621    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchSessionId> CREATOR;
1622  }
1623
1624  public final class SearchTarget implements android.os.Parcelable {
1625    method public int describeContents();
1626    method @Nullable public android.appwidget.AppWidgetProviderInfo getAppWidgetProviderInfo();
1627    method @NonNull public android.os.Bundle getExtras();
1628    method @NonNull public String getId();
1629    method @NonNull public String getLayoutType();
1630    method @NonNull public String getPackageName();
1631    method @NonNull public String getParentId();
1632    method public int getResultType();
1633    method public float getScore();
1634    method @Nullable public android.app.search.SearchAction getSearchAction();
1635    method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
1636    method @Nullable public android.net.Uri getSliceUri();
1637    method @NonNull public android.os.UserHandle getUserHandle();
1638    method public boolean isHidden();
1639    method public void writeToParcel(@NonNull android.os.Parcel, int);
1640    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchTarget> CREATOR;
1641    field public static final String LAYOUT_TYPE_ICON = "icon";
1642    field public static final String LAYOUT_TYPE_ICON_ROW = "icon_row";
1643    field public static final String LAYOUT_TYPE_SHORT_ICON_ROW = "short_icon_row";
1644    field public static final int RESULT_TYPE_APPLICATION = 1; // 0x1
1645    field public static final int RESULT_TYPE_SHORTCUT = 2; // 0x2
1646    field public static final int RESULT_TYPE_SLICE = 4; // 0x4
1647    field public static final int RESULT_TYPE_WIDGETS = 8; // 0x8
1648  }
1649
1650  public static final class SearchTarget.Builder {
1651    ctor public SearchTarget.Builder(int, @NonNull String, @NonNull String);
1652    method @NonNull public android.app.search.SearchTarget build();
1653    method @NonNull public android.app.search.SearchTarget.Builder setAppWidgetProviderInfo(@NonNull android.appwidget.AppWidgetProviderInfo);
1654    method @NonNull public android.app.search.SearchTarget.Builder setExtras(@NonNull android.os.Bundle);
1655    method @NonNull public android.app.search.SearchTarget.Builder setHidden(boolean);
1656    method @NonNull public android.app.search.SearchTarget.Builder setPackageName(@NonNull String);
1657    method @NonNull public android.app.search.SearchTarget.Builder setParentId(@NonNull String);
1658    method @NonNull public android.app.search.SearchTarget.Builder setScore(@FloatRange(from=0.0f, to=1.0f) float);
1659    method @NonNull public android.app.search.SearchTarget.Builder setSearchAction(@Nullable android.app.search.SearchAction);
1660    method @NonNull public android.app.search.SearchTarget.Builder setShortcutInfo(@NonNull android.content.pm.ShortcutInfo);
1661    method @NonNull public android.app.search.SearchTarget.Builder setSliceUri(@NonNull android.net.Uri);
1662    method @NonNull public android.app.search.SearchTarget.Builder setUserHandle(@NonNull android.os.UserHandle);
1663  }
1664
1665  public final class SearchTargetEvent implements android.os.Parcelable {
1666    method public int describeContents();
1667    method public int getAction();
1668    method public int getFlags();
1669    method @Nullable public String getLaunchLocation();
1670    method @NonNull public String getTargetId();
1671    method @NonNull public java.util.List<java.lang.String> getTargetIds();
1672    method public void writeToParcel(@NonNull android.os.Parcel, int);
1673    field public static final int ACTION_DRAGNDROP = 7; // 0x7
1674    field public static final int ACTION_LAUNCH_KEYBOARD_FOCUS = 6; // 0x6
1675    field public static final int ACTION_LAUNCH_TOUCH = 5; // 0x5
1676    field public static final int ACTION_LONGPRESS = 4; // 0x4
1677    field public static final int ACTION_SURFACE_INVISIBLE = 8; // 0x8
1678    field public static final int ACTION_SURFACE_VISIBLE = 1; // 0x1
1679    field public static final int ACTION_TAP = 3; // 0x3
1680    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchTargetEvent> CREATOR;
1681    field public static final int FLAG_IME_SHOWN = 1; // 0x1
1682  }
1683
1684  public static final class SearchTargetEvent.Builder {
1685    ctor public SearchTargetEvent.Builder(@NonNull String, int);
1686    ctor public SearchTargetEvent.Builder(@NonNull java.util.List<java.lang.String>, int);
1687    method @NonNull public android.app.search.SearchTargetEvent build();
1688    method @NonNull public android.app.search.SearchTargetEvent.Builder setFlags(int);
1689    method @NonNull public android.app.search.SearchTargetEvent.Builder setLaunchLocation(@Nullable String);
1690  }
1691
1692  public final class SearchUiManager {
1693    method @NonNull public android.app.search.SearchSession createSearchSession(@NonNull android.app.search.SearchContext);
1694  }
1695
1696}
1697
1698package android.app.smartspace {
1699
1700  public final class SmartspaceAction implements android.os.Parcelable {
1701    method public int describeContents();
1702    method @Nullable public CharSequence getContentDescription();
1703    method @Nullable public android.os.Bundle getExtras();
1704    method @Nullable public android.graphics.drawable.Icon getIcon();
1705    method @NonNull public String getId();
1706    method @Nullable public android.content.Intent getIntent();
1707    method @Nullable public android.app.PendingIntent getPendingIntent();
1708    method @Nullable public CharSequence getSubtitle();
1709    method @NonNull public CharSequence getTitle();
1710    method @Nullable public android.os.UserHandle getUserHandle();
1711    method public void writeToParcel(@NonNull android.os.Parcel, int);
1712    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceAction> CREATOR;
1713  }
1714
1715  public static final class SmartspaceAction.Builder {
1716    ctor public SmartspaceAction.Builder(@NonNull String, @NonNull String);
1717    method @NonNull public android.app.smartspace.SmartspaceAction build();
1718    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setContentDescription(@Nullable CharSequence);
1719    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setExtras(@Nullable android.os.Bundle);
1720    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setIcon(@Nullable android.graphics.drawable.Icon);
1721    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setIntent(@Nullable android.content.Intent);
1722    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setPendingIntent(@Nullable android.app.PendingIntent);
1723    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setSubtitle(@Nullable CharSequence);
1724    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setUserHandle(@Nullable android.os.UserHandle);
1725  }
1726
1727  public final class SmartspaceConfig implements android.os.Parcelable {
1728    method public int describeContents();
1729    method @Nullable public android.os.Bundle getExtras();
1730    method @NonNull public String getPackageName();
1731    method @NonNull public int getSmartspaceTargetCount();
1732    method @NonNull public String getUiSurface();
1733    method public void writeToParcel(@NonNull android.os.Parcel, int);
1734    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceConfig> CREATOR;
1735  }
1736
1737  public static final class SmartspaceConfig.Builder {
1738    ctor public SmartspaceConfig.Builder(@NonNull android.content.Context, @NonNull String);
1739    method @NonNull public android.app.smartspace.SmartspaceConfig build();
1740    method @NonNull public android.app.smartspace.SmartspaceConfig.Builder setExtras(@NonNull android.os.Bundle);
1741    method @NonNull public android.app.smartspace.SmartspaceConfig.Builder setSmartspaceTargetCount(@IntRange(from=0, to=50) int);
1742  }
1743
1744  public final class SmartspaceManager {
1745    method @NonNull public android.app.smartspace.SmartspaceSession createSmartspaceSession(@NonNull android.app.smartspace.SmartspaceConfig);
1746  }
1747
1748  public final class SmartspaceSession implements java.lang.AutoCloseable {
1749    method public void addOnTargetsAvailableListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.smartspace.SmartspaceSession.OnTargetsAvailableListener);
1750    method public void close();
1751    method protected void finalize();
1752    method public void notifySmartspaceEvent(@NonNull android.app.smartspace.SmartspaceTargetEvent);
1753    method public void removeOnTargetsAvailableListener(@NonNull android.app.smartspace.SmartspaceSession.OnTargetsAvailableListener);
1754    method public void requestSmartspaceUpdate();
1755  }
1756
1757  public static interface SmartspaceSession.OnTargetsAvailableListener {
1758    method public void onTargetsAvailable(@NonNull java.util.List<android.app.smartspace.SmartspaceTarget>);
1759  }
1760
1761  public final class SmartspaceSessionId implements android.os.Parcelable {
1762    method public int describeContents();
1763    method @Nullable public String getId();
1764    method @NonNull public android.os.UserHandle getUserHandle();
1765    method public void writeToParcel(@NonNull android.os.Parcel, int);
1766    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceSessionId> CREATOR;
1767  }
1768
1769  public final class SmartspaceTarget implements android.os.Parcelable {
1770    method public int describeContents();
1771    method @NonNull public java.util.List<android.app.smartspace.SmartspaceAction> getActionChips();
1772    method @Nullable public String getAssociatedSmartspaceTargetId();
1773    method @Nullable public android.app.smartspace.SmartspaceAction getBaseAction();
1774    method @NonNull public android.content.ComponentName getComponentName();
1775    method public long getCreationTimeMillis();
1776    method public long getExpiryTimeMillis();
1777    method public int getFeatureType();
1778    method @Nullable public android.app.smartspace.SmartspaceAction getHeaderAction();
1779    method @NonNull public java.util.List<android.app.smartspace.SmartspaceAction> getIconGrid();
1780    method public float getScore();
1781    method @Nullable public android.net.Uri getSliceUri();
1782    method @NonNull public String getSmartspaceTargetId();
1783    method @Nullable public String getSourceNotificationKey();
1784    method @NonNull public android.os.UserHandle getUserHandle();
1785    method @Nullable public android.appwidget.AppWidgetProviderInfo getWidget();
1786    method public boolean isSensitive();
1787    method public boolean shouldShowExpanded();
1788    method public void writeToParcel(@NonNull android.os.Parcel, int);
1789    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceTarget> CREATOR;
1790    field public static final int FEATURE_ALARM = 7; // 0x7
1791    field public static final int FEATURE_BEDTIME_ROUTINE = 16; // 0x10
1792    field public static final int FEATURE_CALENDAR = 2; // 0x2
1793    field public static final int FEATURE_COMMUTE_TIME = 3; // 0x3
1794    field public static final int FEATURE_CONSENT = 11; // 0xb
1795    field public static final int FEATURE_ETA_MONITORING = 18; // 0x12
1796    field public static final int FEATURE_FITNESS_TRACKING = 17; // 0x11
1797    field public static final int FEATURE_FLIGHT = 4; // 0x4
1798    field public static final int FEATURE_LOYALTY_CARD = 14; // 0xe
1799    field public static final int FEATURE_MEDIA = 15; // 0xf
1800    field public static final int FEATURE_MISSED_CALL = 19; // 0x13
1801    field public static final int FEATURE_ONBOARDING = 8; // 0x8
1802    field public static final int FEATURE_PACKAGE_TRACKING = 20; // 0x14
1803    field public static final int FEATURE_REMINDER = 6; // 0x6
1804    field public static final int FEATURE_SHOPPING_LIST = 13; // 0xd
1805    field public static final int FEATURE_SPORTS = 9; // 0x9
1806    field public static final int FEATURE_STOCK_PRICE_CHANGE = 12; // 0xc
1807    field public static final int FEATURE_STOPWATCH = 22; // 0x16
1808    field public static final int FEATURE_TIMER = 21; // 0x15
1809    field public static final int FEATURE_TIPS = 5; // 0x5
1810    field public static final int FEATURE_UNDEFINED = 0; // 0x0
1811    field public static final int FEATURE_UPCOMING_ALARM = 23; // 0x17
1812    field public static final int FEATURE_WEATHER = 1; // 0x1
1813    field public static final int FEATURE_WEATHER_ALERT = 10; // 0xa
1814  }
1815
1816  public static final class SmartspaceTarget.Builder {
1817    ctor public SmartspaceTarget.Builder(@NonNull String, @NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
1818    method @NonNull public android.app.smartspace.SmartspaceTarget build();
1819    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setActionChips(@NonNull java.util.List<android.app.smartspace.SmartspaceAction>);
1820    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setAssociatedSmartspaceTargetId(@NonNull String);
1821    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setBaseAction(@NonNull android.app.smartspace.SmartspaceAction);
1822    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setCreationTimeMillis(long);
1823    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setExpiryTimeMillis(long);
1824    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setFeatureType(int);
1825    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setHeaderAction(@NonNull android.app.smartspace.SmartspaceAction);
1826    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setIconGrid(@NonNull java.util.List<android.app.smartspace.SmartspaceAction>);
1827    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setScore(float);
1828    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSensitive(boolean);
1829    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setShouldShowExpanded(boolean);
1830    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSliceUri(@NonNull android.net.Uri);
1831    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSourceNotificationKey(@NonNull String);
1832    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setWidget(@NonNull android.appwidget.AppWidgetProviderInfo);
1833  }
1834
1835  public final class SmartspaceTargetEvent implements android.os.Parcelable {
1836    method public int describeContents();
1837    method @NonNull public int getEventType();
1838    method @Nullable public String getSmartspaceActionId();
1839    method @Nullable public android.app.smartspace.SmartspaceTarget getSmartspaceTarget();
1840    method public void writeToParcel(@NonNull android.os.Parcel, int);
1841    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceTargetEvent> CREATOR;
1842    field public static final int EVENT_TARGET_BLOCK = 5; // 0x5
1843    field public static final int EVENT_TARGET_DISMISS = 4; // 0x4
1844    field public static final int EVENT_TARGET_HIDDEN = 3; // 0x3
1845    field public static final int EVENT_TARGET_INTERACTION = 1; // 0x1
1846    field public static final int EVENT_TARGET_SHOWN = 2; // 0x2
1847    field public static final int EVENT_UI_SURFACE_HIDDEN = 7; // 0x7
1848    field public static final int EVENT_UI_SURFACE_SHOWN = 6; // 0x6
1849  }
1850
1851  public static final class SmartspaceTargetEvent.Builder {
1852    ctor public SmartspaceTargetEvent.Builder(int);
1853    method @NonNull public android.app.smartspace.SmartspaceTargetEvent build();
1854    method @NonNull public android.app.smartspace.SmartspaceTargetEvent.Builder setSmartspaceActionId(@NonNull String);
1855    method @NonNull public android.app.smartspace.SmartspaceTargetEvent.Builder setSmartspaceTarget(@NonNull android.app.smartspace.SmartspaceTarget);
1856  }
1857
1858}
1859
1860package android.app.time {
1861
1862  public final class Capabilities {
1863    field public static final int CAPABILITY_NOT_ALLOWED = 20; // 0x14
1864    field public static final int CAPABILITY_NOT_APPLICABLE = 30; // 0x1e
1865    field public static final int CAPABILITY_NOT_SUPPORTED = 10; // 0xa
1866    field public static final int CAPABILITY_POSSESSED = 40; // 0x28
1867  }
1868
1869  public final class ExternalTimeSuggestion implements android.os.Parcelable {
1870    ctor public ExternalTimeSuggestion(long, long);
1871    method public void addDebugInfo(@NonNull java.lang.String...);
1872    method public int describeContents();
1873    method @NonNull public java.util.List<java.lang.String> getDebugInfo();
1874    method public void writeToParcel(@NonNull android.os.Parcel, int);
1875    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.ExternalTimeSuggestion> CREATOR;
1876  }
1877
1878  public final class TimeManager {
1879    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public void addTimeZoneDetectorListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.time.TimeManager.TimeZoneDetectorListener);
1880    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeZoneCapabilitiesAndConfig getTimeZoneCapabilitiesAndConfig();
1881    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public void removeTimeZoneDetectorListener(@NonNull android.app.time.TimeManager.TimeZoneDetectorListener);
1882    method @RequiresPermission(android.Manifest.permission.SUGGEST_EXTERNAL_TIME) public void suggestExternalTime(@NonNull android.app.time.ExternalTimeSuggestion);
1883    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean updateTimeZoneConfiguration(@NonNull android.app.time.TimeZoneConfiguration);
1884  }
1885
1886  @java.lang.FunctionalInterface public static interface TimeManager.TimeZoneDetectorListener {
1887    method public void onChange();
1888  }
1889
1890  public final class TimeZoneCapabilities implements android.os.Parcelable {
1891    method public int describeContents();
1892    method public int getConfigureAutoDetectionEnabledCapability();
1893    method public int getConfigureGeoDetectionEnabledCapability();
1894    method public void writeToParcel(@NonNull android.os.Parcel, int);
1895    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneCapabilities> CREATOR;
1896  }
1897
1898  public final class TimeZoneCapabilitiesAndConfig implements android.os.Parcelable {
1899    method public int describeContents();
1900    method @NonNull public android.app.time.TimeZoneCapabilities getCapabilities();
1901    method @NonNull public android.app.time.TimeZoneConfiguration getConfiguration();
1902    method public void writeToParcel(@NonNull android.os.Parcel, int);
1903    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneCapabilitiesAndConfig> CREATOR;
1904  }
1905
1906  public final class TimeZoneConfiguration implements android.os.Parcelable {
1907    method public int describeContents();
1908    method public boolean isAutoDetectionEnabled();
1909    method public boolean isGeoDetectionEnabled();
1910    method public void writeToParcel(@NonNull android.os.Parcel, int);
1911    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneConfiguration> CREATOR;
1912  }
1913
1914  public static final class TimeZoneConfiguration.Builder {
1915    ctor public TimeZoneConfiguration.Builder();
1916    ctor public TimeZoneConfiguration.Builder(@NonNull android.app.time.TimeZoneConfiguration);
1917    method @NonNull public android.app.time.TimeZoneConfiguration build();
1918    method @NonNull public android.app.time.TimeZoneConfiguration.Builder setAutoDetectionEnabled(boolean);
1919    method @NonNull public android.app.time.TimeZoneConfiguration.Builder setGeoDetectionEnabled(boolean);
1920  }
1921
1922}
1923
1924package android.app.usage {
1925
1926  public final class CacheQuotaHint implements android.os.Parcelable {
1927    ctor public CacheQuotaHint(@NonNull android.app.usage.CacheQuotaHint.Builder);
1928    method public int describeContents();
1929    method public long getQuota();
1930    method public int getUid();
1931    method @Nullable public android.app.usage.UsageStats getUsageStats();
1932    method @Nullable public String getVolumeUuid();
1933    method public void writeToParcel(@NonNull android.os.Parcel, int);
1934    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.CacheQuotaHint> CREATOR;
1935    field public static final long QUOTA_NOT_SET = -1L; // 0xffffffffffffffffL
1936  }
1937
1938  public static final class CacheQuotaHint.Builder {
1939    ctor public CacheQuotaHint.Builder();
1940    ctor public CacheQuotaHint.Builder(@NonNull android.app.usage.CacheQuotaHint);
1941    method @NonNull public android.app.usage.CacheQuotaHint build();
1942    method @NonNull public android.app.usage.CacheQuotaHint.Builder setQuota(long);
1943    method @NonNull public android.app.usage.CacheQuotaHint.Builder setUid(int);
1944    method @NonNull public android.app.usage.CacheQuotaHint.Builder setUsageStats(@Nullable android.app.usage.UsageStats);
1945    method @NonNull public android.app.usage.CacheQuotaHint.Builder setVolumeUuid(@Nullable String);
1946  }
1947
1948  public abstract class CacheQuotaService extends android.app.Service {
1949    ctor public CacheQuotaService();
1950    method public android.os.IBinder onBind(android.content.Intent);
1951    method public abstract java.util.List<android.app.usage.CacheQuotaHint> onComputeCacheQuotaHints(java.util.List<android.app.usage.CacheQuotaHint>);
1952    field public static final String SERVICE_INTERFACE = "android.app.usage.CacheQuotaService";
1953  }
1954
1955  public class NetworkStatsManager {
1956    method @NonNull @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);
1957    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STATS_PROVIDER, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void unregisterNetworkStatsProvider(@NonNull android.net.netstats.provider.NetworkStatsProvider);
1958  }
1959
1960  public static final class UsageEvents.Event {
1961    method public int getInstanceId();
1962    method @Nullable public String getNotificationChannelId();
1963    method @Nullable public String getTaskRootClassName();
1964    method @Nullable public String getTaskRootPackageName();
1965    method public boolean isInstantApp();
1966    field public static final int NOTIFICATION_INTERRUPTION = 12; // 0xc
1967    field public static final int NOTIFICATION_SEEN = 10; // 0xa
1968    field public static final int SLICE_PINNED = 14; // 0xe
1969    field public static final int SLICE_PINNED_PRIV = 13; // 0xd
1970    field public static final int SYSTEM_INTERACTION = 6; // 0x6
1971  }
1972
1973  public final class UsageStats implements android.os.Parcelable {
1974    method public int getAppLaunchCount();
1975    method public long getLastTimeAnyComponentUsed();
1976  }
1977
1978  public final class UsageStatsManager {
1979    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getAppStandbyBucket(String);
1980    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public java.util.Map<java.lang.String,java.lang.Integer> getAppStandbyBuckets();
1981    method @RequiresPermission(allOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long getLastTimeAnyComponentUsed(@NonNull String);
1982    method public int getUsageSource();
1983    method @RequiresPermission(android.Manifest.permission.BIND_CARRIER_SERVICES) public void onCarrierPrivilegedAppsChanged();
1984    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);
1985    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void registerAppUsageObserver(int, @NonNull String[], long, @NonNull java.util.concurrent.TimeUnit, @NonNull android.app.PendingIntent);
1986    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);
1987    method public void reportUsageStart(@NonNull android.app.Activity, @NonNull String);
1988    method public void reportUsageStart(@NonNull android.app.Activity, @NonNull String, long);
1989    method public void reportUsageStop(@NonNull android.app.Activity, @NonNull String);
1990    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_IDLE_STATE) public void setAppStandbyBucket(String, int);
1991    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_IDLE_STATE) public void setAppStandbyBuckets(java.util.Map<java.lang.String,java.lang.Integer>);
1992    method @RequiresPermission(allOf={android.Manifest.permission.SUSPEND_APPS, android.Manifest.permission.OBSERVE_APP_USAGE}) public void unregisterAppUsageLimitObserver(int);
1993    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void unregisterAppUsageObserver(int);
1994    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void unregisterUsageSessionObserver(int);
1995    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(String, long, android.os.UserHandle);
1996    field public static final String EXTRA_OBSERVER_ID = "android.app.usage.extra.OBSERVER_ID";
1997    field public static final String EXTRA_TIME_LIMIT = "android.app.usage.extra.TIME_LIMIT";
1998    field public static final String EXTRA_TIME_USED = "android.app.usage.extra.TIME_USED";
1999    field public static final int STANDBY_BUCKET_EXEMPTED = 5; // 0x5
2000    field public static final int STANDBY_BUCKET_NEVER = 50; // 0x32
2001    field public static final int USAGE_SOURCE_CURRENT_ACTIVITY = 2; // 0x2
2002    field public static final int USAGE_SOURCE_TASK_ROOT_ACTIVITY = 1; // 0x1
2003  }
2004
2005}
2006
2007package android.apphibernation {
2008
2009  public class AppHibernationManager {
2010    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public java.util.List<java.lang.String> getHibernatingPackagesForUser();
2011    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public boolean isHibernatingForUser(@NonNull String);
2012    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public boolean isHibernatingGlobally(@NonNull String);
2013    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void setHibernatingForUser(@NonNull String, boolean);
2014    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void setHibernatingGlobally(@NonNull String, boolean);
2015  }
2016
2017}
2018
2019package android.bluetooth {
2020
2021  public final class BluetoothA2dp implements android.bluetooth.BluetoothProfile {
2022    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BufferConstraints getBufferConstraints();
2023    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
2024    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getDynamicBufferSupport();
2025    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setBufferLengthMillis(int, int);
2026    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
2027    field public static final int DYNAMIC_BUFFER_SUPPORT_A2DP_OFFLOAD = 1; // 0x1
2028    field public static final int DYNAMIC_BUFFER_SUPPORT_A2DP_SOFTWARE_ENCODING = 2; // 0x2
2029    field public static final int DYNAMIC_BUFFER_SUPPORT_NONE = 0; // 0x0
2030    field public static final int OPTIONAL_CODECS_NOT_SUPPORTED = 0; // 0x0
2031    field public static final int OPTIONAL_CODECS_PREF_DISABLED = 0; // 0x0
2032    field public static final int OPTIONAL_CODECS_PREF_ENABLED = 1; // 0x1
2033    field public static final int OPTIONAL_CODECS_PREF_UNKNOWN = -1; // 0xffffffff
2034    field public static final int OPTIONAL_CODECS_SUPPORTED = 1; // 0x1
2035    field public static final int OPTIONAL_CODECS_SUPPORT_UNKNOWN = -1; // 0xffffffff
2036  }
2037
2038  public final class BluetoothA2dpSink implements android.bluetooth.BluetoothProfile {
2039    method public void finalize();
2040    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
2041    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isAudioPlaying(@NonNull android.bluetooth.BluetoothDevice);
2042    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
2043    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.a2dp-sink.profile.action.CONNECTION_STATE_CHANGED";
2044  }
2045
2046  public final class BluetoothAdapter {
2047    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);
2048    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disableBLE();
2049    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enableBLE();
2050    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enableNoAutoConnect();
2051    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);
2052    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public long getDiscoveryEndMillis();
2053    method public boolean isBleScanAlwaysAvailable();
2054    method public boolean isLeEnabled();
2055    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean removeActiveDevice(int);
2056    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);
2057    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);
2058    field public static final String ACTION_BLE_STATE_CHANGED = "android.bluetooth.adapter.action.BLE_STATE_CHANGED";
2059    field public static final String ACTION_REQUEST_BLE_SCAN_ALWAYS_AVAILABLE = "android.bluetooth.adapter.action.REQUEST_BLE_SCAN_ALWAYS_AVAILABLE";
2060    field public static final int ACTIVE_DEVICE_ALL = 2; // 0x2
2061    field public static final int ACTIVE_DEVICE_AUDIO = 0; // 0x0
2062    field public static final int ACTIVE_DEVICE_PHONE_CALL = 1; // 0x1
2063  }
2064
2065  public static interface BluetoothAdapter.OnMetadataChangedListener {
2066    method public void onMetadataChanged(@NonNull android.bluetooth.BluetoothDevice, int, @Nullable byte[]);
2067  }
2068
2069  public static interface BluetoothAdapter.OobDataCallback {
2070    method public void onError(int);
2071    method public void onOobData(int, @NonNull android.bluetooth.OobData);
2072  }
2073
2074  public final class BluetoothDevice implements android.os.Parcelable {
2075    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean canBondWithoutDialog();
2076    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean cancelBondProcess();
2077    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean createBondOutOfBand(int, @Nullable android.bluetooth.OobData, @Nullable android.bluetooth.OobData);
2078    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public byte[] getMetadata(int);
2079    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getSimAccessPermission();
2080    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isConnected();
2081    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isEncrypted();
2082    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isInSilenceMode();
2083    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean removeBond();
2084    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setMessageAccessPermission(int);
2085    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setMetadata(int, @NonNull byte[]);
2086    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setPhonebookAccessPermission(int);
2087    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setSilenceMode(boolean);
2088    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setSimAccessPermission(int);
2089    field public static final int ACCESS_ALLOWED = 1; // 0x1
2090    field public static final int ACCESS_REJECTED = 2; // 0x2
2091    field public static final int ACCESS_UNKNOWN = 0; // 0x0
2092    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_SILENCE_MODE_CHANGED = "android.bluetooth.device.action.SILENCE_MODE_CHANGED";
2093    field public static final String DEVICE_TYPE_DEFAULT = "Default";
2094    field public static final String DEVICE_TYPE_UNTETHERED_HEADSET = "Untethered Headset";
2095    field public static final String DEVICE_TYPE_WATCH = "Watch";
2096    field public static final int METADATA_COMPANION_APP = 4; // 0x4
2097    field public static final int METADATA_DEVICE_TYPE = 17; // 0x11
2098    field public static final int METADATA_ENHANCED_SETTINGS_UI_URI = 16; // 0x10
2099    field public static final int METADATA_HARDWARE_VERSION = 3; // 0x3
2100    field public static final int METADATA_IS_UNTETHERED_HEADSET = 6; // 0x6
2101    field public static final int METADATA_MAIN_BATTERY = 18; // 0x12
2102    field public static final int METADATA_MAIN_CHARGING = 19; // 0x13
2103    field public static final int METADATA_MAIN_ICON = 5; // 0x5
2104    field public static final int METADATA_MAIN_LOW_BATTERY_THRESHOLD = 20; // 0x14
2105    field public static final int METADATA_MANUFACTURER_NAME = 0; // 0x0
2106    field public static final int METADATA_MAX_LENGTH = 2048; // 0x800
2107    field public static final int METADATA_MODEL_NAME = 1; // 0x1
2108    field public static final int METADATA_SOFTWARE_VERSION = 2; // 0x2
2109    field public static final int METADATA_UNTETHERED_CASE_BATTERY = 12; // 0xc
2110    field public static final int METADATA_UNTETHERED_CASE_CHARGING = 15; // 0xf
2111    field public static final int METADATA_UNTETHERED_CASE_ICON = 9; // 0x9
2112    field public static final int METADATA_UNTETHERED_CASE_LOW_BATTERY_THRESHOLD = 23; // 0x17
2113    field public static final int METADATA_UNTETHERED_LEFT_BATTERY = 10; // 0xa
2114    field public static final int METADATA_UNTETHERED_LEFT_CHARGING = 13; // 0xd
2115    field public static final int METADATA_UNTETHERED_LEFT_ICON = 7; // 0x7
2116    field public static final int METADATA_UNTETHERED_LEFT_LOW_BATTERY_THRESHOLD = 21; // 0x15
2117    field public static final int METADATA_UNTETHERED_RIGHT_BATTERY = 11; // 0xb
2118    field public static final int METADATA_UNTETHERED_RIGHT_CHARGING = 14; // 0xe
2119    field public static final int METADATA_UNTETHERED_RIGHT_ICON = 8; // 0x8
2120    field public static final int METADATA_UNTETHERED_RIGHT_LOW_BATTERY_THRESHOLD = 22; // 0x16
2121  }
2122
2123  public final class BluetoothHeadset implements android.bluetooth.BluetoothProfile {
2124    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean connect(android.bluetooth.BluetoothDevice);
2125    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disconnect(android.bluetooth.BluetoothDevice);
2126    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
2127    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);
2128  }
2129
2130  public final class BluetoothHearingAid implements android.bluetooth.BluetoothProfile {
2131    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
2132    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public long getHiSyncId(@NonNull android.bluetooth.BluetoothDevice);
2133    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
2134  }
2135
2136  public final class BluetoothHidDevice implements android.bluetooth.BluetoothProfile {
2137    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
2138  }
2139
2140  public final class BluetoothHidHost implements android.bluetooth.BluetoothProfile {
2141    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
2142    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
2143    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
2144    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
2145    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.input.profile.action.CONNECTION_STATE_CHANGED";
2146  }
2147
2148  public final class BluetoothMap implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
2149    method public void close();
2150    method protected void finalize();
2151    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
2152    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
2153    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
2154    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.map.profile.action.CONNECTION_STATE_CHANGED";
2155  }
2156
2157  public final class BluetoothMapClient implements android.bluetooth.BluetoothProfile {
2158    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);
2159  }
2160
2161  public final class BluetoothPan implements android.bluetooth.BluetoothProfile {
2162    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
2163    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
2164    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isTetheringOn();
2165    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.TETHER_PRIVILEGED}) public void setBluetoothTethering(boolean);
2166    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
2167    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED";
2168    field public static final String ACTION_TETHERING_STATE_CHANGED = "android.bluetooth.action.TETHERING_STATE_CHANGED";
2169    field public static final String EXTRA_LOCAL_ROLE = "android.bluetooth.pan.extra.LOCAL_ROLE";
2170    field public static final String EXTRA_TETHERING_STATE = "android.bluetooth.extra.TETHERING_STATE";
2171    field public static final int LOCAL_NAP_ROLE = 1; // 0x1
2172    field public static final int LOCAL_PANU_ROLE = 2; // 0x2
2173    field public static final int PAN_ROLE_NONE = 0; // 0x0
2174    field public static final int REMOTE_NAP_ROLE = 1; // 0x1
2175    field public static final int REMOTE_PANU_ROLE = 2; // 0x2
2176    field public static final int TETHERING_STATE_OFF = 1; // 0x1
2177    field public static final int TETHERING_STATE_ON = 2; // 0x2
2178  }
2179
2180  public class BluetoothPbap implements android.bluetooth.BluetoothProfile {
2181    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
2182    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
2183    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.pbap.profile.action.CONNECTION_STATE_CHANGED";
2184  }
2185
2186  public interface BluetoothProfile {
2187    field public static final int A2DP_SINK = 11; // 0xb
2188    field public static final int AVRCP_CONTROLLER = 12; // 0xc
2189    field public static final int CONNECTION_POLICY_ALLOWED = 100; // 0x64
2190    field public static final int CONNECTION_POLICY_FORBIDDEN = 0; // 0x0
2191    field public static final int CONNECTION_POLICY_UNKNOWN = -1; // 0xffffffff
2192    field public static final int HEADSET_CLIENT = 16; // 0x10
2193    field public static final int MAP_CLIENT = 18; // 0x12
2194    field public static final int PAN = 5; // 0x5
2195    field public static final int PBAP_CLIENT = 17; // 0x11
2196    field @Deprecated public static final int PRIORITY_OFF = 0; // 0x0
2197    field @Deprecated public static final int PRIORITY_ON = 100; // 0x64
2198  }
2199
2200  public final class BluetoothStatusCodes {
2201    field public static final int ERROR_ANOTHER_ACTIVE_OOB_REQUEST = 1000; // 0x3e8
2202  }
2203
2204  public final class BluetoothUuid {
2205    method public static boolean containsAnyUuid(@Nullable android.os.ParcelUuid[], @Nullable android.os.ParcelUuid[]);
2206    method @NonNull public static android.os.ParcelUuid parseUuidFrom(@Nullable byte[]);
2207    field @NonNull public static final android.os.ParcelUuid A2DP_SINK;
2208    field @NonNull public static final android.os.ParcelUuid A2DP_SOURCE;
2209    field @NonNull public static final android.os.ParcelUuid ADV_AUDIO_DIST;
2210    field @NonNull public static final android.os.ParcelUuid AVRCP_CONTROLLER;
2211    field @NonNull public static final android.os.ParcelUuid AVRCP_TARGET;
2212    field @NonNull public static final android.os.ParcelUuid BASE_UUID;
2213    field @NonNull public static final android.os.ParcelUuid BNEP;
2214    field @NonNull public static final android.os.ParcelUuid DIP;
2215    field @NonNull public static final android.os.ParcelUuid HEARING_AID;
2216    field @NonNull public static final android.os.ParcelUuid HFP;
2217    field @NonNull public static final android.os.ParcelUuid HFP_AG;
2218    field @NonNull public static final android.os.ParcelUuid HID;
2219    field @NonNull public static final android.os.ParcelUuid HOGP;
2220    field @NonNull public static final android.os.ParcelUuid HSP;
2221    field @NonNull public static final android.os.ParcelUuid HSP_AG;
2222    field @NonNull public static final android.os.ParcelUuid LE_AUDIO;
2223    field @NonNull public static final android.os.ParcelUuid MAP;
2224    field @NonNull public static final android.os.ParcelUuid MAS;
2225    field @NonNull public static final android.os.ParcelUuid MNS;
2226    field @NonNull public static final android.os.ParcelUuid NAP;
2227    field @NonNull public static final android.os.ParcelUuid OBEX_OBJECT_PUSH;
2228    field @NonNull public static final android.os.ParcelUuid PANU;
2229    field @NonNull public static final android.os.ParcelUuid PBAP_PCE;
2230    field @NonNull public static final android.os.ParcelUuid PBAP_PSE;
2231    field @NonNull public static final android.os.ParcelUuid SAP;
2232    field public static final int UUID_BYTES_128_BIT = 16; // 0x10
2233    field public static final int UUID_BYTES_16_BIT = 2; // 0x2
2234    field public static final int UUID_BYTES_32_BIT = 4; // 0x4
2235    field @NonNull public static final android.os.ParcelUuid VOLUME_CONTROL;
2236  }
2237
2238  public final class BufferConstraint implements android.os.Parcelable {
2239    ctor public BufferConstraint(int, int, int);
2240    method public int describeContents();
2241    method public int getDefaultMillis();
2242    method public int getMaxMillis();
2243    method public int getMinMillis();
2244    method public void writeToParcel(@NonNull android.os.Parcel, int);
2245    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BufferConstraint> CREATOR;
2246  }
2247
2248  public final class BufferConstraints implements android.os.Parcelable {
2249    ctor public BufferConstraints(@NonNull java.util.List<android.bluetooth.BufferConstraint>);
2250    method public int describeContents();
2251    method @Nullable public android.bluetooth.BufferConstraint forCodec(int);
2252    method public void writeToParcel(@NonNull android.os.Parcel, int);
2253    field public static final int BUFFER_CODEC_MAX_NUM = 32; // 0x20
2254    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BufferConstraints> CREATOR;
2255  }
2256
2257  public final class OobData implements android.os.Parcelable {
2258    method @NonNull public byte[] getClassOfDevice();
2259    method @NonNull public byte[] getClassicLength();
2260    method @NonNull public byte[] getConfirmationHash();
2261    method @NonNull public byte[] getDeviceAddressWithType();
2262    method @Nullable public byte[] getDeviceName();
2263    method @Nullable public byte[] getLeAppearance();
2264    method @NonNull public int getLeDeviceRole();
2265    method @NonNull public int getLeFlags();
2266    method @Nullable public byte[] getLeTemporaryKey();
2267    method @NonNull public byte[] getRandomizerHash();
2268    field public static final int CLASS_OF_DEVICE_OCTETS = 3; // 0x3
2269    field public static final int CONFIRMATION_OCTETS = 16; // 0x10
2270    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.OobData> CREATOR;
2271    field public static final int DEVICE_ADDRESS_OCTETS = 7; // 0x7
2272    field public static final int LE_APPEARANCE_OCTETS = 2; // 0x2
2273    field public static final int LE_DEVICE_FLAG_OCTETS = 1; // 0x1
2274    field public static final int LE_DEVICE_ROLE_BOTH_PREFER_CENTRAL = 3; // 0x3
2275    field public static final int LE_DEVICE_ROLE_BOTH_PREFER_PERIPHERAL = 2; // 0x2
2276    field public static final int LE_DEVICE_ROLE_CENTRAL_ONLY = 1; // 0x1
2277    field public static final int LE_DEVICE_ROLE_OCTETS = 1; // 0x1
2278    field public static final int LE_DEVICE_ROLE_PERIPHERAL_ONLY = 0; // 0x0
2279    field public static final int LE_FLAG_BREDR_NOT_SUPPORTED = 2; // 0x2
2280    field public static final int LE_FLAG_GENERAL_DISCOVERY_MODE = 1; // 0x1
2281    field public static final int LE_FLAG_LIMITED_DISCOVERY_MODE = 0; // 0x0
2282    field public static final int LE_FLAG_SIMULTANEOUS_CONTROLLER = 3; // 0x3
2283    field public static final int LE_FLAG_SIMULTANEOUS_HOST = 4; // 0x4
2284    field public static final int LE_TK_OCTETS = 16; // 0x10
2285    field public static final int OOB_LENGTH_OCTETS = 2; // 0x2
2286    field public static final int RANDOMIZER_OCTETS = 16; // 0x10
2287  }
2288
2289  public static final class OobData.ClassicBuilder {
2290    ctor public OobData.ClassicBuilder(@NonNull byte[], @NonNull byte[], @NonNull byte[]);
2291    method @NonNull public android.bluetooth.OobData build();
2292    method @NonNull public android.bluetooth.OobData.ClassicBuilder setClassOfDevice(@NonNull byte[]);
2293    method @NonNull public android.bluetooth.OobData.ClassicBuilder setDeviceName(@NonNull byte[]);
2294    method @NonNull public android.bluetooth.OobData.ClassicBuilder setRandomizerHash(@NonNull byte[]);
2295  }
2296
2297  public static final class OobData.LeBuilder {
2298    ctor public OobData.LeBuilder(@NonNull byte[], @NonNull byte[], int);
2299    method @NonNull public android.bluetooth.OobData build();
2300    method @NonNull public android.bluetooth.OobData.LeBuilder setDeviceName(@NonNull byte[]);
2301    method @NonNull public android.bluetooth.OobData.LeBuilder setLeFlags(int);
2302    method @NonNull public android.bluetooth.OobData.LeBuilder setLeTemporaryKey(@NonNull byte[]);
2303    method @NonNull public android.bluetooth.OobData.LeBuilder setRandomizerHash(@NonNull byte[]);
2304  }
2305
2306}
2307
2308package android.bluetooth.le {
2309
2310  public final class BluetoothLeScanner {
2311    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.UPDATE_DEVICE_STATS}) public void startScanFromSource(android.os.WorkSource, android.bluetooth.le.ScanCallback);
2312    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);
2313    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void startTruncatedScan(java.util.List<android.bluetooth.le.TruncatedFilter>, android.bluetooth.le.ScanSettings, android.bluetooth.le.ScanCallback);
2314  }
2315
2316  public final class ResultStorageDescriptor implements android.os.Parcelable {
2317    ctor public ResultStorageDescriptor(int, int, int);
2318    method public int describeContents();
2319    method public int getLength();
2320    method public int getOffset();
2321    method public int getType();
2322    method public void writeToParcel(android.os.Parcel, int);
2323    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ResultStorageDescriptor> CREATOR;
2324  }
2325
2326  public final class ScanFilter implements android.os.Parcelable {
2327    method public int getAddressType();
2328    method @Nullable public byte[] getIrk();
2329  }
2330
2331  public static final class ScanFilter.Builder {
2332    method @NonNull public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(@NonNull String, int);
2333    method @NonNull public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(@NonNull String, int, @NonNull byte[]);
2334    field public static final int LEN_IRK_OCTETS = 16; // 0x10
2335  }
2336
2337  public final class ScanSettings implements android.os.Parcelable {
2338    field public static final int SCAN_MODE_AMBIENT_DISCOVERY = 3; // 0x3
2339    field public static final int SCAN_RESULT_TYPE_ABBREVIATED = 1; // 0x1
2340    field public static final int SCAN_RESULT_TYPE_FULL = 0; // 0x0
2341  }
2342
2343  public static final class ScanSettings.Builder {
2344    method public android.bluetooth.le.ScanSettings.Builder setScanResultType(int);
2345  }
2346
2347  public final class TruncatedFilter {
2348    ctor public TruncatedFilter(android.bluetooth.le.ScanFilter, java.util.List<android.bluetooth.le.ResultStorageDescriptor>);
2349    method public android.bluetooth.le.ScanFilter getFilter();
2350    method public java.util.List<android.bluetooth.le.ResultStorageDescriptor> getStorageDescriptors();
2351  }
2352
2353}
2354
2355package android.companion {
2356
2357  public final class CompanionDeviceManager {
2358    method @RequiresPermission(android.Manifest.permission.ASSOCIATE_COMPANION_DEVICES) public void associate(@NonNull String, @NonNull android.net.MacAddress, @NonNull byte[]);
2359    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public boolean canPairWithoutPrompt(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
2360    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public boolean isDeviceAssociatedForWifiConnection(@NonNull String, @NonNull android.net.MacAddress, @NonNull android.os.UserHandle);
2361  }
2362
2363}
2364
2365package android.content {
2366
2367  public class ApexEnvironment {
2368    method @NonNull public static android.content.ApexEnvironment getApexEnvironment(@NonNull String);
2369    method @NonNull public java.io.File getCredentialProtectedDataDirForUser(@NonNull android.os.UserHandle);
2370    method @NonNull public java.io.File getDeviceProtectedDataDir();
2371    method @NonNull public java.io.File getDeviceProtectedDataDirForUser(@NonNull android.os.UserHandle);
2372  }
2373
2374  public final class AttributionSource implements android.os.Parcelable {
2375    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public java.util.Set<java.lang.String> getRenouncedPermissions();
2376  }
2377
2378  public static final class AttributionSource.Builder {
2379    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public android.content.AttributionSource.Builder setRenouncedPermissions(@Nullable java.util.Set<java.lang.String>);
2380  }
2381
2382  public abstract class BroadcastReceiver {
2383    method @NonNull public final android.os.UserHandle getSendingUser();
2384  }
2385
2386  public class ClipboardManager extends android.text.ClipboardManager {
2387    method @RequiresPermission(android.Manifest.permission.SET_CLIP_SOURCE) public void setPrimaryClipAsPackage(@NonNull android.content.ClipData, @NonNull String);
2388  }
2389
2390  public abstract class ContentProvider implements android.content.ComponentCallbacks2 {
2391    method public int checkUriPermission(@NonNull android.net.Uri, int, int);
2392  }
2393
2394  public class ContentProviderClient implements java.lang.AutoCloseable {
2395    method @RequiresPermission(android.Manifest.permission.REMOVE_TASKS) public void setDetectNotResponding(long);
2396  }
2397
2398  public abstract class ContentResolver {
2399    method public int checkUriPermission(@NonNull android.net.Uri, int, int);
2400    method @NonNull public static android.net.Uri decodeFromFile(@NonNull java.io.File);
2401    method @NonNull public static java.io.File encodeToFile(@NonNull android.net.Uri);
2402    method @Nullable @RequiresPermission("android.permission.CACHE_CONTENT") public android.os.Bundle getCache(@NonNull android.net.Uri);
2403    method @RequiresPermission("android.permission.CACHE_CONTENT") public void putCache(@NonNull android.net.Uri, @Nullable android.os.Bundle);
2404  }
2405
2406  public abstract class Context {
2407    method @NonNull public android.content.Context createContextAsUser(@NonNull android.os.UserHandle, int);
2408    method public abstract android.content.Context createCredentialProtectedStorageContext();
2409    method @NonNull public android.content.Context createPackageContextAsUser(@NonNull String, int, @NonNull android.os.UserHandle) throws android.content.pm.PackageManager.NameNotFoundException;
2410    method @Nullable public abstract java.io.File getPreloadsFileCache();
2411    method public abstract boolean isCredentialProtectedStorage();
2412    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);
2413    method public abstract void sendBroadcast(android.content.Intent, @Nullable String, @Nullable android.os.Bundle);
2414    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);
2415    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);
2416    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public void startActivityAsUser(@NonNull @RequiresPermission android.content.Intent, @NonNull android.os.UserHandle);
2417    field public static final String APP_HIBERNATION_SERVICE = "app_hibernation";
2418    field public static final String APP_INTEGRITY_SERVICE = "app_integrity";
2419    field public static final String APP_PREDICTION_SERVICE = "app_prediction";
2420    field public static final String BACKUP_SERVICE = "backup";
2421    field public static final String BATTERY_STATS_SERVICE = "batterystats";
2422    field public static final int BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS = 1048576; // 0x100000
2423    field public static final int BIND_ALLOW_FOREGROUND_SERVICE_STARTS_FROM_BACKGROUND = 262144; // 0x40000
2424    field public static final String CONTENT_SUGGESTIONS_SERVICE = "content_suggestions";
2425    field public static final String CONTEXTHUB_SERVICE = "contexthub";
2426    field public static final String ETHERNET_SERVICE = "ethernet";
2427    field public static final String EUICC_CARD_SERVICE = "euicc_card";
2428    field public static final String FONT_SERVICE = "font";
2429    field public static final String HDMI_CONTROL_SERVICE = "hdmi_control";
2430    field public static final String MEDIA_TRANSCODING_SERVICE = "media_transcoding";
2431    field public static final String MUSIC_RECOGNITION_SERVICE = "music_recognition";
2432    field public static final String NETD_SERVICE = "netd";
2433    field public static final String NETWORK_SCORE_SERVICE = "network_score";
2434    field public static final String OEM_LOCK_SERVICE = "oem_lock";
2435    field public static final String PERMISSION_CONTROLLER_SERVICE = "permission_controller";
2436    field public static final String PERMISSION_SERVICE = "permission";
2437    field public static final String PERSISTENT_DATA_BLOCK_SERVICE = "persistent_data_block";
2438    field public static final String REBOOT_READINESS_SERVICE = "reboot_readiness";
2439    field public static final String ROLLBACK_SERVICE = "rollback";
2440    field public static final String SEARCH_UI_SERVICE = "search_ui";
2441    field public static final String SECURE_ELEMENT_SERVICE = "secure_element";
2442    field public static final String SMARTSPACE_SERVICE = "smartspace";
2443    field public static final String STATS_MANAGER = "stats";
2444    field public static final String STATUS_BAR_SERVICE = "statusbar";
2445    field public static final String SYSTEM_CONFIG_SERVICE = "system_config";
2446    field public static final String SYSTEM_UPDATE_SERVICE = "system_update";
2447    field public static final String TETHERING_SERVICE = "tethering";
2448    field public static final String TRANSLATION_MANAGER_SERVICE = "translation";
2449    field public static final String UI_TRANSLATION_SERVICE = "ui_translation";
2450    field public static final String VR_SERVICE = "vrmanager";
2451    field public static final String WIFI_NL80211_SERVICE = "wifinl80211";
2452    field @Deprecated public static final String WIFI_RTT_SERVICE = "rttmanager";
2453    field public static final String WIFI_SCANNING_SERVICE = "wifiscanner";
2454  }
2455
2456  public final class ContextParams {
2457    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public java.util.Set<java.lang.String> getRenouncedPermissions();
2458  }
2459
2460  public static final class ContextParams.Builder {
2461    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public android.content.ContextParams.Builder setRenouncedPermissions(@Nullable java.util.Set<java.lang.String>);
2462  }
2463
2464  public class ContextWrapper extends android.content.Context {
2465    method public android.content.Context createCredentialProtectedStorageContext();
2466    method @Nullable public java.io.File getPreloadsFileCache();
2467    method public boolean isCredentialProtectedStorage();
2468    method public void sendBroadcast(android.content.Intent, @Nullable String, @Nullable android.os.Bundle);
2469    method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, @Nullable String, @Nullable android.os.Bundle);
2470    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);
2471  }
2472
2473  public class Intent implements java.lang.Cloneable android.os.Parcelable {
2474    field public static final String ACTION_ACTIVITY_RECOGNIZER = "android.intent.action.ACTIVITY_RECOGNIZER";
2475    field public static final String ACTION_BATTERY_LEVEL_CHANGED = "android.intent.action.BATTERY_LEVEL_CHANGED";
2476    field public static final String ACTION_CALL_EMERGENCY = "android.intent.action.CALL_EMERGENCY";
2477    field public static final String ACTION_CALL_PRIVILEGED = "android.intent.action.CALL_PRIVILEGED";
2478    field public static final String ACTION_DEVICE_CUSTOMIZATION_READY = "android.intent.action.DEVICE_CUSTOMIZATION_READY";
2479    field public static final String ACTION_DIAL_EMERGENCY = "android.intent.action.DIAL_EMERGENCY";
2480    field public static final String ACTION_DOMAINS_NEED_VERIFICATION = "android.intent.action.DOMAINS_NEED_VERIFICATION";
2481    field public static final String ACTION_FACTORY_RESET = "android.intent.action.FACTORY_RESET";
2482    field public static final String ACTION_GLOBAL_BUTTON = "android.intent.action.GLOBAL_BUTTON";
2483    field public static final String ACTION_INCIDENT_REPORT_READY = "android.intent.action.INCIDENT_REPORT_READY";
2484    field public static final String ACTION_INSTALL_INSTANT_APP_PACKAGE = "android.intent.action.INSTALL_INSTANT_APP_PACKAGE";
2485    field public static final String ACTION_INSTANT_APP_RESOLVER_SETTINGS = "android.intent.action.INSTANT_APP_RESOLVER_SETTINGS";
2486    field @Deprecated public static final String ACTION_INTENT_FILTER_NEEDS_VERIFICATION = "android.intent.action.INTENT_FILTER_NEEDS_VERIFICATION";
2487    field public static final String ACTION_LOAD_DATA = "android.intent.action.LOAD_DATA";
2488    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_MANAGE_APP_PERMISSION = "android.intent.action.MANAGE_APP_PERMISSION";
2489    field public static final String ACTION_MANAGE_APP_PERMISSIONS = "android.intent.action.MANAGE_APP_PERMISSIONS";
2490    field @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public static final String ACTION_MANAGE_DEFAULT_APP = "android.intent.action.MANAGE_DEFAULT_APP";
2491    field public static final String ACTION_MANAGE_PERMISSIONS = "android.intent.action.MANAGE_PERMISSIONS";
2492    field public static final String ACTION_MANAGE_PERMISSION_APPS = "android.intent.action.MANAGE_PERMISSION_APPS";
2493    field @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public static final String ACTION_MANAGE_SPECIAL_APP_ACCESSES = "android.intent.action.MANAGE_SPECIAL_APP_ACCESSES";
2494    field public static final String ACTION_MASTER_CLEAR_NOTIFICATION = "android.intent.action.MASTER_CLEAR_NOTIFICATION";
2495    field public static final String ACTION_PACKAGE_NEEDS_INTEGRITY_VERIFICATION = "android.intent.action.PACKAGE_NEEDS_INTEGRITY_VERIFICATION";
2496    field public static final String ACTION_PACKAGE_UNSUSPENDED_MANUALLY = "android.intent.action.PACKAGE_UNSUSPENDED_MANUALLY";
2497    field public static final String ACTION_PENDING_INCIDENT_REPORTS_CHANGED = "android.intent.action.PENDING_INCIDENT_REPORTS_CHANGED";
2498    field public static final String ACTION_PRE_BOOT_COMPLETED = "android.intent.action.PRE_BOOT_COMPLETED";
2499    field public static final String ACTION_QUERY_PACKAGE_RESTART = "android.intent.action.QUERY_PACKAGE_RESTART";
2500    field public static final String ACTION_RESOLVE_INSTANT_APP_PACKAGE = "android.intent.action.RESOLVE_INSTANT_APP_PACKAGE";
2501    field @RequiresPermission(android.Manifest.permission.REVIEW_ACCESSIBILITY_SERVICES) public static final String ACTION_REVIEW_ACCESSIBILITY_SERVICES = "android.intent.action.REVIEW_ACCESSIBILITY_SERVICES";
2502    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_ONGOING_PERMISSION_USAGE = "android.intent.action.REVIEW_ONGOING_PERMISSION_USAGE";
2503    field public static final String ACTION_REVIEW_PERMISSIONS = "android.intent.action.REVIEW_PERMISSIONS";
2504    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_PERMISSION_HISTORY = "android.intent.action.REVIEW_PERMISSION_HISTORY";
2505    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_PERMISSION_USAGE = "android.intent.action.REVIEW_PERMISSION_USAGE";
2506    field public static final String ACTION_ROLLBACK_COMMITTED = "android.intent.action.ROLLBACK_COMMITTED";
2507    field public static final String ACTION_SHOW_SUSPENDED_APP_DETAILS = "android.intent.action.SHOW_SUSPENDED_APP_DETAILS";
2508    field @Deprecated public static final String ACTION_SIM_STATE_CHANGED = "android.intent.action.SIM_STATE_CHANGED";
2509    field public static final String ACTION_SPLIT_CONFIGURATION_CHANGED = "android.intent.action.SPLIT_CONFIGURATION_CHANGED";
2510    field public static final String ACTION_UPGRADE_SETUP = "android.intent.action.UPGRADE_SETUP";
2511    field public static final String ACTION_USER_ADDED = "android.intent.action.USER_ADDED";
2512    field public static final String ACTION_USER_REMOVED = "android.intent.action.USER_REMOVED";
2513    field public static final String ACTION_VOICE_ASSIST = "android.intent.action.VOICE_ASSIST";
2514    field public static final String CATEGORY_LEANBACK_SETTINGS = "android.intent.category.LEANBACK_SETTINGS";
2515    field public static final String EXTRA_CALLING_PACKAGE = "android.intent.extra.CALLING_PACKAGE";
2516    field public static final String EXTRA_FORCE_FACTORY_RESET = "android.intent.extra.FORCE_FACTORY_RESET";
2517    field public static final String EXTRA_INSTANT_APP_ACTION = "android.intent.extra.INSTANT_APP_ACTION";
2518    field public static final String EXTRA_INSTANT_APP_BUNDLES = "android.intent.extra.INSTANT_APP_BUNDLES";
2519    field public static final String EXTRA_INSTANT_APP_EXTRAS = "android.intent.extra.INSTANT_APP_EXTRAS";
2520    field public static final String EXTRA_INSTANT_APP_FAILURE = "android.intent.extra.INSTANT_APP_FAILURE";
2521    field public static final String EXTRA_INSTANT_APP_HOSTNAME = "android.intent.extra.INSTANT_APP_HOSTNAME";
2522    field public static final String EXTRA_INSTANT_APP_SUCCESS = "android.intent.extra.INSTANT_APP_SUCCESS";
2523    field public static final String EXTRA_INSTANT_APP_TOKEN = "android.intent.extra.INSTANT_APP_TOKEN";
2524    field public static final String EXTRA_LONG_VERSION_CODE = "android.intent.extra.LONG_VERSION_CODE";
2525    field public static final String EXTRA_ORIGINATING_UID = "android.intent.extra.ORIGINATING_UID";
2526    field public static final String EXTRA_PACKAGES = "android.intent.extra.PACKAGES";
2527    field public static final String EXTRA_PERMISSION_NAME = "android.intent.extra.PERMISSION_NAME";
2528    field public static final String EXTRA_REASON = "android.intent.extra.REASON";
2529    field public static final String EXTRA_REMOTE_CALLBACK = "android.intent.extra.REMOTE_CALLBACK";
2530    field public static final String EXTRA_RESULT_NEEDED = "android.intent.extra.RESULT_NEEDED";
2531    field public static final String EXTRA_ROLE_NAME = "android.intent.extra.ROLE_NAME";
2532    field public static final String EXTRA_UNKNOWN_INSTANT_APP = "android.intent.extra.UNKNOWN_INSTANT_APP";
2533    field public static final String EXTRA_VERIFICATION_BUNDLE = "android.intent.extra.VERIFICATION_BUNDLE";
2534    field public static final int FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT = 67108864; // 0x4000000
2535    field public static final String METADATA_SETUP_VERSION = "android.SETUP_VERSION";
2536  }
2537
2538  public class IntentFilter implements android.os.Parcelable {
2539    method public final int getOrder();
2540    method public final void setOrder(int);
2541  }
2542
2543}
2544
2545package android.content.integrity {
2546
2547  public class AppIntegrityManager {
2548    method @NonNull public String getCurrentRuleSetProvider();
2549    method @NonNull public String getCurrentRuleSetVersion();
2550    method public void updateRuleSet(@NonNull android.content.integrity.RuleSet, @NonNull android.content.IntentSender);
2551    field public static final String EXTRA_STATUS = "android.content.integrity.extra.STATUS";
2552    field public static final int STATUS_FAILURE = 1; // 0x1
2553    field public static final int STATUS_SUCCESS = 0; // 0x0
2554  }
2555
2556  public abstract class IntegrityFormula {
2557    method @NonNull public static android.content.integrity.IntegrityFormula all(@NonNull android.content.integrity.IntegrityFormula...);
2558    method @NonNull public static android.content.integrity.IntegrityFormula any(@NonNull android.content.integrity.IntegrityFormula...);
2559    method @NonNull public static android.content.integrity.IntegrityFormula not(@NonNull android.content.integrity.IntegrityFormula);
2560  }
2561
2562  public static final class IntegrityFormula.Application {
2563    method @NonNull public static android.content.integrity.IntegrityFormula certificatesContain(@NonNull String);
2564    method @NonNull public static android.content.integrity.IntegrityFormula isPreInstalled();
2565    method @NonNull public static android.content.integrity.IntegrityFormula packageNameEquals(@NonNull String);
2566    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeEquals(@NonNull long);
2567    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeGreaterThan(@NonNull long);
2568    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeGreaterThanOrEqualTo(@NonNull long);
2569  }
2570
2571  public static final class IntegrityFormula.Installer {
2572    method @NonNull public static android.content.integrity.IntegrityFormula certificatesContain(@NonNull String);
2573    method @NonNull public static android.content.integrity.IntegrityFormula notAllowedByManifest();
2574    method @NonNull public static android.content.integrity.IntegrityFormula packageNameEquals(@NonNull String);
2575  }
2576
2577  public static final class IntegrityFormula.SourceStamp {
2578    method @NonNull public static android.content.integrity.IntegrityFormula notTrusted();
2579    method @NonNull public static android.content.integrity.IntegrityFormula stampCertificateHashEquals(@NonNull String);
2580  }
2581
2582  public final class Rule implements android.os.Parcelable {
2583    ctor public Rule(@NonNull android.content.integrity.IntegrityFormula, int);
2584    method public int describeContents();
2585    method public int getEffect();
2586    method @NonNull public android.content.integrity.IntegrityFormula getFormula();
2587    method public void writeToParcel(@NonNull android.os.Parcel, int);
2588    field @NonNull public static final android.os.Parcelable.Creator<android.content.integrity.Rule> CREATOR;
2589    field public static final int DENY = 0; // 0x0
2590    field public static final int FORCE_ALLOW = 1; // 0x1
2591  }
2592
2593  public class RuleSet {
2594    method @NonNull public java.util.List<android.content.integrity.Rule> getRules();
2595    method @NonNull public String getVersion();
2596  }
2597
2598  public static class RuleSet.Builder {
2599    ctor public RuleSet.Builder();
2600    method @NonNull public android.content.integrity.RuleSet.Builder addRules(@NonNull java.util.List<android.content.integrity.Rule>);
2601    method @NonNull public android.content.integrity.RuleSet build();
2602    method @NonNull public android.content.integrity.RuleSet.Builder setVersion(@NonNull String);
2603  }
2604
2605}
2606
2607package android.content.om {
2608
2609  public final class OverlayInfo implements android.os.Parcelable {
2610    method public int describeContents();
2611    method @Nullable public String getCategory();
2612    method @NonNull public String getPackageName();
2613    method @Nullable public String getTargetOverlayableName();
2614    method @NonNull public String getTargetPackageName();
2615    method public int getUserId();
2616    method public boolean isEnabled();
2617    method public void writeToParcel(android.os.Parcel, int);
2618    field @NonNull public static final android.os.Parcelable.Creator<android.content.om.OverlayInfo> CREATOR;
2619  }
2620
2621  public class OverlayManager {
2622    method @Nullable public android.content.om.OverlayInfo getOverlayInfo(@NonNull String, @NonNull android.os.UserHandle);
2623    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);
2624    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;
2625    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;
2626  }
2627
2628}
2629
2630package android.content.pm {
2631
2632  public class ApplicationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
2633    method public boolean isEncryptionAware();
2634    method public boolean isInstantApp();
2635    method public boolean isOem();
2636    method public boolean isProduct();
2637    method public boolean isVendor();
2638    field public String credentialProtectedDataDir;
2639    field public int targetSandboxVersion;
2640  }
2641
2642  public class CrossProfileApps {
2643    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_PROFILES) public void startActivity(@NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
2644  }
2645
2646  public class DataLoaderParams {
2647    method @NonNull public static final android.content.pm.DataLoaderParams forIncremental(@NonNull android.content.ComponentName, @NonNull String);
2648    method @NonNull public static final android.content.pm.DataLoaderParams forStreaming(@NonNull android.content.ComponentName, @NonNull String);
2649    method @NonNull public final String getArguments();
2650    method @NonNull public final android.content.ComponentName getComponentName();
2651    method @NonNull public final int getType();
2652  }
2653
2654  public final class InstallationFile {
2655    method public long getLengthBytes();
2656    method public int getLocation();
2657    method @Nullable public byte[] getMetadata();
2658    method @NonNull public String getName();
2659    method @Nullable public byte[] getSignature();
2660  }
2661
2662  public final class InstantAppInfo implements android.os.Parcelable {
2663    ctor public InstantAppInfo(android.content.pm.ApplicationInfo, String[], String[]);
2664    ctor public InstantAppInfo(String, CharSequence, String[], String[]);
2665    method public int describeContents();
2666    method @Nullable public android.content.pm.ApplicationInfo getApplicationInfo();
2667    method @Nullable public String[] getGrantedPermissions();
2668    method @NonNull public String getPackageName();
2669    method @Nullable public String[] getRequestedPermissions();
2670    method @NonNull public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.pm.PackageManager);
2671    method @NonNull public CharSequence loadLabel(@NonNull android.content.pm.PackageManager);
2672    method public void writeToParcel(android.os.Parcel, int);
2673    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppInfo> CREATOR;
2674  }
2675
2676  public final class InstantAppIntentFilter implements android.os.Parcelable {
2677    ctor public InstantAppIntentFilter(@Nullable String, @NonNull java.util.List<android.content.IntentFilter>);
2678    method public int describeContents();
2679    method public java.util.List<android.content.IntentFilter> getFilters();
2680    method public String getSplitName();
2681    method public void writeToParcel(android.os.Parcel, int);
2682    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppIntentFilter> CREATOR;
2683  }
2684
2685  public final class InstantAppRequestInfo implements android.os.Parcelable {
2686    ctor public InstantAppRequestInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, boolean, @NonNull String);
2687    method public int describeContents();
2688    method @Nullable public int[] getHostDigestPrefix();
2689    method @NonNull public android.content.Intent getIntent();
2690    method @NonNull public String getToken();
2691    method @NonNull public android.os.UserHandle getUserHandle();
2692    method public boolean isRequesterInstantApp();
2693    method public void writeToParcel(@NonNull android.os.Parcel, int);
2694    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppRequestInfo> CREATOR;
2695  }
2696
2697  public final class InstantAppResolveInfo implements android.os.Parcelable {
2698    ctor public InstantAppResolveInfo(@NonNull android.content.pm.InstantAppResolveInfo.InstantAppDigest, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>, int);
2699    ctor public InstantAppResolveInfo(@NonNull android.content.pm.InstantAppResolveInfo.InstantAppDigest, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>, long, @Nullable android.os.Bundle);
2700    ctor public InstantAppResolveInfo(@NonNull String, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>);
2701    ctor public InstantAppResolveInfo(@Nullable android.os.Bundle);
2702    method public int describeContents();
2703    method public byte[] getDigestBytes();
2704    method public int getDigestPrefix();
2705    method @Nullable public android.os.Bundle getExtras();
2706    method public java.util.List<android.content.pm.InstantAppIntentFilter> getIntentFilters();
2707    method public long getLongVersionCode();
2708    method public String getPackageName();
2709    method @Deprecated public int getVersionCode();
2710    method public boolean shouldLetInstallerDecide();
2711    method public void writeToParcel(android.os.Parcel, int);
2712    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppResolveInfo> CREATOR;
2713  }
2714
2715  public static final class InstantAppResolveInfo.InstantAppDigest implements android.os.Parcelable {
2716    ctor public InstantAppResolveInfo.InstantAppDigest(@NonNull String);
2717    method public int describeContents();
2718    method public byte[][] getDigestBytes();
2719    method public int[] getDigestPrefix();
2720    method public void writeToParcel(android.os.Parcel, int);
2721    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppResolveInfo.InstantAppDigest> CREATOR;
2722    field public static final android.content.pm.InstantAppResolveInfo.InstantAppDigest UNDEFINED;
2723  }
2724
2725  public final class IntentFilterVerificationInfo implements android.os.Parcelable {
2726    method public int describeContents();
2727    method public java.util.Set<java.lang.String> getDomains();
2728    method public String getPackageName();
2729    method public int getStatus();
2730    method public void writeToParcel(android.os.Parcel, int);
2731    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.IntentFilterVerificationInfo> CREATOR;
2732  }
2733
2734  public class LauncherApps {
2735    method @Nullable public android.content.pm.LauncherApps.AppUsageLimit getAppUsageLimit(@NonNull String, @NonNull android.os.UserHandle);
2736  }
2737
2738  public static final class LauncherApps.AppUsageLimit implements android.os.Parcelable {
2739    method public int describeContents();
2740    method public long getTotalUsageLimit();
2741    method public long getUsageRemaining();
2742    method public void writeToParcel(android.os.Parcel, int);
2743    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.LauncherApps.AppUsageLimit> CREATOR;
2744  }
2745
2746  public static class LauncherApps.ShortcutQuery {
2747    field @RequiresPermission(android.Manifest.permission.ACCESS_SHORTCUTS) public static final int FLAG_GET_PERSONS_DATA = 2048; // 0x800
2748  }
2749
2750  public class PackageInstaller {
2751    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setPermissionsResult(int, boolean);
2752    field public static final int DATA_LOADER_TYPE_INCREMENTAL = 2; // 0x2
2753    field public static final int DATA_LOADER_TYPE_NONE = 0; // 0x0
2754    field public static final int DATA_LOADER_TYPE_STREAMING = 1; // 0x1
2755    field public static final String EXTRA_DATA_LOADER_TYPE = "android.content.pm.extra.DATA_LOADER_TYPE";
2756    field public static final int LOCATION_DATA_APP = 0; // 0x0
2757    field public static final int LOCATION_MEDIA_DATA = 2; // 0x2
2758    field public static final int LOCATION_MEDIA_OBB = 1; // 0x1
2759  }
2760
2761  public static class PackageInstaller.Session implements java.io.Closeable {
2762    method @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public void addFile(int, @NonNull String, long, @NonNull byte[], @Nullable byte[]);
2763    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void commitTransferred(@NonNull android.content.IntentSender);
2764    method @Nullable @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public android.content.pm.DataLoaderParams getDataLoaderParams();
2765    method @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public void removeFile(int, @NonNull String);
2766  }
2767
2768  public static class PackageInstaller.SessionInfo implements android.os.Parcelable {
2769    method public boolean getAllocateAggressive();
2770    method @Deprecated public boolean getAllowDowngrade();
2771    method public int getAutoRevokePermissionsMode();
2772    method public boolean getDontKillApp();
2773    method public boolean getEnableRollback();
2774    method @Nullable public String[] getGrantedRuntimePermissions();
2775    method public boolean getInstallAsFullApp(boolean);
2776    method public boolean getInstallAsInstantApp(boolean);
2777    method public boolean getInstallAsVirtualPreload();
2778    method public boolean getRequestDowngrade();
2779    method public int getRollbackDataPolicy();
2780    method @NonNull public java.util.Set<java.lang.String> getWhitelistedRestrictedPermissions();
2781  }
2782
2783  public static class PackageInstaller.SessionParams implements android.os.Parcelable {
2784    method @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public void setAllocateAggressive(boolean);
2785    method @Deprecated public void setAllowDowngrade(boolean);
2786    method @RequiresPermission(allOf={android.Manifest.permission.INSTALL_PACKAGES, "com.android.permission.USE_INSTALLER_V2"}) public void setDataLoaderParams(@NonNull android.content.pm.DataLoaderParams);
2787    method public void setDontKillApp(boolean);
2788    method public void setEnableRollback(boolean);
2789    method public void setEnableRollback(boolean, int);
2790    method @RequiresPermission(android.Manifest.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS) public void setGrantedRuntimePermissions(String[]);
2791    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setInstallAsApex();
2792    method public void setInstallAsInstantApp(boolean);
2793    method public void setInstallAsVirtualPreload();
2794    method public void setRequestDowngrade(boolean);
2795    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setStaged();
2796  }
2797
2798  public class PackageItemInfo {
2799    method public static void forceSafeLabels();
2800    method @Deprecated @NonNull public CharSequence loadSafeLabel(@NonNull android.content.pm.PackageManager);
2801    method @NonNull public CharSequence loadSafeLabel(@NonNull android.content.pm.PackageManager, @FloatRange(from=0) float, int);
2802  }
2803
2804  public abstract class PackageManager {
2805    method @RequiresPermission("android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS") public abstract void addOnPermissionsChangeListener(@NonNull android.content.pm.PackageManager.OnPermissionsChangedListener);
2806    method public abstract boolean arePermissionsIndividuallyControlled();
2807    method @NonNull public abstract java.util.List<android.content.IntentFilter> getAllIntentFilters(@NonNull String);
2808    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.pm.ApplicationInfo getApplicationInfoAsUser(@NonNull String, int, @NonNull android.os.UserHandle) throws android.content.pm.PackageManager.NameNotFoundException;
2809    method @NonNull public android.content.pm.dex.ArtManager getArtManager();
2810    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_SHARED_LIBRARIES) public java.util.List<android.content.pm.SharedLibraryInfo> getDeclaredSharedLibraries(@NonNull String, int);
2811    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract String getDefaultBrowserPackageNameAsUser(int);
2812    method @Nullable @RequiresPermission(android.Manifest.permission.SET_HARMFUL_APP_WARNINGS) public CharSequence getHarmfulAppWarning(@NonNull String);
2813    method @Nullable public String getIncidentReportApproverPackageName();
2814    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract java.util.List<android.content.pm.PackageInfo> getInstalledPackagesAsUser(int, int);
2815    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public abstract android.graphics.drawable.Drawable getInstantAppIcon(String);
2816    method @Nullable public abstract android.content.ComponentName getInstantAppInstallerComponent();
2817    method @Nullable public abstract android.content.ComponentName getInstantAppResolverSettingsComponent();
2818    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public abstract java.util.List<android.content.pm.InstantAppInfo> getInstantApps();
2819    method @Deprecated @NonNull public abstract java.util.List<android.content.pm.IntentFilterVerificationInfo> getIntentFilterVerifications(@NonNull String);
2820    method @Deprecated @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract int getIntentVerificationStatusAsUser(@NonNull String, int);
2821    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);
2822    method @NonNull @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] getUnsuspendablePackages(@NonNull String[]);
2823    method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public abstract void grantRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
2824    method @Deprecated public abstract int installExistingPackage(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
2825    method @Deprecated public abstract int installExistingPackage(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException;
2826    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public java.util.List<android.content.pm.ResolveInfo> queryBroadcastReceiversAsUser(@NonNull android.content.Intent, int, android.os.UserHandle);
2827    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public java.util.List<android.content.pm.ResolveInfo> queryIntentActivitiesAsUser(@NonNull android.content.Intent, int, @NonNull android.os.UserHandle);
2828    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public java.util.List<android.content.pm.ResolveInfo> queryIntentContentProvidersAsUser(@NonNull android.content.Intent, int, @NonNull android.os.UserHandle);
2829    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public java.util.List<android.content.pm.ResolveInfo> queryIntentServicesAsUser(@NonNull android.content.Intent, int, @NonNull android.os.UserHandle);
2830    method public abstract void registerDexModule(@NonNull String, @Nullable android.content.pm.PackageManager.DexModuleRegisterCallback);
2831    method @RequiresPermission("android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS") public abstract void removeOnPermissionsChangeListener(@NonNull android.content.pm.PackageManager.OnPermissionsChangedListener);
2832    method public void replacePreferredActivity(@NonNull android.content.IntentFilter, int, @NonNull java.util.List<android.content.ComponentName>, @NonNull android.content.ComponentName);
2833    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public abstract void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
2834    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle, @NonNull String);
2835    method public void sendDeviceCustomizationReadyBroadcast();
2836    method @RequiresPermission(allOf={android.Manifest.permission.SET_PREFERRED_APPLICATIONS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public abstract boolean setDefaultBrowserPackageNameAsUser(@Nullable String, int);
2837    method @NonNull @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] setDistractingPackageRestrictions(@NonNull String[], int);
2838    method @RequiresPermission(android.Manifest.permission.SET_HARMFUL_APP_WARNINGS) public void setHarmfulAppWarning(@NonNull String, @Nullable CharSequence);
2839    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);
2840    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);
2841    method @RequiresPermission(value=android.Manifest.permission.CHANGE_COMPONENT_ENABLED_STATE, conditional=true) public void setSyntheticAppDetailsActivityEnabled(@NonNull String, boolean);
2842    method public void setSystemAppState(@NonNull String, int);
2843    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public abstract void setUpdateAvailable(@NonNull String, boolean);
2844    method @Deprecated @RequiresPermission(android.Manifest.permission.SET_PREFERRED_APPLICATIONS) public abstract boolean updateIntentVerificationStatusAsUser(@NonNull String, int, int);
2845    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);
2846    method @Deprecated @RequiresPermission(android.Manifest.permission.INTENT_FILTER_VERIFICATION_AGENT) public abstract void verifyIntentFilter(int, int, @NonNull java.util.List<java.lang.String>);
2847    field public static final String ACTION_REQUEST_PERMISSIONS = "android.content.pm.action.REQUEST_PERMISSIONS";
2848    field public static final String EXTRA_REQUEST_PERMISSIONS_NAMES = "android.content.pm.extra.REQUEST_PERMISSIONS_NAMES";
2849    field public static final String EXTRA_REQUEST_PERMISSIONS_RESULTS = "android.content.pm.extra.REQUEST_PERMISSIONS_RESULTS";
2850    field public static final String FEATURE_BROADCAST_RADIO = "android.hardware.broadcastradio";
2851    field public static final String FEATURE_CONTEXT_HUB = "android.hardware.context_hub";
2852    field public static final String FEATURE_INCREMENTAL_DELIVERY = "android.software.incremental_delivery";
2853    field public static final String FEATURE_REBOOT_ESCROW = "android.hardware.reboot_escrow";
2854    field public static final String FEATURE_TELEPHONY_CARRIERLOCK = "android.hardware.telephony.carrierlock";
2855    field public static final String FEATURE_TELEPHONY_IMS_SINGLE_REGISTRATION = "android.hardware.telephony.ims.singlereg";
2856    field public static final int FLAGS_PERMISSION_RESERVED_PERMISSION_CONTROLLER = -268435456; // 0xf0000000
2857    field public static final int FLAG_PERMISSION_APPLY_RESTRICTION = 16384; // 0x4000
2858    field public static final int FLAG_PERMISSION_AUTO_REVOKED = 131072; // 0x20000
2859    field public static final int FLAG_PERMISSION_GRANTED_BY_DEFAULT = 32; // 0x20
2860    field public static final int FLAG_PERMISSION_GRANTED_BY_ROLE = 32768; // 0x8000
2861    field public static final int FLAG_PERMISSION_ONE_TIME = 65536; // 0x10000
2862    field public static final int FLAG_PERMISSION_POLICY_FIXED = 4; // 0x4
2863    field public static final int FLAG_PERMISSION_RESTRICTION_INSTALLER_EXEMPT = 2048; // 0x800
2864    field public static final int FLAG_PERMISSION_RESTRICTION_SYSTEM_EXEMPT = 4096; // 0x1000
2865    field public static final int FLAG_PERMISSION_RESTRICTION_UPGRADE_EXEMPT = 8192; // 0x2000
2866    field public static final int FLAG_PERMISSION_REVIEW_REQUIRED = 64; // 0x40
2867    field public static final int FLAG_PERMISSION_REVOKED_COMPAT = 8; // 0x8
2868    field @Deprecated public static final int FLAG_PERMISSION_REVOKE_ON_UPGRADE = 8; // 0x8
2869    field public static final int FLAG_PERMISSION_REVOKE_WHEN_REQUESTED = 128; // 0x80
2870    field public static final int FLAG_PERMISSION_SELECTED_LOCATION_ACCURACY = 524288; // 0x80000
2871    field public static final int FLAG_PERMISSION_SYSTEM_FIXED = 16; // 0x10
2872    field public static final int FLAG_PERMISSION_USER_FIXED = 2; // 0x2
2873    field public static final int FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED = 512; // 0x200
2874    field public static final int FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED = 256; // 0x100
2875    field public static final int FLAG_PERMISSION_USER_SET = 1; // 0x1
2876    field public static final int INSTALL_FAILED_ALREADY_EXISTS = -1; // 0xffffffff
2877    field public static final int INSTALL_FAILED_CONFLICTING_PROVIDER = -13; // 0xfffffff3
2878    field public static final int INSTALL_FAILED_CONTAINER_ERROR = -18; // 0xffffffee
2879    field public static final int INSTALL_FAILED_CPU_ABI_INCOMPATIBLE = -16; // 0xfffffff0
2880    field public static final int INSTALL_FAILED_DEXOPT = -11; // 0xfffffff5
2881    field public static final int INSTALL_FAILED_DUPLICATE_PACKAGE = -5; // 0xfffffffb
2882    field public static final int INSTALL_FAILED_INSUFFICIENT_STORAGE = -4; // 0xfffffffc
2883    field public static final int INSTALL_FAILED_INTERNAL_ERROR = -110; // 0xffffff92
2884    field public static final int INSTALL_FAILED_INVALID_APK = -2; // 0xfffffffe
2885    field public static final int INSTALL_FAILED_INVALID_INSTALL_LOCATION = -19; // 0xffffffed
2886    field public static final int INSTALL_FAILED_INVALID_URI = -3; // 0xfffffffd
2887    field public static final int INSTALL_FAILED_MEDIA_UNAVAILABLE = -20; // 0xffffffec
2888    field public static final int INSTALL_FAILED_MISSING_FEATURE = -17; // 0xffffffef
2889    field public static final int INSTALL_FAILED_MISSING_SHARED_LIBRARY = -9; // 0xfffffff7
2890    field public static final int INSTALL_FAILED_NEWER_SDK = -14; // 0xfffffff2
2891    field public static final int INSTALL_FAILED_NO_SHARED_USER = -6; // 0xfffffffa
2892    field public static final int INSTALL_FAILED_OLDER_SDK = -12; // 0xfffffff4
2893    field public static final int INSTALL_FAILED_PACKAGE_CHANGED = -23; // 0xffffffe9
2894    field public static final int INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE = -26; // 0xffffffe6
2895    field public static final int INSTALL_FAILED_REPLACE_COULDNT_DELETE = -10; // 0xfffffff6
2896    field public static final int INSTALL_FAILED_SANDBOX_VERSION_DOWNGRADE = -27; // 0xffffffe5
2897    field public static final int INSTALL_FAILED_SHARED_USER_INCOMPATIBLE = -8; // 0xfffffff8
2898    field public static final int INSTALL_FAILED_TEST_ONLY = -15; // 0xfffffff1
2899    field public static final int INSTALL_FAILED_UPDATE_INCOMPATIBLE = -7; // 0xfffffff9
2900    field public static final int INSTALL_FAILED_VERIFICATION_FAILURE = -22; // 0xffffffea
2901    field public static final int INSTALL_FAILED_VERIFICATION_TIMEOUT = -21; // 0xffffffeb
2902    field public static final int INSTALL_PARSE_FAILED_BAD_MANIFEST = -101; // 0xffffff9b
2903    field public static final int INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME = -106; // 0xffffff96
2904    field public static final int INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID = -107; // 0xffffff95
2905    field public static final int INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING = -105; // 0xffffff97
2906    field public static final int INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES = -104; // 0xffffff98
2907    field public static final int INSTALL_PARSE_FAILED_MANIFEST_EMPTY = -109; // 0xffffff93
2908    field public static final int INSTALL_PARSE_FAILED_MANIFEST_MALFORMED = -108; // 0xffffff94
2909    field public static final int INSTALL_PARSE_FAILED_NOT_APK = -100; // 0xffffff9c
2910    field public static final int INSTALL_PARSE_FAILED_NO_CERTIFICATES = -103; // 0xffffff99
2911    field public static final int INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION = -102; // 0xffffff9a
2912    field public static final int INSTALL_SUCCEEDED = 1; // 0x1
2913    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS = 2; // 0x2
2914    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS_ASK = 4; // 0x4
2915    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ASK = 1; // 0x1
2916    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER = 3; // 0x3
2917    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_UNDEFINED = 0; // 0x0
2918    field @Deprecated public static final int INTENT_FILTER_VERIFICATION_FAILURE = -1; // 0xffffffff
2919    field @Deprecated public static final int INTENT_FILTER_VERIFICATION_SUCCESS = 1; // 0x1
2920    field @Deprecated public static final int MASK_PERMISSION_FLAGS = 255; // 0xff
2921    field public static final int MATCH_ANY_USER = 4194304; // 0x400000
2922    field public static final int MATCH_FACTORY_ONLY = 2097152; // 0x200000
2923    field public static final int MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS = 536870912; // 0x20000000
2924    field public static final int MATCH_INSTANT = 8388608; // 0x800000
2925    field public static final int MODULE_APEX_NAME = 1; // 0x1
2926    field public static final int RESTRICTION_HIDE_FROM_SUGGESTIONS = 1; // 0x1
2927    field public static final int RESTRICTION_HIDE_NOTIFICATIONS = 2; // 0x2
2928    field public static final int RESTRICTION_NONE = 0; // 0x0
2929    field public static final int SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_HIDDEN = 0; // 0x0
2930    field public static final int SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_VISIBLE = 1; // 0x1
2931    field public static final int SYSTEM_APP_STATE_INSTALLED = 2; // 0x2
2932    field public static final int SYSTEM_APP_STATE_UNINSTALLED = 3; // 0x3
2933  }
2934
2935  public abstract static class PackageManager.DexModuleRegisterCallback {
2936    ctor public PackageManager.DexModuleRegisterCallback();
2937    method public abstract void onDexModuleRegistered(String, boolean, String);
2938  }
2939
2940  public static interface PackageManager.OnPermissionsChangedListener {
2941    method public void onPermissionsChanged(int);
2942  }
2943
2944  @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 {
2945  }
2946
2947  public class PermissionGroupInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
2948    field @StringRes public final int backgroundRequestDetailResourceId;
2949    field @StringRes public final int backgroundRequestResourceId;
2950    field @StringRes public final int requestDetailResourceId;
2951    field @StringRes public int requestRes;
2952  }
2953
2954  public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
2955    field public static final int FLAG_REMOVED = 2; // 0x2
2956    field public static final int PROTECTION_FLAG_APP_PREDICTOR = 2097152; // 0x200000
2957    field public static final int PROTECTION_FLAG_COMPANION = 8388608; // 0x800000
2958    field public static final int PROTECTION_FLAG_CONFIGURATOR = 524288; // 0x80000
2959    field public static final int PROTECTION_FLAG_DOCUMENTER = 262144; // 0x40000
2960    field public static final int PROTECTION_FLAG_INCIDENT_REPORT_APPROVER = 1048576; // 0x100000
2961    field public static final int PROTECTION_FLAG_KNOWN_SIGNER = 134217728; // 0x8000000
2962    field public static final int PROTECTION_FLAG_OEM = 16384; // 0x4000
2963    field public static final int PROTECTION_FLAG_RECENTS = 33554432; // 0x2000000
2964    field public static final int PROTECTION_FLAG_RETAIL_DEMO = 16777216; // 0x1000000
2965    field public static final int PROTECTION_FLAG_ROLE = 67108864; // 0x4000000
2966    field public static final int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER = 65536; // 0x10000
2967    field @Deprecated public static final int PROTECTION_FLAG_WELLBEING = 131072; // 0x20000
2968    field @Nullable public final String backgroundPermission;
2969    field @StringRes public int requestRes;
2970  }
2971
2972  public class ResolveInfo implements android.os.Parcelable {
2973    field public boolean handleAllWebDataURI;
2974  }
2975
2976  public final class ShortcutInfo implements android.os.Parcelable {
2977    method @Nullable public android.app.Person[] getPersons();
2978  }
2979
2980  public class ShortcutManager {
2981    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_PREDICTIONS) @WorkerThread public java.util.List<android.content.pm.ShortcutManager.ShareShortcutInfo> getShareTargets(@NonNull android.content.IntentFilter);
2982    method public boolean hasShareTargets(@NonNull String);
2983  }
2984
2985  public static final class ShortcutManager.ShareShortcutInfo implements android.os.Parcelable {
2986    method public int describeContents();
2987    method @NonNull public android.content.pm.ShortcutInfo getShortcutInfo();
2988    method @NonNull public android.content.ComponentName getTargetComponent();
2989    method public void writeToParcel(@NonNull android.os.Parcel, int);
2990    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ShortcutManager.ShareShortcutInfo> CREATOR;
2991  }
2992
2993  public final class SuspendDialogInfo implements android.os.Parcelable {
2994    method public int describeContents();
2995    method public void writeToParcel(android.os.Parcel, int);
2996    field public static final int BUTTON_ACTION_MORE_DETAILS = 0; // 0x0
2997    field public static final int BUTTON_ACTION_UNSUSPEND = 1; // 0x1
2998    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.SuspendDialogInfo> CREATOR;
2999  }
3000
3001  public static final class SuspendDialogInfo.Builder {
3002    ctor public SuspendDialogInfo.Builder();
3003    method @NonNull public android.content.pm.SuspendDialogInfo build();
3004    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setIcon(@DrawableRes int);
3005    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setMessage(@NonNull String);
3006    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setMessage(@StringRes int);
3007    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonAction(int);
3008    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonText(@StringRes int);
3009    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonText(@NonNull String);
3010    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setTitle(@StringRes int);
3011    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setTitle(@NonNull String);
3012  }
3013
3014}
3015
3016package android.content.pm.dex {
3017
3018  public class ArtManager {
3019    method @RequiresPermission(allOf={android.Manifest.permission.READ_RUNTIME_PROFILES, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean isRuntimeProfilingEnabled(int);
3020    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);
3021    field public static final int PROFILE_APPS = 0; // 0x0
3022    field public static final int PROFILE_BOOT_IMAGE = 1; // 0x1
3023    field public static final int SNAPSHOT_FAILED_CODE_PATH_NOT_FOUND = 1; // 0x1
3024    field public static final int SNAPSHOT_FAILED_INTERNAL_ERROR = 2; // 0x2
3025    field public static final int SNAPSHOT_FAILED_PACKAGE_NOT_FOUND = 0; // 0x0
3026  }
3027
3028  public abstract static class ArtManager.SnapshotRuntimeProfileCallback {
3029    ctor public ArtManager.SnapshotRuntimeProfileCallback();
3030    method public abstract void onError(int);
3031    method public abstract void onSuccess(android.os.ParcelFileDescriptor);
3032  }
3033
3034}
3035
3036package android.content.pm.permission {
3037
3038  @Deprecated public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
3039    ctor @Deprecated public RuntimePermissionPresentationInfo(CharSequence, boolean, boolean);
3040    method @Deprecated public int describeContents();
3041    method @Deprecated @NonNull public CharSequence getLabel();
3042    method @Deprecated public boolean isGranted();
3043    method @Deprecated public boolean isStandard();
3044    method @Deprecated public void writeToParcel(android.os.Parcel, int);
3045    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.content.pm.permission.RuntimePermissionPresentationInfo> CREATOR;
3046  }
3047
3048}
3049
3050package android.content.pm.verify.domain {
3051
3052  public final class DomainOwner implements android.os.Parcelable {
3053    ctor public DomainOwner(@NonNull String, boolean);
3054    method public int describeContents();
3055    method @NonNull public String getPackageName();
3056    method public boolean isOverrideable();
3057    method public void writeToParcel(@NonNull android.os.Parcel, int);
3058    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainOwner> CREATOR;
3059  }
3060
3061  public final class DomainVerificationInfo implements android.os.Parcelable {
3062    method public int describeContents();
3063    method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getHostToStateMap();
3064    method @NonNull public java.util.UUID getIdentifier();
3065    method @NonNull public String getPackageName();
3066    method public void writeToParcel(@NonNull android.os.Parcel, int);
3067    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainVerificationInfo> CREATOR;
3068    field public static final int STATE_FIRST_VERIFIER_DEFINED = 1024; // 0x400
3069    field public static final int STATE_MODIFIABLE_UNVERIFIED = 3; // 0x3
3070    field public static final int STATE_MODIFIABLE_VERIFIED = 4; // 0x4
3071    field public static final int STATE_NO_RESPONSE = 0; // 0x0
3072    field public static final int STATE_SUCCESS = 1; // 0x1
3073    field public static final int STATE_UNMODIFIABLE = 2; // 0x2
3074  }
3075
3076  public final class DomainVerificationManager {
3077    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;
3078    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public java.util.SortedSet<android.content.pm.verify.domain.DomainOwner> getOwnersForDomain(@NonNull String);
3079    method @NonNull @RequiresPermission(android.Manifest.permission.DOMAIN_VERIFICATION_AGENT) public java.util.List<java.lang.String> queryValidVerificationPackageNames();
3080    method @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public void setDomainVerificationLinkHandlingAllowed(@NonNull String, boolean) throws android.content.pm.PackageManager.NameNotFoundException;
3081    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;
3082    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;
3083    field public static final int ERROR_DOMAIN_SET_ID_INVALID = 1; // 0x1
3084    field public static final int ERROR_UNABLE_TO_APPROVE = 3; // 0x3
3085    field public static final int ERROR_UNKNOWN_DOMAIN = 2; // 0x2
3086    field public static final String EXTRA_VERIFICATION_REQUEST = "android.content.pm.verify.domain.extra.VERIFICATION_REQUEST";
3087    field public static final int STATUS_OK = 0; // 0x0
3088  }
3089
3090  public final class DomainVerificationRequest implements android.os.Parcelable {
3091    method public int describeContents();
3092    method @NonNull public java.util.Set<java.lang.String> getPackageNames();
3093    method public void writeToParcel(@NonNull android.os.Parcel, int);
3094    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainVerificationRequest> CREATOR;
3095  }
3096
3097  public final class DomainVerificationUserState implements android.os.Parcelable {
3098    method @NonNull public java.util.UUID getIdentifier();
3099  }
3100
3101}
3102
3103package android.content.rollback {
3104
3105  public final class PackageRollbackInfo implements android.os.Parcelable {
3106    method public int describeContents();
3107    method @NonNull public String getPackageName();
3108    method @NonNull public android.content.pm.VersionedPackage getVersionRolledBackFrom();
3109    method @NonNull public android.content.pm.VersionedPackage getVersionRolledBackTo();
3110    method public void writeToParcel(android.os.Parcel, int);
3111    field @NonNull public static final android.os.Parcelable.Creator<android.content.rollback.PackageRollbackInfo> CREATOR;
3112  }
3113
3114  public final class RollbackInfo implements android.os.Parcelable {
3115    method public int describeContents();
3116    method @NonNull public java.util.List<android.content.pm.VersionedPackage> getCausePackages();
3117    method public int getCommittedSessionId();
3118    method @NonNull public java.util.List<android.content.rollback.PackageRollbackInfo> getPackages();
3119    method public int getRollbackId();
3120    method public boolean isStaged();
3121    method public void writeToParcel(android.os.Parcel, int);
3122    field @NonNull public static final android.os.Parcelable.Creator<android.content.rollback.RollbackInfo> CREATOR;
3123  }
3124
3125  public final class RollbackManager {
3126    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);
3127    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_ROLLBACKS, "android.permission.TEST_MANAGE_ROLLBACKS"}) public java.util.List<android.content.rollback.RollbackInfo> getAvailableRollbacks();
3128    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_ROLLBACKS, "android.permission.TEST_MANAGE_ROLLBACKS"}) public java.util.List<android.content.rollback.RollbackInfo> getRecentlyCommittedRollbacks();
3129    field public static final String EXTRA_STATUS = "android.content.rollback.extra.STATUS";
3130    field public static final String EXTRA_STATUS_MESSAGE = "android.content.rollback.extra.STATUS_MESSAGE";
3131    field public static final int STATUS_FAILURE = 1; // 0x1
3132    field public static final int STATUS_FAILURE_INSTALL = 3; // 0x3
3133    field public static final int STATUS_FAILURE_ROLLBACK_UNAVAILABLE = 2; // 0x2
3134    field public static final int STATUS_SUCCESS = 0; // 0x0
3135  }
3136
3137}
3138
3139package android.debug {
3140
3141  public class AdbManager {
3142    method @RequiresPermission(android.Manifest.permission.MANAGE_DEBUGGING) public boolean isAdbWifiQrSupported();
3143    method @RequiresPermission(android.Manifest.permission.MANAGE_DEBUGGING) public boolean isAdbWifiSupported();
3144  }
3145
3146}
3147
3148package android.graphics.fonts {
3149
3150  public final class FontFamilyUpdateRequest {
3151    method @NonNull public java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.FontFamily> getFontFamilies();
3152    method @NonNull public java.util.List<android.graphics.fonts.FontFileUpdateRequest> getFontFileUpdateRequests();
3153  }
3154
3155  public static final class FontFamilyUpdateRequest.Builder {
3156    ctor public FontFamilyUpdateRequest.Builder();
3157    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Builder addFontFamily(@NonNull android.graphics.fonts.FontFamilyUpdateRequest.FontFamily);
3158    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Builder addFontFileUpdateRequest(@NonNull android.graphics.fonts.FontFileUpdateRequest);
3159    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest build();
3160  }
3161
3162  public static final class FontFamilyUpdateRequest.Font {
3163    method @NonNull public java.util.List<android.graphics.fonts.FontVariationAxis> getAxes();
3164    method @IntRange(from=0) public int getIndex();
3165    method @NonNull public String getPostScriptName();
3166    method @NonNull public android.graphics.fonts.FontStyle getStyle();
3167  }
3168
3169  public static final class FontFamilyUpdateRequest.Font.Builder {
3170    ctor public FontFamilyUpdateRequest.Font.Builder(@NonNull String, @NonNull android.graphics.fonts.FontStyle);
3171    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font build();
3172    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font.Builder setAxes(@NonNull java.util.List<android.graphics.fonts.FontVariationAxis>);
3173    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font.Builder setIndex(@IntRange(from=0) int);
3174  }
3175
3176  public static final class FontFamilyUpdateRequest.FontFamily {
3177    method @NonNull public java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.Font> getFonts();
3178    method @NonNull public String getName();
3179  }
3180
3181  public static final class FontFamilyUpdateRequest.FontFamily.Builder {
3182    ctor public FontFamilyUpdateRequest.FontFamily.Builder(@NonNull String, @NonNull java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.Font>);
3183    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.FontFamily.Builder addFont(@NonNull android.graphics.fonts.FontFamilyUpdateRequest.Font);
3184    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.FontFamily build();
3185  }
3186
3187  public final class FontFileUpdateRequest {
3188    ctor public FontFileUpdateRequest(@NonNull android.os.ParcelFileDescriptor, @NonNull byte[]);
3189    method @NonNull public android.os.ParcelFileDescriptor getParcelFileDescriptor();
3190    method @NonNull public byte[] getSignature();
3191  }
3192
3193  public class FontManager {
3194    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_FONTS) public android.text.FontConfig getFontConfig();
3195    method @RequiresPermission(android.Manifest.permission.UPDATE_FONTS) public int updateFontFamily(@NonNull android.graphics.fonts.FontFamilyUpdateRequest, @IntRange(from=0) int);
3196    field public static final int RESULT_ERROR_DOWNGRADING = -5; // 0xfffffffb
3197    field public static final int RESULT_ERROR_FAILED_TO_WRITE_FONT_FILE = -1; // 0xffffffff
3198    field public static final int RESULT_ERROR_FAILED_UPDATE_CONFIG = -6; // 0xfffffffa
3199    field public static final int RESULT_ERROR_FONT_NOT_FOUND = -9; // 0xfffffff7
3200    field public static final int RESULT_ERROR_FONT_UPDATER_DISABLED = -7; // 0xfffffff9
3201    field public static final int RESULT_ERROR_INVALID_FONT_FILE = -3; // 0xfffffffd
3202    field public static final int RESULT_ERROR_INVALID_FONT_NAME = -4; // 0xfffffffc
3203    field public static final int RESULT_ERROR_VERIFICATION_FAILURE = -2; // 0xfffffffe
3204    field public static final int RESULT_ERROR_VERSION_MISMATCH = -8; // 0xfffffff8
3205    field public static final int RESULT_SUCCESS = 0; // 0x0
3206  }
3207
3208}
3209
3210package android.hardware {
3211
3212  public final class Sensor {
3213    method public java.util.UUID getUuid();
3214    method public boolean isDataInjectionSupported();
3215    field public static final String STRING_TYPE_DYNAMIC_SENSOR_META = "android.sensor.dynamic_sensor_meta";
3216    field public static final String STRING_TYPE_WRIST_TILT_GESTURE = "android.sensor.wrist_tilt_gesture";
3217    field public static final int TYPE_DYNAMIC_SENSOR_META = 32; // 0x20
3218    field public static final int TYPE_WRIST_TILT_GESTURE = 26; // 0x1a
3219  }
3220
3221  public abstract class SensorManager {
3222    method public boolean initDataInjection(boolean);
3223    method public boolean injectSensorData(android.hardware.Sensor, float[], int, long);
3224  }
3225
3226  public final class SensorPrivacyManager {
3227    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(int, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
3228    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
3229    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public boolean isSensorPrivacyEnabled(int);
3230    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void removeSensorPrivacyListener(int, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
3231  }
3232
3233  public static interface SensorPrivacyManager.OnSensorPrivacyChangedListener {
3234    method public void onSensorPrivacyChanged(int, boolean);
3235  }
3236
3237}
3238
3239package android.hardware.biometrics {
3240
3241  public static interface BiometricManager.Authenticators {
3242    field @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static final int BIOMETRIC_CONVENIENCE = 4095; // 0xfff
3243    field @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static final int EMPTY_SET = 0; // 0x0
3244  }
3245
3246}
3247
3248package android.hardware.camera2 {
3249
3250  public abstract class CameraDevice implements java.lang.AutoCloseable {
3251    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;
3252    field public static final int SESSION_OPERATION_MODE_CONSTRAINED_HIGH_SPEED = 1; // 0x1
3253    field public static final int SESSION_OPERATION_MODE_NORMAL = 0; // 0x0
3254    field public static final int SESSION_OPERATION_MODE_VENDOR_START = 32768; // 0x8000
3255  }
3256
3257  public final class CameraManager {
3258    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;
3259  }
3260
3261  public abstract static class CameraManager.AvailabilityCallback {
3262    method @RequiresPermission(android.Manifest.permission.CAMERA_OPEN_CLOSE_LISTENER) public void onCameraClosed(@NonNull String);
3263    method @RequiresPermission(android.Manifest.permission.CAMERA_OPEN_CLOSE_LISTENER) public void onCameraOpened(@NonNull String, @NonNull String);
3264  }
3265
3266}
3267
3268package android.hardware.camera2.params {
3269
3270  public final class OutputConfiguration implements android.os.Parcelable {
3271    ctor public OutputConfiguration(@NonNull android.view.Surface, int);
3272    ctor public OutputConfiguration(int, @NonNull android.view.Surface, int);
3273    method public int getRotation();
3274    field public static final int ROTATION_0 = 0; // 0x0
3275    field public static final int ROTATION_180 = 2; // 0x2
3276    field public static final int ROTATION_270 = 3; // 0x3
3277    field public static final int ROTATION_90 = 1; // 0x1
3278  }
3279
3280}
3281
3282package android.hardware.display {
3283
3284  public final class AmbientBrightnessDayStats implements android.os.Parcelable {
3285    method public int describeContents();
3286    method public float[] getBucketBoundaries();
3287    method public java.time.LocalDate getLocalDate();
3288    method public float[] getStats();
3289    method public void writeToParcel(android.os.Parcel, int);
3290    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.AmbientBrightnessDayStats> CREATOR;
3291  }
3292
3293  public final class BrightnessChangeEvent implements android.os.Parcelable {
3294    method public int describeContents();
3295    method public void writeToParcel(android.os.Parcel, int);
3296    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessChangeEvent> CREATOR;
3297    field public final float batteryLevel;
3298    field public final float brightness;
3299    field public final long colorSampleDuration;
3300    field public final int colorTemperature;
3301    field @Nullable public final long[] colorValueBuckets;
3302    field public final boolean isDefaultBrightnessConfig;
3303    field public final boolean isUserSetBrightness;
3304    field public final float lastBrightness;
3305    field public final long[] luxTimestamps;
3306    field public final float[] luxValues;
3307    field public final boolean nightMode;
3308    field public final String packageName;
3309    field public final float powerBrightnessFactor;
3310    field public final boolean reduceBrightColors;
3311    field public final float reduceBrightColorsOffset;
3312    field public final int reduceBrightColorsStrength;
3313    field public final long timeStamp;
3314    field @NonNull public final String uniqueDisplayId;
3315  }
3316
3317  public final class BrightnessConfiguration implements android.os.Parcelable {
3318    method public int describeContents();
3319    method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByCategory(int);
3320    method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByPackageName(@NonNull String);
3321    method public android.util.Pair<float[],float[]> getCurve();
3322    method public float getShortTermModelLowerLuxMultiplier();
3323    method public long getShortTermModelTimeoutMillis();
3324    method public float getShortTermModelUpperLuxMultiplier();
3325    method public boolean shouldCollectColorSamples();
3326    method public void writeToParcel(android.os.Parcel, int);
3327    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessConfiguration> CREATOR;
3328    field public static final long SHORT_TERM_TIMEOUT_UNSET = -1L; // 0xffffffffffffffffL
3329  }
3330
3331  public static class BrightnessConfiguration.Builder {
3332    ctor public BrightnessConfiguration.Builder(float[], float[]);
3333    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByCategory(int, @NonNull android.hardware.display.BrightnessCorrection);
3334    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByPackageName(@NonNull String, @NonNull android.hardware.display.BrightnessCorrection);
3335    method @NonNull public android.hardware.display.BrightnessConfiguration build();
3336    method public int getMaxCorrectionsByCategory();
3337    method public int getMaxCorrectionsByPackageName();
3338    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setDescription(@Nullable String);
3339    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelLowerLuxMultiplier(@FloatRange(from=0.0f) float);
3340    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelTimeoutMillis(long);
3341    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelUpperLuxMultiplier(@FloatRange(from=0.0f) float);
3342    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShouldCollectColorSamples(boolean);
3343  }
3344
3345  public final class BrightnessCorrection implements android.os.Parcelable {
3346    method @FloatRange(from=0.0) public float apply(@FloatRange(from=0.0) float);
3347    method @NonNull public static android.hardware.display.BrightnessCorrection createScaleAndTranslateLog(float, float);
3348    method public int describeContents();
3349    method public void writeToParcel(android.os.Parcel, int);
3350    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessCorrection> CREATOR;
3351  }
3352
3353  public final class ColorDisplayManager {
3354    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public int getNightDisplayAutoMode();
3355    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public int getTransformCapabilities();
3356    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setAppSaturationLevel(@NonNull String, @IntRange(from=0, to=100) int);
3357    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayAutoMode(int);
3358    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayCustomEndTime(@NonNull java.time.LocalTime);
3359    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayCustomStartTime(@NonNull java.time.LocalTime);
3360    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setSaturationLevel(@IntRange(from=0, to=100) int);
3361    field public static final int AUTO_MODE_CUSTOM_TIME = 1; // 0x1
3362    field public static final int AUTO_MODE_DISABLED = 0; // 0x0
3363    field public static final int AUTO_MODE_TWILIGHT = 2; // 0x2
3364    field public static final int CAPABILITY_HARDWARE_ACCELERATION_GLOBAL = 2; // 0x2
3365    field public static final int CAPABILITY_HARDWARE_ACCELERATION_PER_APP = 4; // 0x4
3366    field public static final int CAPABILITY_NONE = 0; // 0x0
3367    field public static final int CAPABILITY_PROTECTED_CONTENT = 1; // 0x1
3368  }
3369
3370  public final class DisplayManager {
3371    method @RequiresPermission(android.Manifest.permission.ACCESS_AMBIENT_LIGHT_STATS) public java.util.List<android.hardware.display.AmbientBrightnessDayStats> getAmbientBrightnessStats();
3372    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getBrightnessConfiguration();
3373    method @Nullable @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getBrightnessConfigurationForDisplay(@NonNull String);
3374    method @RequiresPermission(android.Manifest.permission.BRIGHTNESS_SLIDER_USAGE) public java.util.List<android.hardware.display.BrightnessChangeEvent> getBrightnessEvents();
3375    method @Nullable @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getDefaultBrightnessConfiguration();
3376    method public android.util.Pair<float[],float[]> getMinimumBrightnessCurve();
3377    method public android.graphics.Point getStableDisplaySize();
3378    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public void setBrightnessConfiguration(android.hardware.display.BrightnessConfiguration);
3379    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public void setBrightnessConfigurationForDisplay(@NonNull android.hardware.display.BrightnessConfiguration, @NonNull String);
3380    method @Deprecated @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_SATURATION) public void setSaturationLevel(float);
3381  }
3382
3383}
3384
3385package android.hardware.hdmi {
3386
3387  public abstract class HdmiClient {
3388    method public android.hardware.hdmi.HdmiDeviceInfo getActiveSource();
3389    method public void sendKeyEvent(int, boolean);
3390    method public void sendVendorCommand(int, byte[], boolean);
3391    method public void setVendorCommandListener(@NonNull android.hardware.hdmi.HdmiControlManager.VendorCommandListener);
3392  }
3393
3394  public final class HdmiControlManager {
3395    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHdmiCecEnabledChangeListener(@NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
3396    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHdmiCecEnabledChangeListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
3397    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHotplugEventListener(android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
3398    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHotplugEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
3399    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.Integer> getAllowedCecSettingIntValues(@NonNull String);
3400    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.String> getAllowedCecSettingStringValues(@NonNull String);
3401    method @Nullable public android.hardware.hdmi.HdmiClient getClient(int);
3402    method @NonNull public java.util.List<android.hardware.hdmi.HdmiDeviceInfo> getConnectedDevices();
3403    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecEnabled();
3404    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecVersion();
3405    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecVolumeControlEnabled();
3406    method public int getPhysicalAddress();
3407    method @Nullable public android.hardware.hdmi.HdmiPlaybackClient getPlaybackClient();
3408    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public String getPowerControlMode();
3409    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public String getPowerStateChangeOnActiveSourceLost();
3410    method @Nullable public android.hardware.hdmi.HdmiSwitchClient getSwitchClient();
3411    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getSystemAudioModeMuting();
3412    method @Nullable public android.hardware.hdmi.HdmiTvClient getTvClient();
3413    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getTvSendStandbyOnSleep();
3414    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getTvWakeOnOneTouchPlay();
3415    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.String> getUserCecSettings();
3416    method public boolean isDeviceConnected(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
3417    method public void powerOffDevice(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
3418    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void removeHdmiCecEnabledChangeListener(@NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
3419    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void removeHotplugEventListener(android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
3420    method public void setActiveSource(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
3421    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecEnabled(@NonNull int);
3422    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecVersion(@NonNull int);
3423    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecVolumeControlEnabled(int);
3424    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setPowerControlMode(@NonNull String);
3425    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setPowerStateChangeOnActiveSourceLost(@NonNull String);
3426    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setStandbyMode(boolean);
3427    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSystemAudioModeMuting(@NonNull int);
3428    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setTvSendStandbyOnSleep(@NonNull int);
3429    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setTvWakeOnOneTouchPlay(@NonNull int);
3430    field public static final String ACTION_OSD_MESSAGE = "android.hardware.hdmi.action.OSD_MESSAGE";
3431    field public static final int AVR_VOLUME_MUTED = 101; // 0x65
3432    field public static final String CEC_SETTING_NAME_HDMI_CEC_ENABLED = "hdmi_cec_enabled";
3433    field public static final String CEC_SETTING_NAME_HDMI_CEC_VERSION = "hdmi_cec_version";
3434    field public static final String CEC_SETTING_NAME_POWER_CONTROL_MODE = "power_control_mode";
3435    field public static final String CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST = "power_state_change_on_active_source_lost";
3436    field public static final String CEC_SETTING_NAME_SYSTEM_AUDIO_MODE_MUTING = "system_audio_mode_muting";
3437    field public static final String CEC_SETTING_NAME_TV_SEND_STANDBY_ON_SLEEP = "tv_send_standby_on_sleep";
3438    field public static final String CEC_SETTING_NAME_TV_WAKE_ON_ONE_TOUCH_PLAY = "tv_wake_on_one_touch_play";
3439    field public static final String CEC_SETTING_NAME_VOLUME_CONTROL_MODE = "volume_control_enabled";
3440    field public static final int CLEAR_TIMER_STATUS_CEC_DISABLE = 162; // 0xa2
3441    field public static final int CLEAR_TIMER_STATUS_CHECK_RECORDER_CONNECTION = 160; // 0xa0
3442    field public static final int CLEAR_TIMER_STATUS_FAIL_TO_CLEAR_SELECTED_SOURCE = 161; // 0xa1
3443    field public static final int CLEAR_TIMER_STATUS_TIMER_CLEARED = 128; // 0x80
3444    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_NO_INFO_AVAILABLE = 2; // 0x2
3445    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_NO_MATCHING = 1; // 0x1
3446    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_RECORDING = 0; // 0x0
3447    field public static final int CONTROL_STATE_CHANGED_REASON_SETTING = 1; // 0x1
3448    field public static final int CONTROL_STATE_CHANGED_REASON_STANDBY = 3; // 0x3
3449    field public static final int CONTROL_STATE_CHANGED_REASON_START = 0; // 0x0
3450    field public static final int CONTROL_STATE_CHANGED_REASON_WAKEUP = 2; // 0x2
3451    field public static final int DEVICE_EVENT_ADD_DEVICE = 1; // 0x1
3452    field public static final int DEVICE_EVENT_REMOVE_DEVICE = 2; // 0x2
3453    field public static final int DEVICE_EVENT_UPDATE_DEVICE = 3; // 0x3
3454    field public static final String EXTRA_MESSAGE_EXTRA_PARAM1 = "android.hardware.hdmi.extra.MESSAGE_EXTRA_PARAM1";
3455    field public static final String EXTRA_MESSAGE_ID = "android.hardware.hdmi.extra.MESSAGE_ID";
3456    field public static final int HDMI_CEC_CONTROL_DISABLED = 0; // 0x0
3457    field public static final int HDMI_CEC_CONTROL_ENABLED = 1; // 0x1
3458    field public static final int HDMI_CEC_VERSION_1_4_B = 5; // 0x5
3459    field public static final int HDMI_CEC_VERSION_2_0 = 6; // 0x6
3460    field public static final int ONE_TOUCH_RECORD_ALREADY_RECORDING = 18; // 0x12
3461    field public static final int ONE_TOUCH_RECORD_CEC_DISABLED = 51; // 0x33
3462    field public static final int ONE_TOUCH_RECORD_CHECK_RECORDER_CONNECTION = 49; // 0x31
3463    field public static final int ONE_TOUCH_RECORD_DISALLOW_TO_COPY = 13; // 0xd
3464    field public static final int ONE_TOUCH_RECORD_DISALLOW_TO_FUTHER_COPIES = 14; // 0xe
3465    field public static final int ONE_TOUCH_RECORD_FAIL_TO_RECORD_DISPLAYED_SCREEN = 50; // 0x32
3466    field public static final int ONE_TOUCH_RECORD_INVALID_EXTERNAL_PHYSICAL_ADDRESS = 10; // 0xa
3467    field public static final int ONE_TOUCH_RECORD_INVALID_EXTERNAL_PLUG_NUMBER = 9; // 0x9
3468    field public static final int ONE_TOUCH_RECORD_MEDIA_PROBLEM = 21; // 0x15
3469    field public static final int ONE_TOUCH_RECORD_MEDIA_PROTECTED = 19; // 0x13
3470    field public static final int ONE_TOUCH_RECORD_NOT_ENOUGH_SPACE = 22; // 0x16
3471    field public static final int ONE_TOUCH_RECORD_NO_MEDIA = 16; // 0x10
3472    field public static final int ONE_TOUCH_RECORD_NO_OR_INSUFFICIENT_CA_ENTITLEMENTS = 12; // 0xc
3473    field public static final int ONE_TOUCH_RECORD_NO_SOURCE_SIGNAL = 20; // 0x14
3474    field public static final int ONE_TOUCH_RECORD_OTHER_REASON = 31; // 0x1f
3475    field public static final int ONE_TOUCH_RECORD_PARENT_LOCK_ON = 23; // 0x17
3476    field public static final int ONE_TOUCH_RECORD_PLAYING = 17; // 0x11
3477    field public static final int ONE_TOUCH_RECORD_PREVIOUS_RECORDING_IN_PROGRESS = 48; // 0x30
3478    field public static final int ONE_TOUCH_RECORD_RECORDING_ALREADY_TERMINATED = 27; // 0x1b
3479    field public static final int ONE_TOUCH_RECORD_RECORDING_ANALOGUE_SERVICE = 3; // 0x3
3480    field public static final int ONE_TOUCH_RECORD_RECORDING_CURRENTLY_SELECTED_SOURCE = 1; // 0x1
3481    field public static final int ONE_TOUCH_RECORD_RECORDING_DIGITAL_SERVICE = 2; // 0x2
3482    field public static final int ONE_TOUCH_RECORD_RECORDING_EXTERNAL_INPUT = 4; // 0x4
3483    field public static final int ONE_TOUCH_RECORD_RECORDING_TERMINATED_NORMALLY = 26; // 0x1a
3484    field public static final int ONE_TOUCH_RECORD_UNABLE_ANALOGUE_SERVICE = 6; // 0x6
3485    field public static final int ONE_TOUCH_RECORD_UNABLE_DIGITAL_SERVICE = 5; // 0x5
3486    field public static final int ONE_TOUCH_RECORD_UNABLE_SELECTED_SERVICE = 7; // 0x7
3487    field public static final int ONE_TOUCH_RECORD_UNSUPPORTED_CA = 11; // 0xb
3488    field public static final int OSD_MESSAGE_ARC_CONNECTED_INVALID_PORT = 1; // 0x1
3489    field public static final int OSD_MESSAGE_AVR_VOLUME_CHANGED = 2; // 0x2
3490    field public static final String POWER_CONTROL_MODE_BROADCAST = "broadcast";
3491    field public static final String POWER_CONTROL_MODE_NONE = "none";
3492    field public static final String POWER_CONTROL_MODE_TV = "to_tv";
3493    field public static final String POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_NONE = "none";
3494    field public static final String POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW = "standby_now";
3495    field public static final int POWER_STATUS_ON = 0; // 0x0
3496    field public static final int POWER_STATUS_STANDBY = 1; // 0x1
3497    field public static final int POWER_STATUS_TRANSIENT_TO_ON = 2; // 0x2
3498    field public static final int POWER_STATUS_TRANSIENT_TO_STANDBY = 3; // 0x3
3499    field public static final int POWER_STATUS_UNKNOWN = -1; // 0xffffffff
3500    field @Deprecated public static final int RESULT_ALREADY_IN_PROGRESS = 4; // 0x4
3501    field public static final int RESULT_COMMUNICATION_FAILED = 7; // 0x7
3502    field public static final int RESULT_EXCEPTION = 5; // 0x5
3503    field public static final int RESULT_INCORRECT_MODE = 6; // 0x6
3504    field public static final int RESULT_SOURCE_NOT_AVAILABLE = 2; // 0x2
3505    field public static final int RESULT_SUCCESS = 0; // 0x0
3506    field public static final int RESULT_TARGET_NOT_AVAILABLE = 3; // 0x3
3507    field public static final int RESULT_TIMEOUT = 1; // 0x1
3508    field public static final int SYSTEM_AUDIO_MODE_MUTING_DISABLED = 0; // 0x0
3509    field public static final int SYSTEM_AUDIO_MODE_MUTING_ENABLED = 1; // 0x1
3510    field public static final int TIMER_RECORDING_RESULT_EXTRA_CEC_DISABLED = 3; // 0x3
3511    field public static final int TIMER_RECORDING_RESULT_EXTRA_CHECK_RECORDER_CONNECTION = 1; // 0x1
3512    field public static final int TIMER_RECORDING_RESULT_EXTRA_FAIL_TO_RECORD_SELECTED_SOURCE = 2; // 0x2
3513    field public static final int TIMER_RECORDING_RESULT_EXTRA_NO_ERROR = 0; // 0x0
3514    field public static final int TIMER_RECORDING_TYPE_ANALOGUE = 2; // 0x2
3515    field public static final int TIMER_RECORDING_TYPE_DIGITAL = 1; // 0x1
3516    field public static final int TIMER_RECORDING_TYPE_EXTERNAL = 3; // 0x3
3517    field public static final int TIMER_STATUS_MEDIA_INFO_NOT_PRESENT = 2; // 0x2
3518    field public static final int TIMER_STATUS_MEDIA_INFO_PRESENT_NOT_PROTECTED = 0; // 0x0
3519    field public static final int TIMER_STATUS_MEDIA_INFO_PRESENT_PROTECTED = 1; // 0x1
3520    field public static final int TIMER_STATUS_NOT_PROGRAMMED_CA_NOT_SUPPORTED = 6; // 0x6
3521    field public static final int TIMER_STATUS_NOT_PROGRAMMED_CLOCK_FAILURE = 10; // 0xa
3522    field public static final int TIMER_STATUS_NOT_PROGRAMMED_DATE_OUT_OF_RANGE = 2; // 0x2
3523    field public static final int TIMER_STATUS_NOT_PROGRAMMED_DUPLICATED = 14; // 0xe
3524    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_EXTERNAL_PHYSICAL_NUMBER = 5; // 0x5
3525    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_EXTERNAL_PLUG_NUMBER = 4; // 0x4
3526    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_SEQUENCE = 3; // 0x3
3527    field public static final int TIMER_STATUS_NOT_PROGRAMMED_NO_CA_ENTITLEMENTS = 7; // 0x7
3528    field public static final int TIMER_STATUS_NOT_PROGRAMMED_NO_FREE_TIME = 1; // 0x1
3529    field public static final int TIMER_STATUS_NOT_PROGRAMMED_PARENTAL_LOCK_ON = 9; // 0x9
3530    field public static final int TIMER_STATUS_NOT_PROGRAMMED_UNSUPPORTED_RESOLUTION = 8; // 0x8
3531    field public static final int TIMER_STATUS_PROGRAMMED_INFO_ENOUGH_SPACE = 8; // 0x8
3532    field public static final int TIMER_STATUS_PROGRAMMED_INFO_MIGHT_NOT_ENOUGH_SPACE = 11; // 0xb
3533    field public static final int TIMER_STATUS_PROGRAMMED_INFO_NOT_ENOUGH_SPACE = 9; // 0x9
3534    field public static final int TIMER_STATUS_PROGRAMMED_INFO_NO_MEDIA_INFO = 10; // 0xa
3535    field public static final int TV_SEND_STANDBY_ON_SLEEP_DISABLED = 0; // 0x0
3536    field public static final int TV_SEND_STANDBY_ON_SLEEP_ENABLED = 1; // 0x1
3537    field public static final int TV_WAKE_ON_ONE_TOUCH_PLAY_DISABLED = 0; // 0x0
3538    field public static final int TV_WAKE_ON_ONE_TOUCH_PLAY_ENABLED = 1; // 0x1
3539    field public static final int VOLUME_CONTROL_DISABLED = 0; // 0x0
3540    field public static final int VOLUME_CONTROL_ENABLED = 1; // 0x1
3541  }
3542
3543  public static interface HdmiControlManager.CecSettingChangeListener {
3544    method public void onChange(@NonNull String);
3545  }
3546
3547  @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 {
3548  }
3549
3550  public static interface HdmiControlManager.HotplugEventListener {
3551    method public void onReceived(android.hardware.hdmi.HdmiHotplugEvent);
3552  }
3553
3554  public static interface HdmiControlManager.VendorCommandListener {
3555    method public void onControlStateChanged(boolean, int);
3556    method public void onReceived(int, int, byte[], boolean);
3557  }
3558
3559  public class HdmiDeviceInfo implements android.os.Parcelable {
3560    ctor public HdmiDeviceInfo();
3561    method public int describeContents();
3562    method public int getAdopterId();
3563    method public int getDeviceId();
3564    method public int getDevicePowerStatus();
3565    method public int getDeviceType();
3566    method public String getDisplayName();
3567    method public int getId();
3568    method public int getLogicalAddress();
3569    method public int getPhysicalAddress();
3570    method public int getPortId();
3571    method public int getVendorId();
3572    method public static int idForCecDevice(int);
3573    method public static int idForHardware(int);
3574    method public static int idForMhlDevice(int);
3575    method public boolean isCecDevice();
3576    method public boolean isInactivated();
3577    method public boolean isMhlDevice();
3578    method public boolean isSourceType();
3579    method public void writeToParcel(android.os.Parcel, int);
3580    field public static final int ADDR_INTERNAL = 0; // 0x0
3581    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiDeviceInfo> CREATOR;
3582    field public static final int DEVICE_AUDIO_SYSTEM = 5; // 0x5
3583    field public static final int DEVICE_INACTIVE = -1; // 0xffffffff
3584    field public static final int DEVICE_PLAYBACK = 4; // 0x4
3585    field public static final int DEVICE_RECORDER = 1; // 0x1
3586    field public static final int DEVICE_RESERVED = 2; // 0x2
3587    field public static final int DEVICE_TUNER = 3; // 0x3
3588    field public static final int DEVICE_TV = 0; // 0x0
3589    field public static final int ID_INVALID = 65535; // 0xffff
3590    field public static final android.hardware.hdmi.HdmiDeviceInfo INACTIVE_DEVICE;
3591    field public static final int PATH_INTERNAL = 0; // 0x0
3592    field public static final int PATH_INVALID = 65535; // 0xffff
3593    field public static final int PORT_INVALID = -1; // 0xffffffff
3594  }
3595
3596  public final class HdmiHotplugEvent implements android.os.Parcelable {
3597    method public int describeContents();
3598    method public int getPort();
3599    method public boolean isConnected();
3600    method public void writeToParcel(android.os.Parcel, int);
3601    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiHotplugEvent> CREATOR;
3602  }
3603
3604  public final class HdmiPlaybackClient extends android.hardware.hdmi.HdmiClient {
3605    method public int getDeviceType();
3606    method public void oneTouchPlay(android.hardware.hdmi.HdmiPlaybackClient.OneTouchPlayCallback);
3607    method public void queryDisplayStatus(android.hardware.hdmi.HdmiPlaybackClient.DisplayStatusCallback);
3608    method public void sendStandby();
3609  }
3610
3611  public static interface HdmiPlaybackClient.DisplayStatusCallback {
3612    method public void onComplete(int);
3613  }
3614
3615  public static interface HdmiPlaybackClient.OneTouchPlayCallback {
3616    method public void onComplete(int);
3617  }
3618
3619  public final class HdmiPortInfo implements android.os.Parcelable {
3620    ctor public HdmiPortInfo(int, int, int, boolean, boolean, boolean);
3621    method public int describeContents();
3622    method public int getAddress();
3623    method public int getId();
3624    method public int getType();
3625    method public boolean isArcSupported();
3626    method public boolean isCecSupported();
3627    method public boolean isMhlSupported();
3628    method public void writeToParcel(android.os.Parcel, int);
3629    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiPortInfo> CREATOR;
3630    field public static final int PORT_INPUT = 0; // 0x0
3631    field public static final int PORT_OUTPUT = 1; // 0x1
3632  }
3633
3634  public abstract class HdmiRecordListener {
3635    ctor public HdmiRecordListener();
3636    method public void onClearTimerRecordingResult(int, int);
3637    method public void onOneTouchRecordResult(int, int);
3638    method public abstract android.hardware.hdmi.HdmiRecordSources.RecordSource onOneTouchRecordSourceRequested(int);
3639    method public void onTimerRecordingResult(int, android.hardware.hdmi.HdmiRecordListener.TimerStatusData);
3640  }
3641
3642  public static class HdmiRecordListener.TimerStatusData {
3643    method public int getDurationHour();
3644    method public int getDurationMinute();
3645    method public int getExtraError();
3646    method public int getMediaInfo();
3647    method public int getNotProgammedError();
3648    method public int getProgrammedInfo();
3649    method public boolean isOverlapped();
3650    method public boolean isProgrammed();
3651  }
3652
3653  public final class HdmiRecordSources {
3654    method public static boolean checkRecordSource(byte[]);
3655    method public static android.hardware.hdmi.HdmiRecordSources.OwnSource ofOwnSource();
3656  }
3657
3658  public static final class HdmiRecordSources.AnalogueServiceSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
3659  }
3660
3661  public static final class HdmiRecordSources.DigitalServiceSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
3662  }
3663
3664  public static final class HdmiRecordSources.ExternalPhysicalAddress extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
3665  }
3666
3667  public static final class HdmiRecordSources.ExternalPlugData extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
3668  }
3669
3670  public static final class HdmiRecordSources.OwnSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
3671  }
3672
3673  public abstract static class HdmiRecordSources.RecordSource {
3674  }
3675
3676  public class HdmiSwitchClient extends android.hardware.hdmi.HdmiClient {
3677    method public int getDeviceType();
3678    method @NonNull public java.util.List<android.hardware.hdmi.HdmiPortInfo> getPortInfo();
3679    method public void selectPort(int, @NonNull android.hardware.hdmi.HdmiSwitchClient.OnSelectListener);
3680    method public void selectPort(int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiSwitchClient.OnSelectListener);
3681  }
3682
3683  public static interface HdmiSwitchClient.OnSelectListener {
3684    method public void onSelect(@android.hardware.hdmi.HdmiControlManager.ControlCallbackResult int);
3685  }
3686
3687  public class HdmiTimerRecordSources {
3688    method public static boolean checkTimerRecordSource(int, byte[]);
3689    method public static android.hardware.hdmi.HdmiTimerRecordSources.Duration durationOf(int, int);
3690    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofAnalogueSource(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.AnalogueServiceSource);
3691    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofDigitalSource(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.DigitalServiceSource);
3692    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofExternalPhysicalAddress(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.ExternalPhysicalAddress);
3693    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofExternalPlug(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.ExternalPlugData);
3694    method public static android.hardware.hdmi.HdmiTimerRecordSources.Time timeOf(int, int);
3695    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo timerInfoOf(int, int, android.hardware.hdmi.HdmiTimerRecordSources.Time, android.hardware.hdmi.HdmiTimerRecordSources.Duration, int);
3696    field public static final int RECORDING_SEQUENCE_REPEAT_FRIDAY = 32; // 0x20
3697    field public static final int RECORDING_SEQUENCE_REPEAT_MONDAY = 2; // 0x2
3698    field public static final int RECORDING_SEQUENCE_REPEAT_ONCE_ONLY = 0; // 0x0
3699    field public static final int RECORDING_SEQUENCE_REPEAT_SATUREDAY = 64; // 0x40
3700    field public static final int RECORDING_SEQUENCE_REPEAT_SUNDAY = 1; // 0x1
3701    field public static final int RECORDING_SEQUENCE_REPEAT_THURSDAY = 16; // 0x10
3702    field public static final int RECORDING_SEQUENCE_REPEAT_TUESDAY = 4; // 0x4
3703    field public static final int RECORDING_SEQUENCE_REPEAT_WEDNESDAY = 8; // 0x8
3704  }
3705
3706  public static final class HdmiTimerRecordSources.Duration {
3707  }
3708
3709  public static final class HdmiTimerRecordSources.Time {
3710  }
3711
3712  public static final class HdmiTimerRecordSources.TimerInfo {
3713  }
3714
3715  public static final class HdmiTimerRecordSources.TimerRecordSource {
3716  }
3717
3718  public final class HdmiTvClient extends android.hardware.hdmi.HdmiClient {
3719    method public void clearTimerRecording(int, int, android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource);
3720    method public void deviceSelect(int, @NonNull android.hardware.hdmi.HdmiTvClient.SelectCallback);
3721    method public java.util.List<android.hardware.hdmi.HdmiDeviceInfo> getDeviceList();
3722    method public int getDeviceType();
3723    method public void portSelect(int, @NonNull android.hardware.hdmi.HdmiTvClient.SelectCallback);
3724    method public void sendMhlVendorCommand(int, int, int, byte[]);
3725    method public void sendStandby(int);
3726    method public void setHdmiMhlVendorCommandListener(android.hardware.hdmi.HdmiTvClient.HdmiMhlVendorCommandListener);
3727    method public void setInputChangeListener(android.hardware.hdmi.HdmiTvClient.InputChangeListener);
3728    method public void setRecordListener(@NonNull android.hardware.hdmi.HdmiRecordListener);
3729    method public void setSystemAudioMode(boolean, android.hardware.hdmi.HdmiTvClient.SelectCallback);
3730    method public void setSystemAudioMute(boolean);
3731    method public void setSystemAudioVolume(int, int, int);
3732    method public void startOneTouchRecord(int, @NonNull android.hardware.hdmi.HdmiRecordSources.RecordSource);
3733    method public void startTimerRecording(int, int, android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource);
3734    method public void stopOneTouchRecord(int);
3735    field public static final int VENDOR_DATA_SIZE = 16; // 0x10
3736  }
3737
3738  public static interface HdmiTvClient.HdmiMhlVendorCommandListener {
3739    method public void onReceived(int, int, int, byte[]);
3740  }
3741
3742  public static interface HdmiTvClient.InputChangeListener {
3743    method public void onChanged(android.hardware.hdmi.HdmiDeviceInfo);
3744  }
3745
3746  public static interface HdmiTvClient.SelectCallback {
3747    method public void onComplete(int);
3748  }
3749
3750}
3751
3752package android.hardware.lights {
3753
3754  public final class LightState implements android.os.Parcelable {
3755    ctor @Deprecated public LightState(@ColorInt int);
3756  }
3757
3758  public abstract class LightsManager {
3759    field @Deprecated public static final int LIGHT_TYPE_MICROPHONE = 8; // 0x8
3760  }
3761
3762  public static final class LightsRequest.Builder {
3763    method @Deprecated @NonNull public android.hardware.lights.LightsRequest.Builder setLight(@NonNull android.hardware.lights.Light, @NonNull android.hardware.lights.LightState);
3764  }
3765
3766}
3767
3768package android.hardware.location {
3769
3770  public class ContextHubClient implements java.io.Closeable {
3771    method public void close();
3772    method @NonNull public android.hardware.location.ContextHubInfo getAttachedHub();
3773    method @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int sendMessageToNanoApp(@NonNull android.hardware.location.NanoAppMessage);
3774  }
3775
3776  public class ContextHubClientCallback {
3777    ctor public ContextHubClientCallback();
3778    method public void onClientAuthorizationChanged(@NonNull android.hardware.location.ContextHubClient, long, int);
3779    method public void onHubReset(android.hardware.location.ContextHubClient);
3780    method public void onMessageFromNanoApp(android.hardware.location.ContextHubClient, android.hardware.location.NanoAppMessage);
3781    method public void onNanoAppAborted(android.hardware.location.ContextHubClient, long, int);
3782    method public void onNanoAppDisabled(android.hardware.location.ContextHubClient, long);
3783    method public void onNanoAppEnabled(android.hardware.location.ContextHubClient, long);
3784    method public void onNanoAppLoaded(android.hardware.location.ContextHubClient, long);
3785    method public void onNanoAppUnloaded(android.hardware.location.ContextHubClient, long);
3786  }
3787
3788  public class ContextHubInfo implements android.os.Parcelable {
3789    ctor public ContextHubInfo();
3790    method public int describeContents();
3791    method public byte getChreApiMajorVersion();
3792    method public byte getChreApiMinorVersion();
3793    method public short getChrePatchVersion();
3794    method public long getChrePlatformId();
3795    method public int getId();
3796    method public int getMaxPacketLengthBytes();
3797    method public android.hardware.location.MemoryRegion[] getMemoryRegions();
3798    method public String getName();
3799    method public float getPeakMips();
3800    method public float getPeakPowerDrawMw();
3801    method public int getPlatformVersion();
3802    method public float getSleepPowerDrawMw();
3803    method public int getStaticSwVersion();
3804    method public float getStoppedPowerDrawMw();
3805    method public int[] getSupportedSensors();
3806    method public String getToolchain();
3807    method public int getToolchainVersion();
3808    method public String getVendor();
3809    method public void writeToParcel(android.os.Parcel, int);
3810    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.ContextHubInfo> CREATOR;
3811  }
3812
3813  public class ContextHubIntentEvent {
3814    method @NonNull public static android.hardware.location.ContextHubIntentEvent fromIntent(@NonNull android.content.Intent);
3815    method public int getClientAuthorizationState();
3816    method @NonNull public android.hardware.location.ContextHubInfo getContextHubInfo();
3817    method public int getEventType();
3818    method public int getNanoAppAbortCode();
3819    method public long getNanoAppId();
3820    method @NonNull public android.hardware.location.NanoAppMessage getNanoAppMessage();
3821  }
3822
3823  public final class ContextHubManager {
3824    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, 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);
3825    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, 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);
3826    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubClient createClient(@NonNull android.hardware.location.ContextHubInfo, @NonNull android.hardware.location.ContextHubClientCallback);
3827    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, 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);
3828    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubClient createClient(@NonNull android.hardware.location.ContextHubInfo, @NonNull android.app.PendingIntent, long);
3829    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubTransaction<java.lang.Void> disableNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
3830    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubTransaction<java.lang.Void> enableNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
3831    method @Deprecated @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int[] findNanoAppOnHub(int, @NonNull android.hardware.location.NanoAppFilter);
3832    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int[] getContextHubHandles();
3833    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubInfo getContextHubInfo(int);
3834    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public java.util.List<android.hardware.location.ContextHubInfo> getContextHubs();
3835    method @Deprecated @Nullable @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.NanoAppInstanceInfo getNanoAppInstanceInfo(int);
3836    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int loadNanoApp(int, @NonNull android.hardware.location.NanoApp);
3837    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, 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);
3838    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubTransaction<java.util.List<android.hardware.location.NanoAppState>> queryNanoApps(@NonNull android.hardware.location.ContextHubInfo);
3839    method @Deprecated public int registerCallback(@NonNull android.hardware.location.ContextHubManager.Callback);
3840    method @Deprecated public int registerCallback(android.hardware.location.ContextHubManager.Callback, android.os.Handler);
3841    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int sendMessage(int, int, @NonNull android.hardware.location.ContextHubMessage);
3842    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int unloadNanoApp(int);
3843    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubTransaction<java.lang.Void> unloadNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
3844    method @Deprecated public int unregisterCallback(@NonNull android.hardware.location.ContextHubManager.Callback);
3845    field public static final int AUTHORIZATION_DENIED = 0; // 0x0
3846    field public static final int AUTHORIZATION_DENIED_GRACE_PERIOD = 1; // 0x1
3847    field public static final int AUTHORIZATION_GRANTED = 2; // 0x2
3848    field public static final int EVENT_CLIENT_AUTHORIZATION = 7; // 0x7
3849    field public static final int EVENT_HUB_RESET = 6; // 0x6
3850    field public static final int EVENT_NANOAPP_ABORTED = 4; // 0x4
3851    field public static final int EVENT_NANOAPP_DISABLED = 3; // 0x3
3852    field public static final int EVENT_NANOAPP_ENABLED = 2; // 0x2
3853    field public static final int EVENT_NANOAPP_LOADED = 0; // 0x0
3854    field public static final int EVENT_NANOAPP_MESSAGE = 5; // 0x5
3855    field public static final int EVENT_NANOAPP_UNLOADED = 1; // 0x1
3856    field public static final String EXTRA_CLIENT_AUTHORIZATION_STATE = "android.hardware.location.extra.CLIENT_AUTHORIZATION_STATE";
3857    field public static final String EXTRA_CONTEXT_HUB_INFO = "android.hardware.location.extra.CONTEXT_HUB_INFO";
3858    field public static final String EXTRA_EVENT_TYPE = "android.hardware.location.extra.EVENT_TYPE";
3859    field public static final String EXTRA_MESSAGE = "android.hardware.location.extra.MESSAGE";
3860    field public static final String EXTRA_NANOAPP_ABORT_CODE = "android.hardware.location.extra.NANOAPP_ABORT_CODE";
3861    field public static final String EXTRA_NANOAPP_ID = "android.hardware.location.extra.NANOAPP_ID";
3862  }
3863
3864  @Deprecated public abstract static class ContextHubManager.Callback {
3865    ctor @Deprecated protected ContextHubManager.Callback();
3866    method @Deprecated public abstract void onMessageReceipt(int, int, @NonNull android.hardware.location.ContextHubMessage);
3867  }
3868
3869  @Deprecated public class ContextHubMessage implements android.os.Parcelable {
3870    ctor @Deprecated public ContextHubMessage(int, int, byte[]);
3871    method @Deprecated public int describeContents();
3872    method @Deprecated public byte[] getData();
3873    method @Deprecated public int getMsgType();
3874    method @Deprecated public int getVersion();
3875    method @Deprecated public void setMsgData(byte[]);
3876    method @Deprecated public void setMsgType(int);
3877    method @Deprecated public void setVersion(int);
3878    method @Deprecated public void writeToParcel(android.os.Parcel, int);
3879    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.ContextHubMessage> CREATOR;
3880  }
3881
3882  public class ContextHubTransaction<T> {
3883    method public int getType();
3884    method public void setOnCompleteListener(@NonNull android.hardware.location.ContextHubTransaction.OnCompleteListener<T>, @NonNull java.util.concurrent.Executor);
3885    method public void setOnCompleteListener(@NonNull android.hardware.location.ContextHubTransaction.OnCompleteListener<T>);
3886    method public static String typeToString(int, boolean);
3887    method public android.hardware.location.ContextHubTransaction.Response<T> waitForResponse(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException;
3888    field public static final int RESULT_FAILED_AT_HUB = 5; // 0x5
3889    field public static final int RESULT_FAILED_BAD_PARAMS = 2; // 0x2
3890    field public static final int RESULT_FAILED_BUSY = 4; // 0x4
3891    field public static final int RESULT_FAILED_HAL_UNAVAILABLE = 8; // 0x8
3892    field public static final int RESULT_FAILED_SERVICE_INTERNAL_FAILURE = 7; // 0x7
3893    field public static final int RESULT_FAILED_TIMEOUT = 6; // 0x6
3894    field public static final int RESULT_FAILED_UNINITIALIZED = 3; // 0x3
3895    field public static final int RESULT_FAILED_UNKNOWN = 1; // 0x1
3896    field public static final int RESULT_SUCCESS = 0; // 0x0
3897    field public static final int TYPE_DISABLE_NANOAPP = 3; // 0x3
3898    field public static final int TYPE_ENABLE_NANOAPP = 2; // 0x2
3899    field public static final int TYPE_LOAD_NANOAPP = 0; // 0x0
3900    field public static final int TYPE_QUERY_NANOAPPS = 4; // 0x4
3901    field public static final int TYPE_UNLOAD_NANOAPP = 1; // 0x1
3902  }
3903
3904  @java.lang.FunctionalInterface public static interface ContextHubTransaction.OnCompleteListener<L> {
3905    method public void onComplete(android.hardware.location.ContextHubTransaction<L>, android.hardware.location.ContextHubTransaction.Response<L>);
3906  }
3907
3908  public static class ContextHubTransaction.Response<R> {
3909    method public R getContents();
3910    method public int getResult();
3911  }
3912
3913  public final class GeofenceHardware {
3914    method public boolean addGeofence(int, int, android.hardware.location.GeofenceHardwareRequest, android.hardware.location.GeofenceHardwareCallback);
3915    method public int[] getMonitoringTypes();
3916    method public int getStatusOfMonitoringType(int);
3917    method public boolean pauseGeofence(int, int);
3918    method public boolean registerForMonitorStateChangeCallback(int, android.hardware.location.GeofenceHardwareMonitorCallback);
3919    method public boolean removeGeofence(int, int);
3920    method public boolean resumeGeofence(int, int, int);
3921    method public boolean unregisterForMonitorStateChangeCallback(int, android.hardware.location.GeofenceHardwareMonitorCallback);
3922    field public static final int GEOFENCE_ENTERED = 1; // 0x1
3923    field public static final int GEOFENCE_ERROR_ID_EXISTS = 2; // 0x2
3924    field public static final int GEOFENCE_ERROR_ID_UNKNOWN = 3; // 0x3
3925    field public static final int GEOFENCE_ERROR_INSUFFICIENT_MEMORY = 6; // 0x6
3926    field public static final int GEOFENCE_ERROR_INVALID_TRANSITION = 4; // 0x4
3927    field public static final int GEOFENCE_ERROR_TOO_MANY_GEOFENCES = 1; // 0x1
3928    field public static final int GEOFENCE_EXITED = 2; // 0x2
3929    field public static final int GEOFENCE_FAILURE = 5; // 0x5
3930    field public static final int GEOFENCE_SUCCESS = 0; // 0x0
3931    field public static final int GEOFENCE_UNCERTAIN = 4; // 0x4
3932    field public static final int MONITORING_TYPE_FUSED_HARDWARE = 1; // 0x1
3933    field public static final int MONITORING_TYPE_GPS_HARDWARE = 0; // 0x0
3934    field public static final int MONITOR_CURRENTLY_AVAILABLE = 0; // 0x0
3935    field public static final int MONITOR_CURRENTLY_UNAVAILABLE = 1; // 0x1
3936    field public static final int MONITOR_UNSUPPORTED = 2; // 0x2
3937    field public static final int SOURCE_TECHNOLOGY_BLUETOOTH = 16; // 0x10
3938    field public static final int SOURCE_TECHNOLOGY_CELL = 8; // 0x8
3939    field public static final int SOURCE_TECHNOLOGY_GNSS = 1; // 0x1
3940    field public static final int SOURCE_TECHNOLOGY_SENSORS = 4; // 0x4
3941    field public static final int SOURCE_TECHNOLOGY_WIFI = 2; // 0x2
3942  }
3943
3944  public abstract class GeofenceHardwareCallback {
3945    ctor public GeofenceHardwareCallback();
3946    method public void onGeofenceAdd(int, int);
3947    method public void onGeofencePause(int, int);
3948    method public void onGeofenceRemove(int, int);
3949    method public void onGeofenceResume(int, int);
3950    method public void onGeofenceTransition(int, int, android.location.Location, long, int);
3951  }
3952
3953  public abstract class GeofenceHardwareMonitorCallback {
3954    ctor public GeofenceHardwareMonitorCallback();
3955    method @Deprecated public void onMonitoringSystemChange(int, boolean, android.location.Location);
3956    method public void onMonitoringSystemChange(android.hardware.location.GeofenceHardwareMonitorEvent);
3957  }
3958
3959  public class GeofenceHardwareMonitorEvent implements android.os.Parcelable {
3960    ctor public GeofenceHardwareMonitorEvent(int, int, int, android.location.Location);
3961    method public int describeContents();
3962    method public android.location.Location getLocation();
3963    method public int getMonitoringStatus();
3964    method public int getMonitoringType();
3965    method public int getSourceTechnologies();
3966    method public void writeToParcel(android.os.Parcel, int);
3967    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.GeofenceHardwareMonitorEvent> CREATOR;
3968  }
3969
3970  public final class GeofenceHardwareRequest {
3971    ctor public GeofenceHardwareRequest();
3972    method public static android.hardware.location.GeofenceHardwareRequest createCircularGeofence(double, double, double);
3973    method public int getLastTransition();
3974    method public double getLatitude();
3975    method public double getLongitude();
3976    method public int getMonitorTransitions();
3977    method public int getNotificationResponsiveness();
3978    method public double getRadius();
3979    method public int getSourceTechnologies();
3980    method public int getUnknownTimer();
3981    method public void setLastTransition(int);
3982    method public void setMonitorTransitions(int);
3983    method public void setNotificationResponsiveness(int);
3984    method public void setSourceTechnologies(int);
3985    method public void setUnknownTimer(int);
3986  }
3987
3988  public class MemoryRegion implements android.os.Parcelable {
3989    ctor public MemoryRegion(android.os.Parcel);
3990    method public int describeContents();
3991    method public int getCapacityBytes();
3992    method public int getFreeCapacityBytes();
3993    method public boolean isExecutable();
3994    method public boolean isReadable();
3995    method public boolean isWritable();
3996    method public void writeToParcel(android.os.Parcel, int);
3997    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.MemoryRegion> CREATOR;
3998  }
3999
4000  @Deprecated public class NanoApp implements android.os.Parcelable {
4001    ctor @Deprecated public NanoApp();
4002    ctor @Deprecated public NanoApp(int, byte[]);
4003    ctor @Deprecated public NanoApp(long, byte[]);
4004    method @Deprecated public int describeContents();
4005    method @Deprecated public byte[] getAppBinary();
4006    method @Deprecated public long getAppId();
4007    method @Deprecated public int getAppVersion();
4008    method @Deprecated public String getName();
4009    method @Deprecated public int getNeededExecMemBytes();
4010    method @Deprecated public int getNeededReadMemBytes();
4011    method @Deprecated public int[] getNeededSensors();
4012    method @Deprecated public int getNeededWriteMemBytes();
4013    method @Deprecated public int[] getOutputEvents();
4014    method @Deprecated public String getPublisher();
4015    method @Deprecated public void setAppBinary(byte[]);
4016    method @Deprecated public void setAppId(long);
4017    method @Deprecated public void setAppVersion(int);
4018    method @Deprecated public void setName(String);
4019    method @Deprecated public void setNeededExecMemBytes(int);
4020    method @Deprecated public void setNeededReadMemBytes(int);
4021    method @Deprecated public void setNeededSensors(int[]);
4022    method @Deprecated public void setNeededWriteMemBytes(int);
4023    method @Deprecated public void setOutputEvents(int[]);
4024    method @Deprecated public void setPublisher(String);
4025    method @Deprecated public void writeToParcel(android.os.Parcel, int);
4026    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoApp> CREATOR;
4027  }
4028
4029  public final class NanoAppBinary implements android.os.Parcelable {
4030    ctor public NanoAppBinary(byte[]);
4031    method public int describeContents();
4032    method public byte[] getBinary();
4033    method public byte[] getBinaryNoHeader();
4034    method public int getFlags();
4035    method public int getHeaderVersion();
4036    method public long getHwHubType();
4037    method public long getNanoAppId();
4038    method public int getNanoAppVersion();
4039    method public byte getTargetChreApiMajorVersion();
4040    method public byte getTargetChreApiMinorVersion();
4041    method public boolean hasValidHeader();
4042    method public boolean isEncrypted();
4043    method public boolean isSigned();
4044    method public void writeToParcel(android.os.Parcel, int);
4045    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppBinary> CREATOR;
4046  }
4047
4048  @Deprecated public class NanoAppFilter implements android.os.Parcelable {
4049    ctor @Deprecated public NanoAppFilter(long, int, int, long);
4050    method @Deprecated public int describeContents();
4051    method @Deprecated public boolean testMatch(android.hardware.location.NanoAppInstanceInfo);
4052    method @Deprecated public void writeToParcel(android.os.Parcel, int);
4053    field @Deprecated public static final int APP_ANY = -1; // 0xffffffff
4054    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppFilter> CREATOR;
4055    field @Deprecated public static final int FLAGS_VERSION_ANY = -1; // 0xffffffff
4056    field @Deprecated public static final int FLAGS_VERSION_GREAT_THAN = 2; // 0x2
4057    field @Deprecated public static final int FLAGS_VERSION_LESS_THAN = 4; // 0x4
4058    field @Deprecated public static final int FLAGS_VERSION_STRICTLY_EQUAL = 8; // 0x8
4059    field @Deprecated public static final int HUB_ANY = -1; // 0xffffffff
4060    field @Deprecated public static final int VENDOR_ANY = -1; // 0xffffffff
4061  }
4062
4063  @Deprecated public class NanoAppInstanceInfo implements android.os.Parcelable {
4064    ctor @Deprecated public NanoAppInstanceInfo();
4065    method @Deprecated public int describeContents();
4066    method @Deprecated public long getAppId();
4067    method @Deprecated public int getAppVersion();
4068    method @Deprecated public int getContexthubId();
4069    method @Deprecated public int getHandle();
4070    method @Deprecated public String getName();
4071    method @Deprecated public int getNeededExecMemBytes();
4072    method @Deprecated public int getNeededReadMemBytes();
4073    method @Deprecated @NonNull public int[] getNeededSensors();
4074    method @Deprecated public int getNeededWriteMemBytes();
4075    method @Deprecated @NonNull public int[] getOutputEvents();
4076    method @Deprecated public String getPublisher();
4077    method @Deprecated public void writeToParcel(android.os.Parcel, int);
4078    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppInstanceInfo> CREATOR;
4079  }
4080
4081  public final class NanoAppMessage implements android.os.Parcelable {
4082    method public static android.hardware.location.NanoAppMessage createMessageFromNanoApp(long, int, byte[], boolean);
4083    method public static android.hardware.location.NanoAppMessage createMessageToNanoApp(long, int, byte[]);
4084    method public int describeContents();
4085    method public byte[] getMessageBody();
4086    method public int getMessageType();
4087    method public long getNanoAppId();
4088    method public boolean isBroadcastMessage();
4089    method public void writeToParcel(android.os.Parcel, int);
4090    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppMessage> CREATOR;
4091  }
4092
4093  public final class NanoAppState implements android.os.Parcelable {
4094    ctor public NanoAppState(long, int, boolean);
4095    ctor public NanoAppState(long, int, boolean, @NonNull java.util.List<java.lang.String>);
4096    method public int describeContents();
4097    method public long getNanoAppId();
4098    method @NonNull public java.util.List<java.lang.String> getNanoAppPermissions();
4099    method public long getNanoAppVersion();
4100    method public boolean isEnabled();
4101    method public void writeToParcel(android.os.Parcel, int);
4102    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppState> CREATOR;
4103  }
4104
4105}
4106
4107package android.hardware.radio {
4108
4109  public final class Announcement implements android.os.Parcelable {
4110    method public int describeContents();
4111    method @NonNull public android.hardware.radio.ProgramSelector getSelector();
4112    method public int getType();
4113    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
4114    method public void writeToParcel(android.os.Parcel, int);
4115    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.Announcement> CREATOR;
4116    field public static final int TYPE_EMERGENCY = 1; // 0x1
4117    field public static final int TYPE_EVENT = 6; // 0x6
4118    field public static final int TYPE_MISC = 8; // 0x8
4119    field public static final int TYPE_NEWS = 5; // 0x5
4120    field public static final int TYPE_SPORT = 7; // 0x7
4121    field public static final int TYPE_TRAFFIC = 3; // 0x3
4122    field public static final int TYPE_WARNING = 2; // 0x2
4123    field public static final int TYPE_WEATHER = 4; // 0x4
4124  }
4125
4126  public static interface Announcement.OnListUpdatedListener {
4127    method public void onListUpdated(java.util.Collection<android.hardware.radio.Announcement>);
4128  }
4129
4130  public final class ProgramList implements java.lang.AutoCloseable {
4131    method public void addOnCompleteListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.radio.ProgramList.OnCompleteListener);
4132    method public void addOnCompleteListener(@NonNull android.hardware.radio.ProgramList.OnCompleteListener);
4133    method public void close();
4134    method @Nullable public android.hardware.radio.RadioManager.ProgramInfo get(@NonNull android.hardware.radio.ProgramSelector.Identifier);
4135    method public void registerListCallback(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.radio.ProgramList.ListCallback);
4136    method public void registerListCallback(@NonNull android.hardware.radio.ProgramList.ListCallback);
4137    method public void removeOnCompleteListener(@NonNull android.hardware.radio.ProgramList.OnCompleteListener);
4138    method @NonNull public java.util.List<android.hardware.radio.RadioManager.ProgramInfo> toList();
4139    method public void unregisterListCallback(@NonNull android.hardware.radio.ProgramList.ListCallback);
4140  }
4141
4142  public static final class ProgramList.Filter implements android.os.Parcelable {
4143    ctor public ProgramList.Filter(@NonNull java.util.Set<java.lang.Integer>, @NonNull java.util.Set<android.hardware.radio.ProgramSelector.Identifier>, boolean, boolean);
4144    method public boolean areCategoriesIncluded();
4145    method public boolean areModificationsExcluded();
4146    method public int describeContents();
4147    method @NonNull public java.util.Set<java.lang.Integer> getIdentifierTypes();
4148    method @NonNull public java.util.Set<android.hardware.radio.ProgramSelector.Identifier> getIdentifiers();
4149    method public void writeToParcel(android.os.Parcel, int);
4150    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramList.Filter> CREATOR;
4151  }
4152
4153  public abstract static class ProgramList.ListCallback {
4154    ctor public ProgramList.ListCallback();
4155    method public void onItemChanged(@NonNull android.hardware.radio.ProgramSelector.Identifier);
4156    method public void onItemRemoved(@NonNull android.hardware.radio.ProgramSelector.Identifier);
4157  }
4158
4159  public static interface ProgramList.OnCompleteListener {
4160    method public void onComplete();
4161  }
4162
4163  public final class ProgramSelector implements android.os.Parcelable {
4164    ctor public ProgramSelector(@android.hardware.radio.ProgramSelector.ProgramType int, @NonNull android.hardware.radio.ProgramSelector.Identifier, @Nullable android.hardware.radio.ProgramSelector.Identifier[], @Nullable long[]);
4165    method @NonNull public static android.hardware.radio.ProgramSelector createAmFmSelector(@android.hardware.radio.RadioManager.Band int, int);
4166    method @NonNull public static android.hardware.radio.ProgramSelector createAmFmSelector(@android.hardware.radio.RadioManager.Band int, int, int);
4167    method public int describeContents();
4168    method @NonNull public android.hardware.radio.ProgramSelector.Identifier[] getAllIds(@android.hardware.radio.ProgramSelector.IdentifierType int);
4169    method public long getFirstId(@android.hardware.radio.ProgramSelector.IdentifierType int);
4170    method @NonNull public android.hardware.radio.ProgramSelector.Identifier getPrimaryId();
4171    method @Deprecated @android.hardware.radio.ProgramSelector.ProgramType public int getProgramType();
4172    method @NonNull public android.hardware.radio.ProgramSelector.Identifier[] getSecondaryIds();
4173    method @Deprecated @NonNull public long[] getVendorIds();
4174    method @NonNull public android.hardware.radio.ProgramSelector withSecondaryPreferred(@NonNull android.hardware.radio.ProgramSelector.Identifier);
4175    method public void writeToParcel(android.os.Parcel, int);
4176    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramSelector> CREATOR;
4177    field public static final int IDENTIFIER_TYPE_AMFM_FREQUENCY = 1; // 0x1
4178    field public static final int IDENTIFIER_TYPE_DAB_ENSEMBLE = 6; // 0x6
4179    field public static final int IDENTIFIER_TYPE_DAB_FREQUENCY = 8; // 0x8
4180    field public static final int IDENTIFIER_TYPE_DAB_SCID = 7; // 0x7
4181    field public static final int IDENTIFIER_TYPE_DAB_SIDECC = 5; // 0x5
4182    field public static final int IDENTIFIER_TYPE_DAB_SID_EXT = 5; // 0x5
4183    field public static final int IDENTIFIER_TYPE_DRMO_FREQUENCY = 10; // 0xa
4184    field @Deprecated public static final int IDENTIFIER_TYPE_DRMO_MODULATION = 11; // 0xb
4185    field public static final int IDENTIFIER_TYPE_DRMO_SERVICE_ID = 9; // 0x9
4186    field public static final int IDENTIFIER_TYPE_HD_STATION_ID_EXT = 3; // 0x3
4187    field public static final int IDENTIFIER_TYPE_HD_STATION_NAME = 10004; // 0x2714
4188    field @Deprecated public static final int IDENTIFIER_TYPE_HD_SUBCHANNEL = 4; // 0x4
4189    field public static final int IDENTIFIER_TYPE_INVALID = 0; // 0x0
4190    field public static final int IDENTIFIER_TYPE_RDS_PI = 2; // 0x2
4191    field public static final int IDENTIFIER_TYPE_SXM_CHANNEL = 13; // 0xd
4192    field public static final int IDENTIFIER_TYPE_SXM_SERVICE_ID = 12; // 0xc
4193    field public static final int IDENTIFIER_TYPE_VENDOR_END = 1999; // 0x7cf
4194    field @Deprecated public static final int IDENTIFIER_TYPE_VENDOR_PRIMARY_END = 1999; // 0x7cf
4195    field @Deprecated public static final int IDENTIFIER_TYPE_VENDOR_PRIMARY_START = 1000; // 0x3e8
4196    field public static final int IDENTIFIER_TYPE_VENDOR_START = 1000; // 0x3e8
4197    field @Deprecated public static final int PROGRAM_TYPE_AM = 1; // 0x1
4198    field @Deprecated public static final int PROGRAM_TYPE_AM_HD = 3; // 0x3
4199    field @Deprecated public static final int PROGRAM_TYPE_DAB = 5; // 0x5
4200    field @Deprecated public static final int PROGRAM_TYPE_DRMO = 6; // 0x6
4201    field @Deprecated public static final int PROGRAM_TYPE_FM = 2; // 0x2
4202    field @Deprecated public static final int PROGRAM_TYPE_FM_HD = 4; // 0x4
4203    field @Deprecated public static final int PROGRAM_TYPE_INVALID = 0; // 0x0
4204    field @Deprecated public static final int PROGRAM_TYPE_SXM = 7; // 0x7
4205    field @Deprecated public static final int PROGRAM_TYPE_VENDOR_END = 1999; // 0x7cf
4206    field @Deprecated public static final int PROGRAM_TYPE_VENDOR_START = 1000; // 0x3e8
4207  }
4208
4209  public static final class ProgramSelector.Identifier implements android.os.Parcelable {
4210    ctor public ProgramSelector.Identifier(@android.hardware.radio.ProgramSelector.IdentifierType int, long);
4211    method public int describeContents();
4212    method @android.hardware.radio.ProgramSelector.IdentifierType public int getType();
4213    method public long getValue();
4214    method public boolean isCategoryType();
4215    method public void writeToParcel(android.os.Parcel, int);
4216    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramSelector.Identifier> CREATOR;
4217  }
4218
4219  @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 {
4220  }
4221
4222  @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 {
4223  }
4224
4225  public class RadioManager {
4226    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void addAnnouncementListener(@NonNull java.util.Set<java.lang.Integer>, @NonNull android.hardware.radio.Announcement.OnListUpdatedListener);
4227    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);
4228    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public int listModules(java.util.List<android.hardware.radio.RadioManager.ModuleProperties>);
4229    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);
4230    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void removeAnnouncementListener(@NonNull android.hardware.radio.Announcement.OnListUpdatedListener);
4231    field public static final int BAND_AM = 0; // 0x0
4232    field public static final int BAND_AM_HD = 3; // 0x3
4233    field public static final int BAND_FM = 1; // 0x1
4234    field public static final int BAND_FM_HD = 2; // 0x2
4235    field public static final int BAND_INVALID = -1; // 0xffffffff
4236    field public static final int CLASS_AM_FM = 0; // 0x0
4237    field public static final int CLASS_DT = 2; // 0x2
4238    field public static final int CLASS_SAT = 1; // 0x1
4239    field public static final int CONFIG_DAB_DAB_LINKING = 6; // 0x6
4240    field public static final int CONFIG_DAB_DAB_SOFT_LINKING = 8; // 0x8
4241    field public static final int CONFIG_DAB_FM_LINKING = 7; // 0x7
4242    field public static final int CONFIG_DAB_FM_SOFT_LINKING = 9; // 0x9
4243    field public static final int CONFIG_FORCE_ANALOG = 2; // 0x2
4244    field public static final int CONFIG_FORCE_DIGITAL = 3; // 0x3
4245    field public static final int CONFIG_FORCE_MONO = 1; // 0x1
4246    field public static final int CONFIG_RDS_AF = 4; // 0x4
4247    field public static final int CONFIG_RDS_REG = 5; // 0x5
4248    field public static final int REGION_ITU_1 = 0; // 0x0
4249    field public static final int REGION_ITU_2 = 1; // 0x1
4250    field public static final int REGION_JAPAN = 3; // 0x3
4251    field public static final int REGION_KOREA = 4; // 0x4
4252    field public static final int REGION_OIRT = 2; // 0x2
4253    field public static final int STATUS_BAD_VALUE = -22; // 0xffffffea
4254    field public static final int STATUS_DEAD_OBJECT = -32; // 0xffffffe0
4255    field public static final int STATUS_ERROR = -2147483648; // 0x80000000
4256    field public static final int STATUS_INVALID_OPERATION = -38; // 0xffffffda
4257    field public static final int STATUS_NO_INIT = -19; // 0xffffffed
4258    field public static final int STATUS_OK = 0; // 0x0
4259    field public static final int STATUS_PERMISSION_DENIED = -1; // 0xffffffff
4260    field public static final int STATUS_TIMED_OUT = -110; // 0xffffff92
4261  }
4262
4263  public static class RadioManager.AmBandConfig extends android.hardware.radio.RadioManager.BandConfig {
4264    method public boolean getStereo();
4265    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.AmBandConfig> CREATOR;
4266  }
4267
4268  public static class RadioManager.AmBandConfig.Builder {
4269    ctor public RadioManager.AmBandConfig.Builder(android.hardware.radio.RadioManager.AmBandDescriptor);
4270    ctor public RadioManager.AmBandConfig.Builder(android.hardware.radio.RadioManager.AmBandConfig);
4271    method public android.hardware.radio.RadioManager.AmBandConfig build();
4272    method public android.hardware.radio.RadioManager.AmBandConfig.Builder setStereo(boolean);
4273  }
4274
4275  public static class RadioManager.AmBandDescriptor extends android.hardware.radio.RadioManager.BandDescriptor {
4276    method public boolean isStereoSupported();
4277    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.AmBandDescriptor> CREATOR;
4278  }
4279
4280  @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 {
4281  }
4282
4283  public static class RadioManager.BandConfig implements android.os.Parcelable {
4284    method public int describeContents();
4285    method public int getLowerLimit();
4286    method public int getRegion();
4287    method public int getSpacing();
4288    method public int getType();
4289    method public int getUpperLimit();
4290    method public void writeToParcel(android.os.Parcel, int);
4291    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.BandConfig> CREATOR;
4292  }
4293
4294  public static class RadioManager.BandDescriptor implements android.os.Parcelable {
4295    method public int describeContents();
4296    method public int getLowerLimit();
4297    method public int getRegion();
4298    method public int getSpacing();
4299    method public int getType();
4300    method public int getUpperLimit();
4301    method public boolean isAmBand();
4302    method public boolean isFmBand();
4303    method public void writeToParcel(android.os.Parcel, int);
4304    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.BandDescriptor> CREATOR;
4305  }
4306
4307  public static class RadioManager.FmBandConfig extends android.hardware.radio.RadioManager.BandConfig {
4308    method public boolean getAf();
4309    method public boolean getEa();
4310    method public boolean getRds();
4311    method public boolean getStereo();
4312    method public boolean getTa();
4313    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.FmBandConfig> CREATOR;
4314  }
4315
4316  public static class RadioManager.FmBandConfig.Builder {
4317    ctor public RadioManager.FmBandConfig.Builder(android.hardware.radio.RadioManager.FmBandDescriptor);
4318    ctor public RadioManager.FmBandConfig.Builder(android.hardware.radio.RadioManager.FmBandConfig);
4319    method public android.hardware.radio.RadioManager.FmBandConfig build();
4320    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setAf(boolean);
4321    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setEa(boolean);
4322    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setRds(boolean);
4323    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setStereo(boolean);
4324    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setTa(boolean);
4325  }
4326
4327  public static class RadioManager.FmBandDescriptor extends android.hardware.radio.RadioManager.BandDescriptor {
4328    method public boolean isAfSupported();
4329    method public boolean isEaSupported();
4330    method public boolean isRdsSupported();
4331    method public boolean isStereoSupported();
4332    method public boolean isTaSupported();
4333    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.FmBandDescriptor> CREATOR;
4334  }
4335
4336  public static class RadioManager.ModuleProperties implements android.os.Parcelable {
4337    method public int describeContents();
4338    method public android.hardware.radio.RadioManager.BandDescriptor[] getBands();
4339    method public int getClassId();
4340    method @Nullable public java.util.Map<java.lang.String,java.lang.Integer> getDabFrequencyTable();
4341    method public int getId();
4342    method public String getImplementor();
4343    method public int getNumAudioSources();
4344    method public int getNumTuners();
4345    method public String getProduct();
4346    method public String getSerial();
4347    method @NonNull public String getServiceName();
4348    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
4349    method public String getVersion();
4350    method public boolean isBackgroundScanningSupported();
4351    method public boolean isCaptureSupported();
4352    method public boolean isInitializationRequired();
4353    method public boolean isProgramIdentifierSupported(@android.hardware.radio.ProgramSelector.IdentifierType int);
4354    method public boolean isProgramTypeSupported(@android.hardware.radio.ProgramSelector.ProgramType int);
4355    method public void writeToParcel(android.os.Parcel, int);
4356    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.ModuleProperties> CREATOR;
4357  }
4358
4359  public static class RadioManager.ProgramInfo implements android.os.Parcelable {
4360    method public int describeContents();
4361    method @Deprecated public int getChannel();
4362    method @Nullable public android.hardware.radio.ProgramSelector.Identifier getLogicallyTunedTo();
4363    method public android.hardware.radio.RadioMetadata getMetadata();
4364    method @Nullable public android.hardware.radio.ProgramSelector.Identifier getPhysicallyTunedTo();
4365    method @Nullable public java.util.Collection<android.hardware.radio.ProgramSelector.Identifier> getRelatedContent();
4366    method @NonNull public android.hardware.radio.ProgramSelector getSelector();
4367    method public int getSignalStrength();
4368    method @Deprecated public int getSubChannel();
4369    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
4370    method @Deprecated public boolean isDigital();
4371    method public boolean isLive();
4372    method public boolean isMuted();
4373    method public boolean isStereo();
4374    method public boolean isTrafficAnnouncementActive();
4375    method public boolean isTrafficProgram();
4376    method public boolean isTuned();
4377    method public void writeToParcel(android.os.Parcel, int);
4378    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.ProgramInfo> CREATOR;
4379  }
4380
4381  public final class RadioMetadata implements android.os.Parcelable {
4382    method public boolean containsKey(String);
4383    method public int describeContents();
4384    method @Deprecated public android.graphics.Bitmap getBitmap(String);
4385    method public android.hardware.radio.RadioMetadata.Clock getClock(String);
4386    method public int getInt(String);
4387    method public String getString(String);
4388    method public java.util.Set<java.lang.String> keySet();
4389    method public int size();
4390    method public void writeToParcel(android.os.Parcel, int);
4391    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioMetadata> CREATOR;
4392    field public static final String METADATA_KEY_ALBUM = "android.hardware.radio.metadata.ALBUM";
4393    field public static final String METADATA_KEY_ART = "android.hardware.radio.metadata.ART";
4394    field public static final String METADATA_KEY_ARTIST = "android.hardware.radio.metadata.ARTIST";
4395    field public static final String METADATA_KEY_CLOCK = "android.hardware.radio.metadata.CLOCK";
4396    field public static final String METADATA_KEY_DAB_COMPONENT_NAME = "android.hardware.radio.metadata.DAB_COMPONENT_NAME";
4397    field public static final String METADATA_KEY_DAB_COMPONENT_NAME_SHORT = "android.hardware.radio.metadata.DAB_COMPONENT_NAME_SHORT";
4398    field public static final String METADATA_KEY_DAB_ENSEMBLE_NAME = "android.hardware.radio.metadata.DAB_ENSEMBLE_NAME";
4399    field public static final String METADATA_KEY_DAB_ENSEMBLE_NAME_SHORT = "android.hardware.radio.metadata.DAB_ENSEMBLE_NAME_SHORT";
4400    field public static final String METADATA_KEY_DAB_SERVICE_NAME = "android.hardware.radio.metadata.DAB_SERVICE_NAME";
4401    field public static final String METADATA_KEY_DAB_SERVICE_NAME_SHORT = "android.hardware.radio.metadata.DAB_SERVICE_NAME_SHORT";
4402    field public static final String METADATA_KEY_GENRE = "android.hardware.radio.metadata.GENRE";
4403    field public static final String METADATA_KEY_ICON = "android.hardware.radio.metadata.ICON";
4404    field public static final String METADATA_KEY_PROGRAM_NAME = "android.hardware.radio.metadata.PROGRAM_NAME";
4405    field public static final String METADATA_KEY_RBDS_PTY = "android.hardware.radio.metadata.RBDS_PTY";
4406    field public static final String METADATA_KEY_RDS_PI = "android.hardware.radio.metadata.RDS_PI";
4407    field public static final String METADATA_KEY_RDS_PS = "android.hardware.radio.metadata.RDS_PS";
4408    field public static final String METADATA_KEY_RDS_PTY = "android.hardware.radio.metadata.RDS_PTY";
4409    field public static final String METADATA_KEY_RDS_RT = "android.hardware.radio.metadata.RDS_RT";
4410    field public static final String METADATA_KEY_TITLE = "android.hardware.radio.metadata.TITLE";
4411  }
4412
4413  public static final class RadioMetadata.Builder {
4414    ctor public RadioMetadata.Builder();
4415    ctor public RadioMetadata.Builder(android.hardware.radio.RadioMetadata);
4416    method public android.hardware.radio.RadioMetadata build();
4417    method public android.hardware.radio.RadioMetadata.Builder putBitmap(String, android.graphics.Bitmap);
4418    method public android.hardware.radio.RadioMetadata.Builder putClock(String, long, int);
4419    method public android.hardware.radio.RadioMetadata.Builder putInt(String, int);
4420    method public android.hardware.radio.RadioMetadata.Builder putString(String, String);
4421  }
4422
4423  public static final class RadioMetadata.Clock implements android.os.Parcelable {
4424    ctor public RadioMetadata.Clock(long, int);
4425    method public int describeContents();
4426    method public int getTimezoneOffsetMinutes();
4427    method public long getUtcEpochSeconds();
4428    method public void writeToParcel(android.os.Parcel, int);
4429    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioMetadata.Clock> CREATOR;
4430  }
4431
4432  public abstract class RadioTuner {
4433    ctor public RadioTuner();
4434    method public abstract int cancel();
4435    method public abstract void cancelAnnouncement();
4436    method public abstract void close();
4437    method @Deprecated public abstract int getConfiguration(android.hardware.radio.RadioManager.BandConfig[]);
4438    method @Nullable public android.hardware.radio.ProgramList getDynamicProgramList(@Nullable android.hardware.radio.ProgramList.Filter);
4439    method public abstract boolean getMute();
4440    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getParameters(@NonNull java.util.List<java.lang.String>);
4441    method @Deprecated public abstract int getProgramInformation(android.hardware.radio.RadioManager.ProgramInfo[]);
4442    method @Deprecated @NonNull public abstract java.util.List<android.hardware.radio.RadioManager.ProgramInfo> getProgramList(@Nullable java.util.Map<java.lang.String,java.lang.String>);
4443    method public abstract boolean hasControl();
4444    method @Deprecated public abstract boolean isAnalogForced();
4445    method @Deprecated public abstract boolean isAntennaConnected();
4446    method public boolean isConfigFlagSet(int);
4447    method public boolean isConfigFlagSupported(int);
4448    method public abstract int scan(int, boolean);
4449    method @Deprecated public abstract void setAnalogForced(boolean);
4450    method public void setConfigFlag(int, boolean);
4451    method @Deprecated public abstract int setConfiguration(android.hardware.radio.RadioManager.BandConfig);
4452    method public abstract int setMute(boolean);
4453    method @NonNull public java.util.Map<java.lang.String,java.lang.String> setParameters(@NonNull java.util.Map<java.lang.String,java.lang.String>);
4454    method public abstract boolean startBackgroundScan();
4455    method public abstract int step(int, boolean);
4456    method @Deprecated public abstract int tune(int, int);
4457    method public abstract void tune(@NonNull android.hardware.radio.ProgramSelector);
4458    field public static final int DIRECTION_DOWN = 1; // 0x1
4459    field public static final int DIRECTION_UP = 0; // 0x0
4460    field @Deprecated public static final int ERROR_BACKGROUND_SCAN_FAILED = 6; // 0x6
4461    field @Deprecated public static final int ERROR_BACKGROUND_SCAN_UNAVAILABLE = 5; // 0x5
4462    field @Deprecated public static final int ERROR_CANCELLED = 2; // 0x2
4463    field @Deprecated public static final int ERROR_CONFIG = 4; // 0x4
4464    field @Deprecated public static final int ERROR_HARDWARE_FAILURE = 0; // 0x0
4465    field @Deprecated public static final int ERROR_SCAN_TIMEOUT = 3; // 0x3
4466    field @Deprecated public static final int ERROR_SERVER_DIED = 1; // 0x1
4467  }
4468
4469  public abstract static class RadioTuner.Callback {
4470    ctor public RadioTuner.Callback();
4471    method public void onAntennaState(boolean);
4472    method public void onBackgroundScanAvailabilityChange(boolean);
4473    method public void onBackgroundScanComplete();
4474    method @Deprecated public void onConfigurationChanged(android.hardware.radio.RadioManager.BandConfig);
4475    method public void onControlChanged(boolean);
4476    method public void onEmergencyAnnouncement(boolean);
4477    method @Deprecated public void onError(int);
4478    method @Deprecated public void onMetadataChanged(android.hardware.radio.RadioMetadata);
4479    method public void onParametersUpdated(@NonNull java.util.Map<java.lang.String,java.lang.String>);
4480    method public void onProgramInfoChanged(android.hardware.radio.RadioManager.ProgramInfo);
4481    method public void onProgramListChanged();
4482    method public void onTrafficAnnouncement(boolean);
4483    method public void onTuneFailed(int, @Nullable android.hardware.radio.ProgramSelector);
4484  }
4485
4486}
4487
4488package android.hardware.soundtrigger {
4489
4490  public class SoundTrigger {
4491    field public static final int RECOGNITION_MODE_GENERIC = 8; // 0x8
4492    field public static final int RECOGNITION_MODE_USER_AUTHENTICATION = 4; // 0x4
4493    field public static final int RECOGNITION_MODE_USER_IDENTIFICATION = 2; // 0x2
4494    field public static final int RECOGNITION_MODE_VOICE_TRIGGER = 1; // 0x1
4495    field public static final int STATUS_OK = 0; // 0x0
4496  }
4497
4498  public static final class SoundTrigger.Keyphrase implements android.os.Parcelable {
4499    ctor public SoundTrigger.Keyphrase(int, int, @NonNull java.util.Locale, @NonNull String, @Nullable int[]);
4500    method public int getId();
4501    method @NonNull public java.util.Locale getLocale();
4502    method public int getRecognitionModes();
4503    method @NonNull public String getText();
4504    method @NonNull public int[] getUsers();
4505    method @NonNull public static android.hardware.soundtrigger.SoundTrigger.Keyphrase readFromParcel(@NonNull android.os.Parcel);
4506    method public void writeToParcel(@NonNull android.os.Parcel, int);
4507    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.Keyphrase> CREATOR;
4508  }
4509
4510  public static final class SoundTrigger.KeyphraseSoundModel extends android.hardware.soundtrigger.SoundTrigger.SoundModel implements android.os.Parcelable {
4511    ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[], int);
4512    ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[]);
4513    method @NonNull public android.hardware.soundtrigger.SoundTrigger.Keyphrase[] getKeyphrases();
4514    method @NonNull public static android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel readFromParcel(@NonNull android.os.Parcel);
4515    method public void writeToParcel(@NonNull android.os.Parcel, int);
4516    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel> CREATOR;
4517  }
4518
4519  public static final class SoundTrigger.ModelParamRange implements android.os.Parcelable {
4520    method public int getEnd();
4521    method public int getStart();
4522    method public void writeToParcel(@NonNull android.os.Parcel, int);
4523    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModelParamRange> CREATOR;
4524  }
4525
4526  public static final class SoundTrigger.ModuleProperties implements android.os.Parcelable {
4527    method public int describeContents();
4528    method public int getAudioCapabilities();
4529    method @NonNull public String getDescription();
4530    method public int getId();
4531    method @NonNull public String getImplementor();
4532    method public int getMaxBufferMillis();
4533    method public int getMaxKeyphrases();
4534    method public int getMaxSoundModels();
4535    method public int getMaxUsers();
4536    method public int getPowerConsumptionMw();
4537    method public int getRecognitionModes();
4538    method @NonNull public String getSupportedModelArch();
4539    method @NonNull public java.util.UUID getUuid();
4540    method public int getVersion();
4541    method public boolean isCaptureTransitionSupported();
4542    method public boolean isConcurrentCaptureSupported();
4543    method public boolean isTriggerReturnedInEvent();
4544    method public void writeToParcel(android.os.Parcel, int);
4545    field public static final int AUDIO_CAPABILITY_ECHO_CANCELLATION = 1; // 0x1
4546    field public static final int AUDIO_CAPABILITY_NOISE_SUPPRESSION = 2; // 0x2
4547    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModuleProperties> CREATOR;
4548  }
4549
4550  public static class SoundTrigger.RecognitionEvent {
4551    method @Nullable public android.media.AudioFormat getCaptureFormat();
4552    method public int getCaptureSession();
4553    method public byte[] getData();
4554    method public boolean isCaptureAvailable();
4555  }
4556
4557  public static class SoundTrigger.SoundModel {
4558    method @NonNull public byte[] getData();
4559    method public int getType();
4560    method @NonNull public java.util.UUID getUuid();
4561    method @NonNull public java.util.UUID getVendorUuid();
4562    method public int getVersion();
4563    field public static final int TYPE_GENERIC_SOUND = 1; // 0x1
4564    field public static final int TYPE_KEYPHRASE = 0; // 0x0
4565  }
4566
4567}
4568
4569package android.hardware.usb {
4570
4571  public class UsbDeviceConnection {
4572    method public boolean resetDevice();
4573  }
4574
4575  public class UsbManager {
4576    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public long getCurrentFunctions();
4577    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_USB) public java.util.List<android.hardware.usb.UsbPort> getPorts();
4578    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void grantPermission(android.hardware.usb.UsbDevice, String);
4579    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void resetUsbGadget();
4580    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void setCurrentFunctions(long);
4581    field @RequiresPermission(android.Manifest.permission.MANAGE_USB) public static final String ACTION_USB_ACCESSORY_HANDSHAKE = "android.hardware.usb.action.USB_ACCESSORY_HANDSHAKE";
4582    field @RequiresPermission(android.Manifest.permission.MANAGE_USB) public static final String ACTION_USB_PORT_CHANGED = "android.hardware.usb.action.USB_PORT_CHANGED";
4583    field public static final String ACTION_USB_STATE = "android.hardware.usb.action.USB_STATE";
4584    field public static final String EXTRA_ACCESSORY_HANDSHAKE_END = "android.hardware.usb.extra.ACCESSORY_HANDSHAKE_END";
4585    field public static final String EXTRA_ACCESSORY_START = "android.hardware.usb.extra.ACCESSORY_START";
4586    field public static final String EXTRA_ACCESSORY_STRING_COUNT = "android.hardware.usb.extra.ACCESSORY_STRING_COUNT";
4587    field public static final String EXTRA_ACCESSORY_UEVENT_TIME = "android.hardware.usb.extra.ACCESSORY_UEVENT_TIME";
4588    field public static final long FUNCTION_ACCESSORY = 2L; // 0x2L
4589    field public static final long FUNCTION_ADB = 1L; // 0x1L
4590    field public static final long FUNCTION_AUDIO_SOURCE = 64L; // 0x40L
4591    field public static final long FUNCTION_MIDI = 8L; // 0x8L
4592    field public static final long FUNCTION_MTP = 4L; // 0x4L
4593    field public static final long FUNCTION_NCM = 1024L; // 0x400L
4594    field public static final long FUNCTION_NONE = 0L; // 0x0L
4595    field public static final long FUNCTION_PTP = 16L; // 0x10L
4596    field public static final long FUNCTION_RNDIS = 32L; // 0x20L
4597    field public static final String USB_CONFIGURED = "configured";
4598    field public static final String USB_CONNECTED = "connected";
4599    field public static final String USB_FUNCTION_NCM = "ncm";
4600    field public static final String USB_FUNCTION_RNDIS = "rndis";
4601  }
4602
4603  public final class UsbPort {
4604    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USB) public android.hardware.usb.UsbPortStatus getStatus();
4605    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void setRoles(int, int);
4606  }
4607
4608  public final class UsbPortStatus implements android.os.Parcelable {
4609    method public int describeContents();
4610    method public int getCurrentDataRole();
4611    method public int getCurrentMode();
4612    method public int getCurrentPowerRole();
4613    method public int getSupportedRoleCombinations();
4614    method public boolean isConnected();
4615    method public boolean isRoleCombinationSupported(int, int);
4616    method public void writeToParcel(android.os.Parcel, int);
4617    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbPortStatus> CREATOR;
4618    field public static final int DATA_ROLE_DEVICE = 2; // 0x2
4619    field public static final int DATA_ROLE_HOST = 1; // 0x1
4620    field public static final int DATA_ROLE_NONE = 0; // 0x0
4621    field public static final int MODE_AUDIO_ACCESSORY = 4; // 0x4
4622    field public static final int MODE_DEBUG_ACCESSORY = 8; // 0x8
4623    field public static final int MODE_DFP = 2; // 0x2
4624    field public static final int MODE_NONE = 0; // 0x0
4625    field public static final int MODE_UFP = 1; // 0x1
4626    field public static final int POWER_ROLE_NONE = 0; // 0x0
4627    field public static final int POWER_ROLE_SINK = 2; // 0x2
4628    field public static final int POWER_ROLE_SOURCE = 1; // 0x1
4629  }
4630
4631}
4632
4633package android.location {
4634
4635  public abstract class BatchedLocationCallback {
4636    ctor public BatchedLocationCallback();
4637    method public void onLocationBatch(java.util.List<android.location.Location>);
4638  }
4639
4640  public final class CorrelationVector implements android.os.Parcelable {
4641    method public int describeContents();
4642    method @FloatRange(from=0.0f) public double getFrequencyOffsetMetersPerSecond();
4643    method @NonNull public int[] getMagnitude();
4644    method @FloatRange(from=0.0f) public double getSamplingStartMeters();
4645    method @FloatRange(from=0.0f, fromInclusive=false) public double getSamplingWidthMeters();
4646    method public void writeToParcel(@NonNull android.os.Parcel, int);
4647    field @NonNull public static final android.os.Parcelable.Creator<android.location.CorrelationVector> CREATOR;
4648  }
4649
4650  public static final class CorrelationVector.Builder {
4651    ctor public CorrelationVector.Builder();
4652    method @NonNull public android.location.CorrelationVector build();
4653    method @NonNull public android.location.CorrelationVector.Builder setFrequencyOffsetMetersPerSecond(@FloatRange(from=0.0f) double);
4654    method @NonNull public android.location.CorrelationVector.Builder setMagnitude(@NonNull int[]);
4655    method @NonNull public android.location.CorrelationVector.Builder setSamplingStartMeters(@FloatRange(from=0.0f) double);
4656    method @NonNull public android.location.CorrelationVector.Builder setSamplingWidthMeters(@FloatRange(from=0.0f, fromInclusive=false) double);
4657  }
4658
4659  public final class GnssCapabilities implements android.os.Parcelable {
4660    method public boolean hasGeofencing();
4661    method public boolean hasLowPowerMode();
4662    method public boolean hasMeasurementCorrections();
4663    method public boolean hasMeasurementCorrectionsExcessPathLength();
4664    method public boolean hasMeasurementCorrectionsForDriving();
4665    method public boolean hasMeasurementCorrectionsLosSats();
4666    method @Deprecated public boolean hasMeasurementCorrectionsReflectingPane();
4667    method public boolean hasMeasurementCorrectionsReflectingPlane();
4668    method public boolean hasMeasurementCorrelationVectors();
4669    method @Deprecated public boolean hasNavMessages();
4670    method @Deprecated public boolean hasSatelliteBlacklist();
4671    method public boolean hasSatelliteBlocklist();
4672    method public boolean hasSatellitePvt();
4673  }
4674
4675  public static final class GnssCapabilities.Builder {
4676    method @NonNull public android.location.GnssCapabilities.Builder setHasGeofencing(boolean);
4677    method @NonNull public android.location.GnssCapabilities.Builder setHasLowPowerMode(boolean);
4678    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrections(boolean);
4679    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrectionsExcessPathLength(boolean);
4680    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrectionsForDriving(boolean);
4681    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrectionsLosSats(boolean);
4682    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrectionsReflectingPlane(boolean);
4683    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrelationVectors(boolean);
4684    method @NonNull public android.location.GnssCapabilities.Builder setHasSatelliteBlocklist(boolean);
4685    method @NonNull public android.location.GnssCapabilities.Builder setHasSatellitePvt(boolean);
4686  }
4687
4688  public final class GnssMeasurement implements android.os.Parcelable {
4689    method @Nullable public java.util.Collection<android.location.CorrelationVector> getCorrelationVectors();
4690    method @Nullable public android.location.SatellitePvt getSatellitePvt();
4691    method public boolean hasCorrelationVectors();
4692    method public boolean hasSatellitePvt();
4693  }
4694
4695  public final class GnssMeasurementCorrections implements android.os.Parcelable {
4696    method public int describeContents();
4697    method @FloatRange(from=-1000.0F, to=10000.0f) public double getAltitudeMeters();
4698    method @FloatRange(from=0.0f, to=360.0f) public float getEnvironmentBearingDegrees();
4699    method @FloatRange(from=0.0f, to=180.0f) public float getEnvironmentBearingUncertaintyDegrees();
4700    method @FloatRange(from=0.0f) public double getHorizontalPositionUncertaintyMeters();
4701    method @FloatRange(from=-90.0F, to=90.0f) public double getLatitudeDegrees();
4702    method @FloatRange(from=-180.0F, to=180.0f) public double getLongitudeDegrees();
4703    method @NonNull public java.util.List<android.location.GnssSingleSatCorrection> getSingleSatelliteCorrectionList();
4704    method @IntRange(from=0) public long getToaGpsNanosecondsOfWeek();
4705    method @FloatRange(from=0.0f) public double getVerticalPositionUncertaintyMeters();
4706    method public boolean hasEnvironmentBearing();
4707    method public void writeToParcel(@NonNull android.os.Parcel, int);
4708    field public static final android.os.Parcelable.Creator<android.location.GnssMeasurementCorrections> CREATOR;
4709  }
4710
4711  public static final class GnssMeasurementCorrections.Builder {
4712    ctor public GnssMeasurementCorrections.Builder();
4713    method @NonNull public android.location.GnssMeasurementCorrections build();
4714    method @NonNull public android.location.GnssMeasurementCorrections.Builder setAltitudeMeters(@FloatRange(from=-1000.0F, to=10000.0f) double);
4715    method @NonNull public android.location.GnssMeasurementCorrections.Builder setEnvironmentBearingDegrees(@FloatRange(from=0.0f, to=360.0f) float);
4716    method @NonNull public android.location.GnssMeasurementCorrections.Builder setEnvironmentBearingUncertaintyDegrees(@FloatRange(from=0.0f, to=180.0f) float);
4717    method @NonNull public android.location.GnssMeasurementCorrections.Builder setHorizontalPositionUncertaintyMeters(@FloatRange(from=0.0f) double);
4718    method @NonNull public android.location.GnssMeasurementCorrections.Builder setLatitudeDegrees(@FloatRange(from=-90.0F, to=90.0f) double);
4719    method @NonNull public android.location.GnssMeasurementCorrections.Builder setLongitudeDegrees(@FloatRange(from=-180.0F, to=180.0f) double);
4720    method @NonNull public android.location.GnssMeasurementCorrections.Builder setSingleSatelliteCorrectionList(@NonNull java.util.List<android.location.GnssSingleSatCorrection>);
4721    method @NonNull public android.location.GnssMeasurementCorrections.Builder setToaGpsNanosecondsOfWeek(@IntRange(from=0) long);
4722    method @NonNull public android.location.GnssMeasurementCorrections.Builder setVerticalPositionUncertaintyMeters(@FloatRange(from=0.0f) double);
4723  }
4724
4725  public final class GnssMeasurementRequest implements android.os.Parcelable {
4726    method public boolean isCorrelationVectorOutputsEnabled();
4727  }
4728
4729  public static final class GnssMeasurementRequest.Builder {
4730    method @NonNull public android.location.GnssMeasurementRequest.Builder setCorrelationVectorOutputsEnabled(boolean);
4731  }
4732
4733  public final class GnssReflectingPlane implements android.os.Parcelable {
4734    method public int describeContents();
4735    method @FloatRange(from=-1000.0F, to=10000.0f) public double getAltitudeMeters();
4736    method @FloatRange(from=0.0f, to=360.0f) public double getAzimuthDegrees();
4737    method @FloatRange(from=-90.0F, to=90.0f) public double getLatitudeDegrees();
4738    method @FloatRange(from=-180.0F, to=180.0f) public double getLongitudeDegrees();
4739    method public void writeToParcel(@NonNull android.os.Parcel, int);
4740    field public static final android.os.Parcelable.Creator<android.location.GnssReflectingPlane> CREATOR;
4741  }
4742
4743  public static final class GnssReflectingPlane.Builder {
4744    ctor public GnssReflectingPlane.Builder();
4745    method @NonNull public android.location.GnssReflectingPlane build();
4746    method @NonNull public android.location.GnssReflectingPlane.Builder setAltitudeMeters(@FloatRange(from=-1000.0F, to=10000.0f) double);
4747    method @NonNull public android.location.GnssReflectingPlane.Builder setAzimuthDegrees(@FloatRange(from=0.0f, to=360.0f) double);
4748    method @NonNull public android.location.GnssReflectingPlane.Builder setLatitudeDegrees(@FloatRange(from=-90.0F, to=90.0f) double);
4749    method @NonNull public android.location.GnssReflectingPlane.Builder setLongitudeDegrees(@FloatRange(from=-180.0F, to=180.0f) double);
4750  }
4751
4752  public final class GnssRequest implements android.os.Parcelable {
4753    method public int describeContents();
4754    method public boolean isFullTracking();
4755    method public void writeToParcel(@NonNull android.os.Parcel, int);
4756    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssRequest> CREATOR;
4757  }
4758
4759  public static final class GnssRequest.Builder {
4760    ctor public GnssRequest.Builder();
4761    ctor public GnssRequest.Builder(@NonNull android.location.GnssRequest);
4762    method @NonNull public android.location.GnssRequest build();
4763    method @NonNull public android.location.GnssRequest.Builder setFullTracking(boolean);
4764  }
4765
4766  public final class GnssSingleSatCorrection implements android.os.Parcelable {
4767    method public int describeContents();
4768    method @FloatRange(from=0.0f, fromInclusive=false) public float getCarrierFrequencyHz();
4769    method public int getConstellationType();
4770    method @FloatRange(from=0.0f) public float getExcessPathLengthMeters();
4771    method @FloatRange(from=0.0f) public float getExcessPathLengthUncertaintyMeters();
4772    method @FloatRange(from=0.0f, to=1.0f) public float getProbabilityLineOfSight();
4773    method @Nullable public android.location.GnssReflectingPlane getReflectingPlane();
4774    method @IntRange(from=0) public int getSatelliteId();
4775    method public boolean hasExcessPathLength();
4776    method public boolean hasExcessPathLengthUncertainty();
4777    method public boolean hasReflectingPlane();
4778    method public boolean hasValidSatelliteLineOfSight();
4779    method public void writeToParcel(@NonNull android.os.Parcel, int);
4780    field public static final android.os.Parcelable.Creator<android.location.GnssSingleSatCorrection> CREATOR;
4781  }
4782
4783  public static final class GnssSingleSatCorrection.Builder {
4784    ctor public GnssSingleSatCorrection.Builder();
4785    method @NonNull public android.location.GnssSingleSatCorrection build();
4786    method @NonNull public android.location.GnssSingleSatCorrection.Builder setCarrierFrequencyHz(@FloatRange(from=0.0f, fromInclusive=false) float);
4787    method @NonNull public android.location.GnssSingleSatCorrection.Builder setConstellationType(int);
4788    method @NonNull public android.location.GnssSingleSatCorrection.Builder setExcessPathLengthMeters(@FloatRange(from=0.0f) float);
4789    method @NonNull public android.location.GnssSingleSatCorrection.Builder setExcessPathLengthUncertaintyMeters(@FloatRange(from=0.0f) float);
4790    method @NonNull public android.location.GnssSingleSatCorrection.Builder setProbabilityLineOfSight(@FloatRange(from=0.0f, to=1.0f) float);
4791    method @NonNull public android.location.GnssSingleSatCorrection.Builder setReflectingPlane(@Nullable android.location.GnssReflectingPlane);
4792    method @NonNull public android.location.GnssSingleSatCorrection.Builder setSatelliteId(@IntRange(from=0) int);
4793  }
4794
4795  @Deprecated public class GpsClock implements android.os.Parcelable {
4796    method @Deprecated public int describeContents();
4797    method @Deprecated public double getBiasInNs();
4798    method @Deprecated public double getBiasUncertaintyInNs();
4799    method @Deprecated public double getDriftInNsPerSec();
4800    method @Deprecated public double getDriftUncertaintyInNsPerSec();
4801    method @Deprecated public long getFullBiasInNs();
4802    method @Deprecated public short getLeapSecond();
4803    method @Deprecated public long getTimeInNs();
4804    method @Deprecated public double getTimeUncertaintyInNs();
4805    method @Deprecated public byte getType();
4806    method @Deprecated public boolean hasBiasInNs();
4807    method @Deprecated public boolean hasBiasUncertaintyInNs();
4808    method @Deprecated public boolean hasDriftInNsPerSec();
4809    method @Deprecated public boolean hasDriftUncertaintyInNsPerSec();
4810    method @Deprecated public boolean hasFullBiasInNs();
4811    method @Deprecated public boolean hasLeapSecond();
4812    method @Deprecated public boolean hasTimeUncertaintyInNs();
4813    method @Deprecated public void reset();
4814    method @Deprecated public void resetBiasInNs();
4815    method @Deprecated public void resetBiasUncertaintyInNs();
4816    method @Deprecated public void resetDriftInNsPerSec();
4817    method @Deprecated public void resetDriftUncertaintyInNsPerSec();
4818    method @Deprecated public void resetFullBiasInNs();
4819    method @Deprecated public void resetLeapSecond();
4820    method @Deprecated public void resetTimeUncertaintyInNs();
4821    method @Deprecated public void set(android.location.GpsClock);
4822    method @Deprecated public void setBiasInNs(double);
4823    method @Deprecated public void setBiasUncertaintyInNs(double);
4824    method @Deprecated public void setDriftInNsPerSec(double);
4825    method @Deprecated public void setDriftUncertaintyInNsPerSec(double);
4826    method @Deprecated public void setFullBiasInNs(long);
4827    method @Deprecated public void setLeapSecond(short);
4828    method @Deprecated public void setTimeInNs(long);
4829    method @Deprecated public void setTimeUncertaintyInNs(double);
4830    method @Deprecated public void setType(byte);
4831    method @Deprecated public void writeToParcel(android.os.Parcel, int);
4832    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsClock> CREATOR;
4833    field @Deprecated public static final byte TYPE_GPS_TIME = 2; // 0x2
4834    field @Deprecated public static final byte TYPE_LOCAL_HW_TIME = 1; // 0x1
4835    field @Deprecated public static final byte TYPE_UNKNOWN = 0; // 0x0
4836  }
4837
4838  @Deprecated public class GpsMeasurement implements android.os.Parcelable {
4839    method @Deprecated public int describeContents();
4840    method @Deprecated public double getAccumulatedDeltaRangeInMeters();
4841    method @Deprecated public short getAccumulatedDeltaRangeState();
4842    method @Deprecated public double getAccumulatedDeltaRangeUncertaintyInMeters();
4843    method @Deprecated public double getAzimuthInDeg();
4844    method @Deprecated public double getAzimuthUncertaintyInDeg();
4845    method @Deprecated public int getBitNumber();
4846    method @Deprecated public long getCarrierCycles();
4847    method @Deprecated public float getCarrierFrequencyInHz();
4848    method @Deprecated public double getCarrierPhase();
4849    method @Deprecated public double getCarrierPhaseUncertainty();
4850    method @Deprecated public double getCn0InDbHz();
4851    method @Deprecated public double getCodePhaseInChips();
4852    method @Deprecated public double getCodePhaseUncertaintyInChips();
4853    method @Deprecated public double getDopplerShiftInHz();
4854    method @Deprecated public double getDopplerShiftUncertaintyInHz();
4855    method @Deprecated public double getElevationInDeg();
4856    method @Deprecated public double getElevationUncertaintyInDeg();
4857    method @Deprecated public byte getLossOfLock();
4858    method @Deprecated public byte getMultipathIndicator();
4859    method @Deprecated public byte getPrn();
4860    method @Deprecated public double getPseudorangeInMeters();
4861    method @Deprecated public double getPseudorangeRateInMetersPerSec();
4862    method @Deprecated public double getPseudorangeRateUncertaintyInMetersPerSec();
4863    method @Deprecated public double getPseudorangeUncertaintyInMeters();
4864    method @Deprecated public long getReceivedGpsTowInNs();
4865    method @Deprecated public long getReceivedGpsTowUncertaintyInNs();
4866    method @Deprecated public double getSnrInDb();
4867    method @Deprecated public short getState();
4868    method @Deprecated public short getTimeFromLastBitInMs();
4869    method @Deprecated public double getTimeOffsetInNs();
4870    method @Deprecated public boolean hasAzimuthInDeg();
4871    method @Deprecated public boolean hasAzimuthUncertaintyInDeg();
4872    method @Deprecated public boolean hasBitNumber();
4873    method @Deprecated public boolean hasCarrierCycles();
4874    method @Deprecated public boolean hasCarrierFrequencyInHz();
4875    method @Deprecated public boolean hasCarrierPhase();
4876    method @Deprecated public boolean hasCarrierPhaseUncertainty();
4877    method @Deprecated public boolean hasCodePhaseInChips();
4878    method @Deprecated public boolean hasCodePhaseUncertaintyInChips();
4879    method @Deprecated public boolean hasDopplerShiftInHz();
4880    method @Deprecated public boolean hasDopplerShiftUncertaintyInHz();
4881    method @Deprecated public boolean hasElevationInDeg();
4882    method @Deprecated public boolean hasElevationUncertaintyInDeg();
4883    method @Deprecated public boolean hasPseudorangeInMeters();
4884    method @Deprecated public boolean hasPseudorangeUncertaintyInMeters();
4885    method @Deprecated public boolean hasSnrInDb();
4886    method @Deprecated public boolean hasTimeFromLastBitInMs();
4887    method @Deprecated public boolean isPseudorangeRateCorrected();
4888    method @Deprecated public boolean isUsedInFix();
4889    method @Deprecated public void reset();
4890    method @Deprecated public void resetAzimuthInDeg();
4891    method @Deprecated public void resetAzimuthUncertaintyInDeg();
4892    method @Deprecated public void resetBitNumber();
4893    method @Deprecated public void resetCarrierCycles();
4894    method @Deprecated public void resetCarrierFrequencyInHz();
4895    method @Deprecated public void resetCarrierPhase();
4896    method @Deprecated public void resetCarrierPhaseUncertainty();
4897    method @Deprecated public void resetCodePhaseInChips();
4898    method @Deprecated public void resetCodePhaseUncertaintyInChips();
4899    method @Deprecated public void resetDopplerShiftInHz();
4900    method @Deprecated public void resetDopplerShiftUncertaintyInHz();
4901    method @Deprecated public void resetElevationInDeg();
4902    method @Deprecated public void resetElevationUncertaintyInDeg();
4903    method @Deprecated public void resetPseudorangeInMeters();
4904    method @Deprecated public void resetPseudorangeUncertaintyInMeters();
4905    method @Deprecated public void resetSnrInDb();
4906    method @Deprecated public void resetTimeFromLastBitInMs();
4907    method @Deprecated public void set(android.location.GpsMeasurement);
4908    method @Deprecated public void setAccumulatedDeltaRangeInMeters(double);
4909    method @Deprecated public void setAccumulatedDeltaRangeState(short);
4910    method @Deprecated public void setAccumulatedDeltaRangeUncertaintyInMeters(double);
4911    method @Deprecated public void setAzimuthInDeg(double);
4912    method @Deprecated public void setAzimuthUncertaintyInDeg(double);
4913    method @Deprecated public void setBitNumber(int);
4914    method @Deprecated public void setCarrierCycles(long);
4915    method @Deprecated public void setCarrierFrequencyInHz(float);
4916    method @Deprecated public void setCarrierPhase(double);
4917    method @Deprecated public void setCarrierPhaseUncertainty(double);
4918    method @Deprecated public void setCn0InDbHz(double);
4919    method @Deprecated public void setCodePhaseInChips(double);
4920    method @Deprecated public void setCodePhaseUncertaintyInChips(double);
4921    method @Deprecated public void setDopplerShiftInHz(double);
4922    method @Deprecated public void setDopplerShiftUncertaintyInHz(double);
4923    method @Deprecated public void setElevationInDeg(double);
4924    method @Deprecated public void setElevationUncertaintyInDeg(double);
4925    method @Deprecated public void setLossOfLock(byte);
4926    method @Deprecated public void setMultipathIndicator(byte);
4927    method @Deprecated public void setPrn(byte);
4928    method @Deprecated public void setPseudorangeInMeters(double);
4929    method @Deprecated public void setPseudorangeRateInMetersPerSec(double);
4930    method @Deprecated public void setPseudorangeRateUncertaintyInMetersPerSec(double);
4931    method @Deprecated public void setPseudorangeUncertaintyInMeters(double);
4932    method @Deprecated public void setReceivedGpsTowInNs(long);
4933    method @Deprecated public void setReceivedGpsTowUncertaintyInNs(long);
4934    method @Deprecated public void setSnrInDb(double);
4935    method @Deprecated public void setState(short);
4936    method @Deprecated public void setTimeFromLastBitInMs(short);
4937    method @Deprecated public void setTimeOffsetInNs(double);
4938    method @Deprecated public void setUsedInFix(boolean);
4939    method @Deprecated public void writeToParcel(android.os.Parcel, int);
4940    field @Deprecated public static final short ADR_STATE_CYCLE_SLIP = 4; // 0x4
4941    field @Deprecated public static final short ADR_STATE_RESET = 2; // 0x2
4942    field @Deprecated public static final short ADR_STATE_UNKNOWN = 0; // 0x0
4943    field @Deprecated public static final short ADR_STATE_VALID = 1; // 0x1
4944    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurement> CREATOR;
4945    field @Deprecated public static final byte LOSS_OF_LOCK_CYCLE_SLIP = 2; // 0x2
4946    field @Deprecated public static final byte LOSS_OF_LOCK_OK = 1; // 0x1
4947    field @Deprecated public static final byte LOSS_OF_LOCK_UNKNOWN = 0; // 0x0
4948    field @Deprecated public static final byte MULTIPATH_INDICATOR_DETECTED = 1; // 0x1
4949    field @Deprecated public static final byte MULTIPATH_INDICATOR_NOT_USED = 2; // 0x2
4950    field @Deprecated public static final byte MULTIPATH_INDICATOR_UNKNOWN = 0; // 0x0
4951    field @Deprecated public static final short STATE_BIT_SYNC = 2; // 0x2
4952    field @Deprecated public static final short STATE_CODE_LOCK = 1; // 0x1
4953    field @Deprecated public static final short STATE_MSEC_AMBIGUOUS = 16; // 0x10
4954    field @Deprecated public static final short STATE_SUBFRAME_SYNC = 4; // 0x4
4955    field @Deprecated public static final short STATE_TOW_DECODED = 8; // 0x8
4956    field @Deprecated public static final short STATE_UNKNOWN = 0; // 0x0
4957  }
4958
4959  @Deprecated public class GpsMeasurementsEvent implements android.os.Parcelable {
4960    ctor @Deprecated public GpsMeasurementsEvent(android.location.GpsClock, android.location.GpsMeasurement[]);
4961    method @Deprecated public int describeContents();
4962    method @Deprecated @NonNull public android.location.GpsClock getClock();
4963    method @Deprecated @NonNull public java.util.Collection<android.location.GpsMeasurement> getMeasurements();
4964    method @Deprecated public void writeToParcel(android.os.Parcel, int);
4965    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurementsEvent> CREATOR;
4966    field @Deprecated public static final int STATUS_GPS_LOCATION_DISABLED = 2; // 0x2
4967    field @Deprecated public static final int STATUS_NOT_SUPPORTED = 0; // 0x0
4968    field @Deprecated public static final int STATUS_READY = 1; // 0x1
4969  }
4970
4971  @Deprecated public static interface GpsMeasurementsEvent.Listener {
4972    method @Deprecated public void onGpsMeasurementsReceived(android.location.GpsMeasurementsEvent);
4973    method @Deprecated public void onStatusChanged(int);
4974  }
4975
4976  @Deprecated public class GpsNavigationMessage implements android.os.Parcelable {
4977    method @Deprecated public int describeContents();
4978    method @Deprecated @NonNull public byte[] getData();
4979    method @Deprecated public short getMessageId();
4980    method @Deprecated public byte getPrn();
4981    method @Deprecated public short getStatus();
4982    method @Deprecated public short getSubmessageId();
4983    method @Deprecated public byte getType();
4984    method @Deprecated public void reset();
4985    method @Deprecated public void set(android.location.GpsNavigationMessage);
4986    method @Deprecated public void setData(byte[]);
4987    method @Deprecated public void setMessageId(short);
4988    method @Deprecated public void setPrn(byte);
4989    method @Deprecated public void setStatus(short);
4990    method @Deprecated public void setSubmessageId(short);
4991    method @Deprecated public void setType(byte);
4992    method @Deprecated public void writeToParcel(android.os.Parcel, int);
4993    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessage> CREATOR;
4994    field @Deprecated public static final short STATUS_PARITY_PASSED = 1; // 0x1
4995    field @Deprecated public static final short STATUS_PARITY_REBUILT = 2; // 0x2
4996    field @Deprecated public static final short STATUS_UNKNOWN = 0; // 0x0
4997    field @Deprecated public static final byte TYPE_CNAV2 = 4; // 0x4
4998    field @Deprecated public static final byte TYPE_L1CA = 1; // 0x1
4999    field @Deprecated public static final byte TYPE_L2CNAV = 2; // 0x2
5000    field @Deprecated public static final byte TYPE_L5CNAV = 3; // 0x3
5001    field @Deprecated public static final byte TYPE_UNKNOWN = 0; // 0x0
5002  }
5003
5004  @Deprecated public class GpsNavigationMessageEvent implements android.os.Parcelable {
5005    ctor @Deprecated public GpsNavigationMessageEvent(android.location.GpsNavigationMessage);
5006    method @Deprecated public int describeContents();
5007    method @Deprecated @NonNull public android.location.GpsNavigationMessage getNavigationMessage();
5008    method @Deprecated public void writeToParcel(android.os.Parcel, int);
5009    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessageEvent> CREATOR;
5010    field @Deprecated public static int STATUS_GPS_LOCATION_DISABLED;
5011    field @Deprecated public static int STATUS_NOT_SUPPORTED;
5012    field @Deprecated public static int STATUS_READY;
5013  }
5014
5015  @Deprecated public static interface GpsNavigationMessageEvent.Listener {
5016    method @Deprecated public void onGpsNavigationMessageReceived(android.location.GpsNavigationMessageEvent);
5017    method @Deprecated public void onStatusChanged(int);
5018  }
5019
5020  public final class LastLocationRequest implements android.os.Parcelable {
5021    method public int describeContents();
5022    method public boolean isHiddenFromAppOps();
5023    method public boolean isLocationSettingsIgnored();
5024    method public void writeToParcel(@NonNull android.os.Parcel, int);
5025    field @NonNull public static final android.os.Parcelable.Creator<android.location.LastLocationRequest> CREATOR;
5026  }
5027
5028  public static final class LastLocationRequest.Builder {
5029    ctor public LastLocationRequest.Builder();
5030    ctor public LastLocationRequest.Builder(@NonNull android.location.LastLocationRequest);
5031    method @NonNull public android.location.LastLocationRequest build();
5032    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_APP_OPS_STATS) public android.location.LastLocationRequest.Builder setHiddenFromAppOps(boolean);
5033    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.location.LastLocationRequest.Builder setLocationSettingsIgnored(boolean);
5034  }
5035
5036  public class Location implements android.os.Parcelable {
5037    method public boolean isComplete();
5038    method public void makeComplete();
5039    method @Deprecated public void setIsFromMockProvider(boolean);
5040    field @Deprecated public static final String EXTRA_NO_GPS_LOCATION = "noGPSLocation";
5041  }
5042
5043  public class LocationManager {
5044    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void addProviderRequestChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.location.provider.ProviderRequest.ChangedListener);
5045    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void flushGnssBatch();
5046    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>);
5047    method @Nullable public String getExtraLocationControllerPackage();
5048    method @Deprecated public int getGnssBatchSize();
5049    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);
5050    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void injectGnssMeasurementCorrections(@NonNull android.location.GnssMeasurementCorrections);
5051    method public boolean isExtraLocationControllerPackageEnabled();
5052    method public boolean isLocationEnabledForUser(@NonNull android.os.UserHandle);
5053    method public boolean isProviderEnabledForUser(@NonNull String, @NonNull android.os.UserHandle);
5054    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@NonNull String);
5055    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@Nullable String, @NonNull String, @Nullable String);
5056    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);
5057    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);
5058    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void removeProviderRequestChangedListener(@NonNull android.location.provider.ProviderRequest.ChangedListener);
5059    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);
5060    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);
5061    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);
5062    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackage(@Nullable String);
5063    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackageEnabled(boolean);
5064    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setLocationEnabledForUser(boolean, @NonNull android.os.UserHandle);
5065    method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean setProviderEnabledForUser(@NonNull String, boolean, @NonNull android.os.UserHandle);
5066    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean unregisterGnssBatchedLocationCallback(@NonNull android.location.BatchedLocationCallback);
5067  }
5068
5069  public final class LocationRequest implements android.os.Parcelable {
5070    method @Deprecated @NonNull public static android.location.LocationRequest create();
5071    method @Deprecated @NonNull public static android.location.LocationRequest createFromDeprecatedCriteria(@NonNull android.location.Criteria, long, float, boolean);
5072    method @Deprecated @NonNull public static android.location.LocationRequest createFromDeprecatedProvider(@NonNull String, long, float, boolean);
5073    method @Deprecated public long getExpireAt();
5074    method @Deprecated public long getExpireIn();
5075    method @Deprecated public long getFastestInterval();
5076    method @Deprecated public boolean getHideFromAppOps();
5077    method @Deprecated public long getInterval();
5078    method @Deprecated public int getNumUpdates();
5079    method @Deprecated @NonNull public String getProvider();
5080    method @Deprecated public float getSmallestDisplacement();
5081    method @NonNull public android.os.WorkSource getWorkSource();
5082    method public boolean isHiddenFromAppOps();
5083    method public boolean isLocationSettingsIgnored();
5084    method public boolean isLowPower();
5085    method @Deprecated public boolean isLowPowerMode();
5086    method @Deprecated @NonNull public android.location.LocationRequest setExpireAt(long);
5087    method @Deprecated @NonNull public android.location.LocationRequest setExpireIn(long);
5088    method @Deprecated @NonNull public android.location.LocationRequest setFastestInterval(long);
5089    method @Deprecated public void setHideFromAppOps(boolean);
5090    method @Deprecated @NonNull public android.location.LocationRequest setInterval(long);
5091    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.location.LocationRequest setLocationSettingsIgnored(boolean);
5092    method @Deprecated @NonNull public android.location.LocationRequest setLowPowerMode(boolean);
5093    method @Deprecated @NonNull public android.location.LocationRequest setNumUpdates(int);
5094    method @Deprecated @NonNull public android.location.LocationRequest setProvider(@NonNull String);
5095    method @Deprecated @NonNull public android.location.LocationRequest setQuality(int);
5096    method @Deprecated @NonNull public android.location.LocationRequest setSmallestDisplacement(float);
5097    method @Deprecated public void setWorkSource(@Nullable android.os.WorkSource);
5098    field @Deprecated public static final int ACCURACY_BLOCK = 102; // 0x66
5099    field @Deprecated public static final int ACCURACY_CITY = 104; // 0x68
5100    field @Deprecated public static final int ACCURACY_FINE = 100; // 0x64
5101    field @Deprecated public static final int POWER_HIGH = 203; // 0xcb
5102    field @Deprecated public static final int POWER_LOW = 201; // 0xc9
5103    field @Deprecated public static final int POWER_NONE = 200; // 0xc8
5104  }
5105
5106  public static final class LocationRequest.Builder {
5107    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_APP_OPS_STATS) public android.location.LocationRequest.Builder setHiddenFromAppOps(boolean);
5108    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.location.LocationRequest.Builder setLocationSettingsIgnored(boolean);
5109    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.location.LocationRequest.Builder setLowPower(boolean);
5110    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.location.LocationRequest.Builder setWorkSource(@Nullable android.os.WorkSource);
5111  }
5112
5113  public final class SatellitePvt implements android.os.Parcelable {
5114    method public int describeContents();
5115    method @Nullable public android.location.SatellitePvt.ClockInfo getClockInfo();
5116    method @FloatRange public double getIonoDelayMeters();
5117    method @Nullable public android.location.SatellitePvt.PositionEcef getPositionEcef();
5118    method @FloatRange public double getTropoDelayMeters();
5119    method @Nullable public android.location.SatellitePvt.VelocityEcef getVelocityEcef();
5120    method public boolean hasIono();
5121    method public boolean hasPositionVelocityClockInfo();
5122    method public boolean hasTropo();
5123    method public void writeToParcel(@NonNull android.os.Parcel, int);
5124    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt> CREATOR;
5125  }
5126
5127  public static final class SatellitePvt.Builder {
5128    ctor public SatellitePvt.Builder();
5129    method @NonNull public android.location.SatellitePvt build();
5130    method @NonNull public android.location.SatellitePvt.Builder setClockInfo(@NonNull android.location.SatellitePvt.ClockInfo);
5131    method @NonNull public android.location.SatellitePvt.Builder setIonoDelayMeters(@FloatRange(from=0.0f, to=100.0f) double);
5132    method @NonNull public android.location.SatellitePvt.Builder setPositionEcef(@NonNull android.location.SatellitePvt.PositionEcef);
5133    method @NonNull public android.location.SatellitePvt.Builder setTropoDelayMeters(@FloatRange(from=0.0f, to=100.0f) double);
5134    method @NonNull public android.location.SatellitePvt.Builder setVelocityEcef(@NonNull android.location.SatellitePvt.VelocityEcef);
5135  }
5136
5137  public static final class SatellitePvt.ClockInfo implements android.os.Parcelable {
5138    ctor public SatellitePvt.ClockInfo(double, double, double);
5139    method public int describeContents();
5140    method @FloatRange public double getClockDriftMetersPerSecond();
5141    method @FloatRange public double getHardwareCodeBiasMeters();
5142    method @FloatRange public double getTimeCorrectionMeters();
5143    method public void writeToParcel(@NonNull android.os.Parcel, int);
5144    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.ClockInfo> CREATOR;
5145  }
5146
5147  public static final class SatellitePvt.PositionEcef implements android.os.Parcelable {
5148    ctor public SatellitePvt.PositionEcef(double, double, double, double);
5149    method public int describeContents();
5150    method @FloatRange(from=0.0f, fromInclusive=false) public double getUreMeters();
5151    method @FloatRange public double getXMeters();
5152    method @FloatRange public double getYMeters();
5153    method @FloatRange public double getZMeters();
5154    method public void writeToParcel(@NonNull android.os.Parcel, int);
5155    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.PositionEcef> CREATOR;
5156  }
5157
5158  public static final class SatellitePvt.VelocityEcef implements android.os.Parcelable {
5159    ctor public SatellitePvt.VelocityEcef(double, double, double, double);
5160    method public int describeContents();
5161    method @FloatRange(from=0.0f, fromInclusive=false) public double getUreRateMetersPerSecond();
5162    method @FloatRange public double getXMetersPerSecond();
5163    method @FloatRange public double getYMetersPerSecond();
5164    method @FloatRange public double getZMetersPerSecond();
5165    method public void writeToParcel(@NonNull android.os.Parcel, int);
5166    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.VelocityEcef> CREATOR;
5167  }
5168
5169}
5170
5171package android.location.provider {
5172
5173  public abstract class LocationProviderBase {
5174    ctor public LocationProviderBase(@NonNull android.content.Context, @NonNull String, @NonNull android.location.provider.ProviderProperties);
5175    method @Nullable public final android.os.IBinder getBinder();
5176    method @NonNull public android.location.provider.ProviderProperties getProperties();
5177    method public boolean isAllowed();
5178    method public abstract void onFlush(@NonNull android.location.provider.LocationProviderBase.OnFlushCompleteCallback);
5179    method public abstract void onSendExtraCommand(@NonNull String, @Nullable android.os.Bundle);
5180    method public abstract void onSetRequest(@NonNull android.location.provider.ProviderRequest);
5181    method public void reportLocation(@NonNull android.location.Location);
5182    method public void reportLocations(@NonNull java.util.List<android.location.Location>);
5183    method public void setAllowed(boolean);
5184    method public void setProperties(@NonNull android.location.provider.ProviderProperties);
5185    field public static final String ACTION_FUSED_PROVIDER = "com.android.location.service.FusedLocationProvider";
5186    field public static final String ACTION_NETWORK_PROVIDER = "com.android.location.service.v3.NetworkLocationProvider";
5187  }
5188
5189  public static interface LocationProviderBase.OnFlushCompleteCallback {
5190    method public void onFlushComplete();
5191  }
5192
5193  public final class ProviderRequest implements android.os.Parcelable {
5194    method public int describeContents();
5195    method @IntRange(from=0) public long getIntervalMillis();
5196    method @IntRange(from=0) public long getMaxUpdateDelayMillis();
5197    method public int getQuality();
5198    method @NonNull public android.os.WorkSource getWorkSource();
5199    method public boolean isActive();
5200    method public boolean isLocationSettingsIgnored();
5201    method public boolean isLowPower();
5202    method public void writeToParcel(@NonNull android.os.Parcel, int);
5203    field @NonNull public static final android.os.Parcelable.Creator<android.location.provider.ProviderRequest> CREATOR;
5204    field @NonNull public static final android.location.provider.ProviderRequest EMPTY_REQUEST;
5205    field public static final long INTERVAL_DISABLED = 9223372036854775807L; // 0x7fffffffffffffffL
5206  }
5207
5208  public static final class ProviderRequest.Builder {
5209    ctor public ProviderRequest.Builder();
5210    method @NonNull public android.location.provider.ProviderRequest build();
5211    method @NonNull public android.location.provider.ProviderRequest.Builder setIntervalMillis(@IntRange(from=0) long);
5212    method @NonNull public android.location.provider.ProviderRequest.Builder setLocationSettingsIgnored(boolean);
5213    method @NonNull public android.location.provider.ProviderRequest.Builder setLowPower(boolean);
5214    method @NonNull public android.location.provider.ProviderRequest.Builder setMaxUpdateDelayMillis(@IntRange(from=0) long);
5215    method @NonNull public android.location.provider.ProviderRequest.Builder setQuality(int);
5216    method @NonNull public android.location.provider.ProviderRequest.Builder setWorkSource(@NonNull android.os.WorkSource);
5217  }
5218
5219  public static interface ProviderRequest.ChangedListener {
5220    method public void onProviderRequestChanged(@NonNull String, @NonNull android.location.provider.ProviderRequest);
5221  }
5222
5223}
5224
5225package android.media {
5226
5227  public final class AudioAttributes implements android.os.Parcelable {
5228    method public int getAllFlags();
5229    method public android.os.Bundle getBundle();
5230    method public int getCapturePreset();
5231    method public int getSystemUsage();
5232    method public static boolean isSystemUsage(int);
5233    field public static final int FLAG_BEACON = 8; // 0x8
5234    field public static final int FLAG_BYPASS_INTERRUPTION_POLICY = 64; // 0x40
5235    field public static final int FLAG_BYPASS_MUTE = 128; // 0x80
5236    field public static final int FLAG_HW_HOTWORD = 32; // 0x20
5237    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_ANNOUNCEMENT = 1003; // 0x3eb
5238    field @RequiresPermission(allOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public static final int USAGE_CALL_ASSISTANT = 17; // 0x11
5239    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_EMERGENCY = 1000; // 0x3e8
5240    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_SAFETY = 1001; // 0x3e9
5241    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_VEHICLE_STATUS = 1002; // 0x3ea
5242  }
5243
5244  public static class AudioAttributes.Builder {
5245    method public android.media.AudioAttributes.Builder addBundle(@NonNull android.os.Bundle);
5246    method public android.media.AudioAttributes.Builder setCapturePreset(int);
5247    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioAttributes.Builder setHotwordModeEnabled(boolean);
5248    method public android.media.AudioAttributes.Builder setInternalCapturePreset(int);
5249    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioAttributes.Builder setSystemUsage(int);
5250  }
5251
5252  public final class AudioDeviceAttributes implements android.os.Parcelable {
5253    ctor public AudioDeviceAttributes(@NonNull android.media.AudioDeviceInfo);
5254    ctor public AudioDeviceAttributes(int, int, @NonNull String);
5255    method public int describeContents();
5256    method @NonNull public String getAddress();
5257    method public int getRole();
5258    method public int getType();
5259    method public void writeToParcel(@NonNull android.os.Parcel, int);
5260    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioDeviceAttributes> CREATOR;
5261    field public static final int ROLE_INPUT = 1; // 0x1
5262    field public static final int ROLE_OUTPUT = 2; // 0x2
5263  }
5264
5265  public final class AudioFocusInfo implements android.os.Parcelable {
5266    method public int describeContents();
5267    method @NonNull public android.media.AudioAttributes getAttributes();
5268    method @NonNull public String getClientId();
5269    method public int getClientUid();
5270    method public int getFlags();
5271    method public int getGainRequest();
5272    method public int getLossReceived();
5273    method @NonNull public String getPackageName();
5274    method public void writeToParcel(android.os.Parcel, int);
5275    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioFocusInfo> CREATOR;
5276  }
5277
5278  public final class AudioFocusRequest {
5279    method public boolean locksFocus();
5280  }
5281
5282  public static final class AudioFocusRequest.Builder {
5283    method @NonNull public android.media.AudioFocusRequest.Builder setLocksFocus(boolean);
5284  }
5285
5286  public class AudioManager {
5287    method @Deprecated public int abandonAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes);
5288    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;
5289    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;
5290    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;
5291    method public void clearAudioServerStateCallback();
5292    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean clearPreferredDevicesForCapturePreset(int);
5293    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int dispatchAudioFocusChange(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy);
5294    method @IntRange(from=0) public long getAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo);
5295    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static java.util.List<android.media.audiopolicy.AudioProductStrategy> getAudioProductStrategies();
5296    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static java.util.List<android.media.audiopolicy.AudioVolumeGroup> getAudioVolumeGroups();
5297    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, "android.permission.QUERY_AUDIO_STATE"}) public int getDeviceVolumeBehavior(@NonNull android.media.AudioDeviceAttributes);
5298    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);
5299    method @IntRange(from=0) public long getMaxAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo);
5300    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMaxVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
5301    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMinVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
5302    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioDeviceAttributes getPreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
5303    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceAttributes> getPreferredDevicesForCapturePreset(int);
5304    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceAttributes> getPreferredDevicesForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
5305    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int[] getSupportedSystemUsages();
5306    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
5307    method public boolean isAudioServerRunning();
5308    method public boolean isHdmiSystemAudioSupported();
5309    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int registerAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy);
5310    method public void registerVolumeGroupCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.VolumeGroupCallback);
5311    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDeviceForStrategyChangedListener(@NonNull android.media.AudioManager.OnPreferredDeviceForStrategyChangedListener);
5312    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDevicesForCapturePresetChangedListener(@NonNull android.media.AudioManager.OnPreferredDevicesForCapturePresetChangedListener);
5313    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDevicesForStrategyChangedListener(@NonNull android.media.AudioManager.OnPreferredDevicesForStrategyChangedListener);
5314    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean removePreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
5315    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;
5316    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;
5317    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int requestAudioFocus(@NonNull android.media.AudioFocusRequest, @Nullable android.media.audiopolicy.AudioPolicy);
5318    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo, @IntRange(from=0) long);
5319    method public void setAudioServerStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.AudioServerStateCallback);
5320    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setDeviceVolumeBehavior(@NonNull android.media.AudioDeviceAttributes, int);
5321    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setFocusRequestResult(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy);
5322    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDeviceForCapturePreset(int, @NonNull android.media.AudioDeviceAttributes);
5323    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull android.media.AudioDeviceAttributes);
5324    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDevicesForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
5325    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setSupportedSystemUsages(@NonNull int[]);
5326    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setVolumeIndexForAttributes(@NonNull android.media.AudioAttributes, int, int);
5327    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy);
5328    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterAudioPolicyAsync(@NonNull android.media.audiopolicy.AudioPolicy);
5329    method public void unregisterVolumeGroupCallback(@NonNull android.media.AudioManager.VolumeGroupCallback);
5330    field public static final int AUDIOFOCUS_FLAG_DELAY_OK = 1; // 0x1
5331    field public static final int AUDIOFOCUS_FLAG_LOCK = 4; // 0x4
5332    field public static final int AUDIOFOCUS_FLAG_PAUSES_ON_DUCKABLE_LOSS = 2; // 0x2
5333    field public static final int DEVICE_VOLUME_BEHAVIOR_ABSOLUTE = 3; // 0x3
5334    field public static final int DEVICE_VOLUME_BEHAVIOR_ABSOLUTE_MULTI_MODE = 4; // 0x4
5335    field public static final int DEVICE_VOLUME_BEHAVIOR_FIXED = 2; // 0x2
5336    field public static final int DEVICE_VOLUME_BEHAVIOR_FULL = 1; // 0x1
5337    field public static final int DEVICE_VOLUME_BEHAVIOR_VARIABLE = 0; // 0x0
5338    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int STREAM_ASSISTANT = 11; // 0xb
5339    field public static final int SUCCESS = 0; // 0x0
5340  }
5341
5342  public abstract static class AudioManager.AudioServerStateCallback {
5343    ctor public AudioManager.AudioServerStateCallback();
5344    method public void onAudioServerDown();
5345    method public void onAudioServerUp();
5346  }
5347
5348  @Deprecated public static interface AudioManager.OnPreferredDeviceForStrategyChangedListener {
5349    method @Deprecated public void onPreferredDeviceForStrategyChanged(@NonNull android.media.audiopolicy.AudioProductStrategy, @Nullable android.media.AudioDeviceAttributes);
5350  }
5351
5352  public static interface AudioManager.OnPreferredDevicesForCapturePresetChangedListener {
5353    method public void onPreferredDevicesForCapturePresetChanged(int, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
5354  }
5355
5356  public static interface AudioManager.OnPreferredDevicesForStrategyChangedListener {
5357    method public void onPreferredDevicesForStrategyChanged(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
5358  }
5359
5360  public abstract static class AudioManager.VolumeGroupCallback {
5361    ctor public AudioManager.VolumeGroupCallback();
5362    method public void onAudioVolumeGroupChanged(int, int);
5363  }
5364
5365  public final class AudioPlaybackConfiguration implements android.os.Parcelable {
5366    method public int getClientPid();
5367    method public int getClientUid();
5368    method public int getPlayerInterfaceId();
5369    method public android.media.PlayerProxy getPlayerProxy();
5370    method public int getPlayerState();
5371    method public int getPlayerType();
5372    method @IntRange(from=0) public int getSessionId();
5373    method public boolean isActive();
5374    field public static final int PLAYER_STATE_IDLE = 1; // 0x1
5375    field public static final int PLAYER_STATE_PAUSED = 3; // 0x3
5376    field public static final int PLAYER_STATE_RELEASED = 0; // 0x0
5377    field public static final int PLAYER_STATE_STARTED = 2; // 0x2
5378    field public static final int PLAYER_STATE_STOPPED = 4; // 0x4
5379    field public static final int PLAYER_STATE_UNKNOWN = -1; // 0xffffffff
5380    field public static final int PLAYER_TYPE_AAUDIO = 13; // 0xd
5381    field public static final int PLAYER_TYPE_JAM_AUDIOTRACK = 1; // 0x1
5382    field public static final int PLAYER_TYPE_JAM_MEDIAPLAYER = 2; // 0x2
5383    field public static final int PLAYER_TYPE_JAM_SOUNDPOOL = 3; // 0x3
5384    field public static final int PLAYER_TYPE_SLES_AUDIOPLAYER_BUFFERQUEUE = 11; // 0xb
5385    field public static final int PLAYER_TYPE_SLES_AUDIOPLAYER_URI_FD = 12; // 0xc
5386    field public static final int PLAYER_TYPE_UNKNOWN = -1; // 0xffffffff
5387  }
5388
5389  public class AudioRecord implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection {
5390    ctor @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public AudioRecord(android.media.AudioAttributes, android.media.AudioFormat, int, int) throws java.lang.IllegalArgumentException;
5391    method public static long getMaxSharedAudioHistoryMillis();
5392    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.MediaSyncEvent shareAudioHistory(@NonNull String, @IntRange(from=0) long);
5393  }
5394
5395  public static class AudioRecord.Builder {
5396    method public android.media.AudioRecord.Builder setAudioAttributes(@NonNull android.media.AudioAttributes) throws java.lang.IllegalArgumentException;
5397    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioRecord.Builder setMaxSharedAudioHistoryMillis(long) throws java.lang.IllegalArgumentException;
5398    method public android.media.AudioRecord.Builder setSessionId(int) throws java.lang.IllegalArgumentException;
5399    method @NonNull public android.media.AudioRecord.Builder setSharedAudioEvent(@NonNull android.media.MediaSyncEvent) throws java.lang.IllegalArgumentException;
5400  }
5401
5402  public final class AudioRecordingConfiguration implements android.os.Parcelable {
5403    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getClientUid();
5404  }
5405
5406  public class AudioTrack implements android.media.AudioRouting android.media.VolumeAutomation {
5407    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int ENCAPSULATION_MODE_HANDLE = 2; // 0x2
5408  }
5409
5410  public static class AudioTrack.Builder {
5411    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioTrack.Builder setTunerConfiguration(@NonNull android.media.AudioTrack.TunerConfiguration);
5412  }
5413
5414  public static class AudioTrack.TunerConfiguration {
5415    ctor @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public AudioTrack.TunerConfiguration(@IntRange(from=0) int, @IntRange(from=1) int);
5416    method @IntRange(from=1) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getContentId();
5417    method @IntRange(from=1) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getSyncId();
5418    field public static final int CONTENT_ID_NONE = 0; // 0x0
5419  }
5420
5421  public class HwAudioSource {
5422    method public boolean isPlaying();
5423    method public void start();
5424    method public void stop();
5425  }
5426
5427  public static final class HwAudioSource.Builder {
5428    ctor public HwAudioSource.Builder();
5429    method @NonNull public android.media.HwAudioSource build();
5430    method @NonNull public android.media.HwAudioSource.Builder setAudioAttributes(@NonNull android.media.AudioAttributes);
5431    method @NonNull public android.media.HwAudioSource.Builder setAudioDeviceInfo(@NonNull android.media.AudioDeviceInfo);
5432  }
5433
5434  public class MediaPlayer implements android.media.AudioRouting android.media.VolumeAutomation {
5435    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);
5436  }
5437
5438  public static interface MediaPlayer.OnRtpRxNoticeListener {
5439    method public void onRtpRxNotice(@NonNull android.media.MediaPlayer, int, @NonNull int[]);
5440  }
5441
5442  public final class MediaRecorder.AudioSource {
5443    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int ECHO_REFERENCE = 1997; // 0x7cd
5444    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public static final int HOTWORD = 1999; // 0x7cf
5445    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int RADIO_TUNER = 1998; // 0x7ce
5446  }
5447
5448  public final class MediaRouter2 {
5449    method @NonNull public java.util.List<android.media.MediaRoute2Info> getAllRoutes();
5450    method @Nullable public String getClientPackageName();
5451    method @Nullable @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public static android.media.MediaRouter2 getInstance(@NonNull android.content.Context, @NonNull String);
5452    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void setRouteVolume(@NonNull android.media.MediaRoute2Info, int);
5453    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void startScan();
5454    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void stopScan();
5455    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void transfer(@NonNull android.media.MediaRouter2.RoutingController, @NonNull android.media.MediaRoute2Info);
5456  }
5457
5458  public abstract static class MediaRouter2.RouteCallback {
5459    method public void onPreferredFeaturesChanged(@NonNull java.util.List<java.lang.String>);
5460  }
5461
5462  public class MediaSyncEvent implements android.os.Parcelable {
5463    field public static final int SYNC_EVENT_SHARE_AUDIO_HISTORY = 100; // 0x64
5464  }
5465
5466  public final class MediaTranscodingManager {
5467    method @Nullable public android.media.MediaTranscodingManager.TranscodingSession enqueueRequest(@NonNull android.media.MediaTranscodingManager.TranscodingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.media.MediaTranscodingManager.OnTranscodingFinishedListener);
5468  }
5469
5470  @java.lang.FunctionalInterface public static interface MediaTranscodingManager.OnTranscodingFinishedListener {
5471    method public void onTranscodingFinished(@NonNull android.media.MediaTranscodingManager.TranscodingSession);
5472  }
5473
5474  public abstract static class MediaTranscodingManager.TranscodingRequest {
5475    method public int getClientPid();
5476    method public int getClientUid();
5477    method @Nullable public android.os.ParcelFileDescriptor getDestinationFileDescriptor();
5478    method @NonNull public android.net.Uri getDestinationUri();
5479    method @Nullable public android.os.ParcelFileDescriptor getSourceFileDescriptor();
5480    method @NonNull public android.net.Uri getSourceUri();
5481  }
5482
5483  public static class MediaTranscodingManager.TranscodingRequest.VideoFormatResolver {
5484    ctor public MediaTranscodingManager.TranscodingRequest.VideoFormatResolver(@NonNull android.media.ApplicationMediaCapabilities, @NonNull android.media.MediaFormat);
5485    method @Nullable public android.media.MediaFormat resolveVideoFormat();
5486    method public boolean shouldTranscode();
5487  }
5488
5489  public static final class MediaTranscodingManager.TranscodingSession {
5490    method public boolean addClientUid(int);
5491    method public void cancel();
5492    method @NonNull public java.util.List<java.lang.Integer> getClientUids();
5493    method public int getErrorCode();
5494    method @IntRange(from=0, to=100) public int getProgress();
5495    method public int getResult();
5496    method public int getSessionId();
5497    method public int getStatus();
5498    method public void setOnProgressUpdateListener(@NonNull java.util.concurrent.Executor, @Nullable android.media.MediaTranscodingManager.TranscodingSession.OnProgressUpdateListener);
5499    field public static final int ERROR_DROPPED_BY_SERVICE = 1; // 0x1
5500    field public static final int ERROR_NONE = 0; // 0x0
5501    field public static final int ERROR_SERVICE_DIED = 2; // 0x2
5502    field public static final int RESULT_CANCELED = 4; // 0x4
5503    field public static final int RESULT_ERROR = 3; // 0x3
5504    field public static final int RESULT_NONE = 1; // 0x1
5505    field public static final int RESULT_SUCCESS = 2; // 0x2
5506    field public static final int STATUS_FINISHED = 3; // 0x3
5507    field public static final int STATUS_PAUSED = 4; // 0x4
5508    field public static final int STATUS_PENDING = 1; // 0x1
5509    field public static final int STATUS_RUNNING = 2; // 0x2
5510  }
5511
5512  @java.lang.FunctionalInterface public static interface MediaTranscodingManager.TranscodingSession.OnProgressUpdateListener {
5513    method public void onProgressUpdate(@NonNull android.media.MediaTranscodingManager.TranscodingSession, @IntRange(from=0, to=100) int);
5514  }
5515
5516  public static final class MediaTranscodingManager.VideoTranscodingRequest extends android.media.MediaTranscodingManager.TranscodingRequest {
5517    method @NonNull public android.media.MediaFormat getVideoTrackFormat();
5518  }
5519
5520  public static final class MediaTranscodingManager.VideoTranscodingRequest.Builder {
5521    ctor public MediaTranscodingManager.VideoTranscodingRequest.Builder(@NonNull android.net.Uri, @NonNull android.net.Uri, @NonNull android.media.MediaFormat);
5522    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest build();
5523    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setClientPid(int);
5524    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setClientUid(int);
5525    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setDestinationFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
5526    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setSourceFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
5527  }
5528
5529  public class PlayerProxy {
5530    method public void pause();
5531    method public void setPan(float);
5532    method public void setStartDelayMs(int);
5533    method public void setVolume(float);
5534    method public void start();
5535    method public void stop();
5536  }
5537
5538  public class RingtoneManager {
5539    method @RequiresPermission(android.Manifest.permission.WRITE_SETTINGS) public static void ensureDefaultRingtones(@NonNull android.content.Context);
5540  }
5541
5542  public final class RouteDiscoveryPreference implements android.os.Parcelable {
5543    field public static final android.media.RouteDiscoveryPreference EMPTY;
5544  }
5545
5546  public class Spatializer {
5547    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void addCompatibleAudioDevice(@NonNull android.media.AudioDeviceAttributes);
5548    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void addOnHeadTrackingModeChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnHeadTrackingModeChangedListener);
5549    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void clearOnHeadToSoundstagePoseUpdatedListener();
5550    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void clearOnSpatializerOutputChangedListener();
5551    method @NonNull @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public java.util.List<android.media.AudioDeviceAttributes> getCompatibleAudioDevices();
5552    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getDesiredHeadTrackingMode();
5553    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void getEffectParameter(int, @NonNull byte[]);
5554    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getHeadTrackingMode();
5555    method @IntRange(from=0) @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getOutput();
5556    method @NonNull @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public java.util.List<java.lang.Integer> getSupportedHeadTrackingModes();
5557    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void recenterHeadTracker();
5558    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void removeCompatibleAudioDevice(@NonNull android.media.AudioDeviceAttributes);
5559    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void removeOnHeadTrackingModeChangedListener(@NonNull android.media.Spatializer.OnHeadTrackingModeChangedListener);
5560    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setDesiredHeadTrackingMode(int);
5561    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setEffectParameter(int, @NonNull byte[]);
5562    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setEnabled(boolean);
5563    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setGlobalTransform(@NonNull float[]);
5564    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setOnHeadToSoundstagePoseUpdatedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnHeadToSoundstagePoseUpdatedListener);
5565    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setOnSpatializerOutputChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnSpatializerOutputChangedListener);
5566    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_DISABLED = -1; // 0xffffffff
5567    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_OTHER = 0; // 0x0
5568    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_RELATIVE_DEVICE = 2; // 0x2
5569    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_RELATIVE_WORLD = 1; // 0x1
5570    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_UNSUPPORTED = -2; // 0xfffffffe
5571  }
5572
5573  public static interface Spatializer.OnHeadToSoundstagePoseUpdatedListener {
5574    method public void onHeadToSoundstagePoseUpdated(@NonNull android.media.Spatializer, @NonNull float[]);
5575  }
5576
5577  public static interface Spatializer.OnHeadTrackingModeChangedListener {
5578    method public void onDesiredHeadTrackingModeChanged(@NonNull android.media.Spatializer, int);
5579    method public void onHeadTrackingModeChanged(@NonNull android.media.Spatializer, int);
5580  }
5581
5582  public static interface Spatializer.OnSpatializerOutputChangedListener {
5583    method public void onSpatializerOutputChanged(@NonNull android.media.Spatializer, @IntRange(from=0) int);
5584  }
5585
5586}
5587
5588package android.media.audiofx {
5589
5590  public class AudioEffect {
5591    ctor @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public AudioEffect(@NonNull java.util.UUID, @NonNull android.media.AudioDeviceAttributes);
5592    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static boolean isEffectSupportedForDevice(@NonNull java.util.UUID, @NonNull android.media.AudioDeviceAttributes);
5593  }
5594
5595}
5596
5597package android.media.audiopolicy {
5598
5599  public class AudioMix {
5600    method public int getMixState();
5601    field public static final int MIX_STATE_DISABLED = -1; // 0xffffffff
5602    field public static final int MIX_STATE_IDLE = 0; // 0x0
5603    field public static final int MIX_STATE_MIXING = 1; // 0x1
5604    field public static final int ROUTE_FLAG_LOOP_BACK = 2; // 0x2
5605    field public static final int ROUTE_FLAG_RENDER = 1; // 0x1
5606  }
5607
5608  public static class AudioMix.Builder {
5609    ctor public AudioMix.Builder(android.media.audiopolicy.AudioMixingRule) throws java.lang.IllegalArgumentException;
5610    method public android.media.audiopolicy.AudioMix build() throws java.lang.IllegalArgumentException;
5611    method public android.media.audiopolicy.AudioMix.Builder setDevice(@NonNull android.media.AudioDeviceInfo) throws java.lang.IllegalArgumentException;
5612    method public android.media.audiopolicy.AudioMix.Builder setFormat(android.media.AudioFormat) throws java.lang.IllegalArgumentException;
5613    method public android.media.audiopolicy.AudioMix.Builder setRouteFlags(int) throws java.lang.IllegalArgumentException;
5614  }
5615
5616  public class AudioMixingRule {
5617    field public static final int RULE_MATCH_ATTRIBUTE_CAPTURE_PRESET = 2; // 0x2
5618    field public static final int RULE_MATCH_ATTRIBUTE_USAGE = 1; // 0x1
5619    field public static final int RULE_MATCH_UID = 4; // 0x4
5620    field public static final int RULE_MATCH_USERID = 8; // 0x8
5621  }
5622
5623  public static class AudioMixingRule.Builder {
5624    ctor public AudioMixingRule.Builder();
5625    method public android.media.audiopolicy.AudioMixingRule.Builder addMixRule(int, Object) throws java.lang.IllegalArgumentException;
5626    method public android.media.audiopolicy.AudioMixingRule.Builder addRule(android.media.AudioAttributes, int) throws java.lang.IllegalArgumentException;
5627    method @NonNull public android.media.audiopolicy.AudioMixingRule.Builder allowPrivilegedPlaybackCapture(boolean);
5628    method public android.media.audiopolicy.AudioMixingRule build();
5629    method public android.media.audiopolicy.AudioMixingRule.Builder excludeMixRule(int, Object) throws java.lang.IllegalArgumentException;
5630    method public android.media.audiopolicy.AudioMixingRule.Builder excludeRule(android.media.AudioAttributes, int) throws java.lang.IllegalArgumentException;
5631  }
5632
5633  public class AudioPolicy {
5634    method public int attachMixes(@NonNull java.util.List<android.media.audiopolicy.AudioMix>);
5635    method public android.media.AudioRecord createAudioRecordSink(android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
5636    method public android.media.AudioTrack createAudioTrackSource(android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
5637    method public int detachMixes(@NonNull java.util.List<android.media.audiopolicy.AudioMix>);
5638    method public int getFocusDuckingBehavior();
5639    method public int getStatus();
5640    method public boolean removeUidDeviceAffinity(int);
5641    method public boolean removeUserIdDeviceAffinity(int);
5642    method public int setFocusDuckingBehavior(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
5643    method public void setRegistration(String);
5644    method public boolean setUidDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>);
5645    method public boolean setUserIdDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>);
5646    method public String toLogFriendlyString();
5647    field public static final int FOCUS_POLICY_DUCKING_DEFAULT = 0; // 0x0
5648    field public static final int FOCUS_POLICY_DUCKING_IN_APP = 0; // 0x0
5649    field public static final int FOCUS_POLICY_DUCKING_IN_POLICY = 1; // 0x1
5650    field public static final int POLICY_STATUS_REGISTERED = 2; // 0x2
5651    field public static final int POLICY_STATUS_UNREGISTERED = 1; // 0x1
5652  }
5653
5654  public abstract static class AudioPolicy.AudioPolicyFocusListener {
5655    ctor public AudioPolicy.AudioPolicyFocusListener();
5656    method public void onAudioFocusAbandon(android.media.AudioFocusInfo);
5657    method public void onAudioFocusGrant(android.media.AudioFocusInfo, int);
5658    method public void onAudioFocusLoss(android.media.AudioFocusInfo, boolean);
5659    method public void onAudioFocusRequest(android.media.AudioFocusInfo, int);
5660  }
5661
5662  public abstract static class AudioPolicy.AudioPolicyStatusListener {
5663    ctor public AudioPolicy.AudioPolicyStatusListener();
5664    method public void onMixStateUpdate(android.media.audiopolicy.AudioMix);
5665    method public void onStatusChange();
5666  }
5667
5668  public abstract static class AudioPolicy.AudioPolicyVolumeCallback {
5669    ctor public AudioPolicy.AudioPolicyVolumeCallback();
5670    method public void onVolumeAdjustment(int);
5671  }
5672
5673  public static class AudioPolicy.Builder {
5674    ctor public AudioPolicy.Builder(android.content.Context);
5675    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder addMix(@NonNull android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
5676    method @NonNull public android.media.audiopolicy.AudioPolicy build();
5677    method public void setAudioPolicyFocusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyFocusListener);
5678    method public void setAudioPolicyStatusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyStatusListener);
5679    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setAudioPolicyVolumeCallback(@NonNull android.media.audiopolicy.AudioPolicy.AudioPolicyVolumeCallback);
5680    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setIsAudioFocusPolicy(boolean);
5681    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setLooper(@NonNull android.os.Looper) throws java.lang.IllegalArgumentException;
5682  }
5683
5684  public final class AudioProductStrategy implements android.os.Parcelable {
5685    method @NonNull public static android.media.audiopolicy.AudioProductStrategy createInvalidAudioProductStrategy(int);
5686    method public int describeContents();
5687    method @NonNull public android.media.AudioAttributes getAudioAttributes();
5688    method public int getId();
5689    method public boolean supportsAudioAttributes(@NonNull android.media.AudioAttributes);
5690    method public void writeToParcel(@NonNull android.os.Parcel, int);
5691    field @NonNull public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioProductStrategy> CREATOR;
5692  }
5693
5694  public final class AudioVolumeGroup implements android.os.Parcelable {
5695    method public int describeContents();
5696    method @NonNull public java.util.List<android.media.AudioAttributes> getAudioAttributes();
5697    method public int getId();
5698    method @NonNull public int[] getLegacyStreamTypes();
5699    method @NonNull public String name();
5700    method public void writeToParcel(@NonNull android.os.Parcel, int);
5701    field public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioVolumeGroup> CREATOR;
5702    field public static final int DEFAULT_VOLUME_GROUP = -1; // 0xffffffff
5703  }
5704
5705}
5706
5707package android.media.musicrecognition {
5708
5709  public class MusicRecognitionManager {
5710    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);
5711    field public static final int RECOGNITION_FAILED_AUDIO_UNAVAILABLE = 7; // 0x7
5712    field public static final int RECOGNITION_FAILED_NOT_FOUND = 1; // 0x1
5713    field public static final int RECOGNITION_FAILED_NO_CONNECTIVITY = 2; // 0x2
5714    field public static final int RECOGNITION_FAILED_SERVICE_KILLED = 5; // 0x5
5715    field public static final int RECOGNITION_FAILED_SERVICE_UNAVAILABLE = 3; // 0x3
5716    field public static final int RECOGNITION_FAILED_TIMEOUT = 6; // 0x6
5717    field public static final int RECOGNITION_FAILED_UNKNOWN = -1; // 0xffffffff
5718  }
5719
5720  public static interface MusicRecognitionManager.RecognitionCallback {
5721    method public void onAudioStreamClosed();
5722    method public void onRecognitionFailed(@NonNull android.media.musicrecognition.RecognitionRequest, int);
5723    method public void onRecognitionSucceeded(@NonNull android.media.musicrecognition.RecognitionRequest, @NonNull android.media.MediaMetadata, @Nullable android.os.Bundle);
5724  }
5725
5726  public abstract class MusicRecognitionService extends android.app.Service {
5727    ctor public MusicRecognitionService();
5728    method public abstract void onRecognize(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @NonNull android.media.musicrecognition.MusicRecognitionService.Callback);
5729  }
5730
5731  public static interface MusicRecognitionService.Callback {
5732    method public void onRecognitionFailed(int);
5733    method public void onRecognitionSucceeded(@NonNull android.media.MediaMetadata, @Nullable android.os.Bundle);
5734  }
5735
5736  public final class RecognitionRequest implements android.os.Parcelable {
5737    method public int describeContents();
5738    method @NonNull public android.media.AudioAttributes getAudioAttributes();
5739    method @NonNull public android.media.AudioFormat getAudioFormat();
5740    method public int getCaptureSession();
5741    method public int getIgnoreBeginningFrames();
5742    method public int getMaxAudioLengthSeconds();
5743    method public void writeToParcel(@NonNull android.os.Parcel, int);
5744    field @NonNull public static final android.os.Parcelable.Creator<android.media.musicrecognition.RecognitionRequest> CREATOR;
5745  }
5746
5747  public static final class RecognitionRequest.Builder {
5748    ctor public RecognitionRequest.Builder();
5749    method @NonNull public android.media.musicrecognition.RecognitionRequest build();
5750    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setAudioAttributes(@NonNull android.media.AudioAttributes);
5751    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setAudioFormat(@NonNull android.media.AudioFormat);
5752    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setCaptureSession(int);
5753    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setIgnoreBeginningFrames(int);
5754    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setMaxAudioLengthSeconds(int);
5755  }
5756
5757}
5758
5759package android.media.session {
5760
5761  public final class MediaSessionManager {
5762    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void addOnMediaKeyEventDispatchedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.session.MediaSessionManager.OnMediaKeyEventDispatchedListener);
5763    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void addOnMediaKeyEventSessionChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.session.MediaSessionManager.OnMediaKeyEventSessionChangedListener);
5764    method @Nullable @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public android.media.session.MediaSession.Token getMediaKeyEventSession();
5765    method @NonNull @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public String getMediaKeyEventSessionPackageName();
5766    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void removeOnMediaKeyEventDispatchedListener(@NonNull android.media.session.MediaSessionManager.OnMediaKeyEventDispatchedListener);
5767    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void removeOnMediaKeyEventSessionChangedListener(@NonNull android.media.session.MediaSessionManager.OnMediaKeyEventSessionChangedListener);
5768    method @RequiresPermission(android.Manifest.permission.SET_MEDIA_KEY_LISTENER) public void setOnMediaKeyListener(android.media.session.MediaSessionManager.OnMediaKeyListener, @Nullable android.os.Handler);
5769    method @RequiresPermission(android.Manifest.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER) public void setOnVolumeKeyLongPressListener(android.media.session.MediaSessionManager.OnVolumeKeyLongPressListener, @Nullable android.os.Handler);
5770  }
5771
5772  public static interface MediaSessionManager.OnMediaKeyEventDispatchedListener {
5773    method public void onMediaKeyEventDispatched(@NonNull android.view.KeyEvent, @NonNull String, @Nullable android.media.session.MediaSession.Token);
5774  }
5775
5776  public static interface MediaSessionManager.OnMediaKeyEventSessionChangedListener {
5777    method public void onMediaKeyEventSessionChanged(@NonNull String, @Nullable android.media.session.MediaSession.Token);
5778  }
5779
5780  public static interface MediaSessionManager.OnMediaKeyListener {
5781    method public boolean onMediaKey(android.view.KeyEvent);
5782  }
5783
5784  public static interface MediaSessionManager.OnVolumeKeyLongPressListener {
5785    method public void onVolumeKeyLongPress(android.view.KeyEvent);
5786  }
5787
5788}
5789
5790package android.media.soundtrigger {
5791
5792  public abstract class SoundTriggerDetectionService extends android.app.Service {
5793    ctor public SoundTriggerDetectionService();
5794    method @MainThread public void onConnected(@NonNull java.util.UUID, @Nullable android.os.Bundle);
5795    method @MainThread public void onDisconnected(@NonNull java.util.UUID, @Nullable android.os.Bundle);
5796    method @MainThread public void onError(@NonNull java.util.UUID, @Nullable android.os.Bundle, int, int);
5797    method @MainThread public void onGenericRecognitionEvent(@NonNull java.util.UUID, @Nullable android.os.Bundle, int, @NonNull android.hardware.soundtrigger.SoundTrigger.RecognitionEvent);
5798    method @MainThread public abstract void onStopOperation(@NonNull java.util.UUID, @Nullable android.os.Bundle, int);
5799    method public final void operationFinished(@Nullable java.util.UUID, int);
5800  }
5801
5802  public final class SoundTriggerDetector {
5803    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public boolean startRecognition(int);
5804    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public boolean stopRecognition();
5805    field public static final int RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS = 2; // 0x2
5806    field public static final int RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO = 1; // 0x1
5807    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_ECHO_CANCELLATION = 4; // 0x4
5808    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_NOISE_SUPPRESSION = 8; // 0x8
5809    field public static final int RECOGNITION_FLAG_RUN_IN_BATTERY_SAVER = 16; // 0x10
5810  }
5811
5812  public abstract static class SoundTriggerDetector.Callback {
5813    ctor public SoundTriggerDetector.Callback();
5814    method public abstract void onAvailabilityChanged(int);
5815    method public abstract void onDetected(@NonNull android.media.soundtrigger.SoundTriggerDetector.EventPayload);
5816    method public abstract void onError();
5817    method public abstract void onRecognitionPaused();
5818    method public abstract void onRecognitionResumed();
5819  }
5820
5821  public static class SoundTriggerDetector.EventPayload {
5822    method @Nullable public android.media.AudioFormat getCaptureAudioFormat();
5823    method @Nullable public byte[] getTriggerAudio();
5824  }
5825
5826  public final class SoundTriggerManager {
5827    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);
5828    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public void deleteModel(java.util.UUID);
5829    method public int getDetectionServiceOperationsTimeout();
5830    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.media.soundtrigger.SoundTriggerManager.Model getModel(java.util.UUID);
5831    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.hardware.soundtrigger.SoundTrigger.ModuleProperties getModuleProperties();
5832    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int getParameter(@NonNull java.util.UUID, int);
5833    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.hardware.soundtrigger.SoundTrigger.ModelParamRange queryParameter(@Nullable java.util.UUID, int);
5834    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int setParameter(@Nullable java.util.UUID, int, int);
5835    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public void updateModel(android.media.soundtrigger.SoundTriggerManager.Model);
5836  }
5837
5838  public static class SoundTriggerManager.Model {
5839    method @NonNull public static android.media.soundtrigger.SoundTriggerManager.Model create(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], int);
5840    method @NonNull public static android.media.soundtrigger.SoundTriggerManager.Model create(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[]);
5841    method @Nullable public byte[] getModelData();
5842    method @NonNull public java.util.UUID getModelUuid();
5843    method @NonNull public java.util.UUID getVendorUuid();
5844    method public int getVersion();
5845  }
5846
5847}
5848
5849package android.media.tv {
5850
5851  public final class DvbDeviceInfo implements android.os.Parcelable {
5852    ctor public DvbDeviceInfo(int, int);
5853    method public int describeContents();
5854    method @IntRange(from=0) public int getAdapterId();
5855    method @IntRange(from=0) public int getDeviceId();
5856    method public void writeToParcel(@NonNull android.os.Parcel, int);
5857    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.DvbDeviceInfo> CREATOR;
5858  }
5859
5860  public final class TunedInfo implements android.os.Parcelable {
5861    method public int describeContents();
5862    method public int getAppTag();
5863    method public int getAppType();
5864    method @Nullable public android.net.Uri getChannelUri();
5865    method @NonNull public String getInputId();
5866    method public boolean isMainSession();
5867    method public boolean isRecordingSession();
5868    method public boolean isVisible();
5869    method public void writeToParcel(@NonNull android.os.Parcel, int);
5870    field public static final int APP_TAG_SELF = 0; // 0x0
5871    field public static final int APP_TYPE_NON_SYSTEM = 3; // 0x3
5872    field public static final int APP_TYPE_SELF = 1; // 0x1
5873    field public static final int APP_TYPE_SYSTEM = 2; // 0x2
5874    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TunedInfo> CREATOR;
5875  }
5876
5877  public final class TvContentRatingSystemInfo implements android.os.Parcelable {
5878    method public static android.media.tv.TvContentRatingSystemInfo createTvContentRatingSystemInfo(int, android.content.pm.ApplicationInfo);
5879    method public int describeContents();
5880    method public android.net.Uri getXmlUri();
5881    method public boolean isSystemDefined();
5882    method public void writeToParcel(android.os.Parcel, int);
5883  }
5884
5885  public final class TvContract {
5886    method public static android.net.Uri buildChannelsUriForInput(@Nullable String, boolean);
5887    method public static android.net.Uri buildChannelsUriForInput(@Nullable String, @Nullable String, boolean);
5888    field public static final String ACTION_CHANNEL_BROWSABLE_REQUESTED = "android.media.tv.action.CHANNEL_BROWSABLE_REQUESTED";
5889    field public static final String EXTRA_BLOCKED_PACKAGES = "android.media.tv.extra.BLOCKED_PACKAGES";
5890    field public static final String EXTRA_COLUMN_NAME = "android.media.tv.extra.COLUMN_NAME";
5891    field public static final String EXTRA_DATA_TYPE = "android.media.tv.extra.DATA_TYPE";
5892    field public static final String EXTRA_DEFAULT_VALUE = "android.media.tv.extra.DEFAULT_VALUE";
5893    field public static final String EXTRA_EXISTING_COLUMN_NAMES = "android.media.tv.extra.EXISTING_COLUMN_NAMES";
5894    field public static final String EXTRA_PACKAGE_NAME = "android.media.tv.extra.PACKAGE_NAME";
5895    field public static final String EXTRA_RESULT_CODE = "android.media.tv.extra.RESULT_CODE";
5896    field public static final String METHOD_ADD_COLUMN = "add_column";
5897    field public static final String METHOD_BLOCK_PACKAGE = "block_package";
5898    field public static final String METHOD_GET_BLOCKED_PACKAGES = "get_blocked_packages";
5899    field public static final String METHOD_GET_COLUMNS = "get_columns";
5900    field public static final String METHOD_UNBLOCK_PACKAGE = "unblock_package";
5901    field public static final int RESULT_ERROR_INVALID_ARGUMENT = 2; // 0x2
5902    field public static final int RESULT_ERROR_IO = 1; // 0x1
5903    field public static final int RESULT_OK = 0; // 0x0
5904  }
5905
5906  public static final class TvContract.WatchedPrograms implements android.media.tv.TvContract.BaseTvColumns {
5907    field public static final String COLUMN_CHANNEL_ID = "channel_id";
5908    field public static final String COLUMN_DESCRIPTION = "description";
5909    field public static final String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis";
5910    field public static final String COLUMN_INTERNAL_SESSION_TOKEN = "session_token";
5911    field public static final String COLUMN_INTERNAL_TUNE_PARAMS = "tune_params";
5912    field public static final String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis";
5913    field public static final String COLUMN_TITLE = "title";
5914    field public static final String COLUMN_WATCH_END_TIME_UTC_MILLIS = "watch_end_time_utc_millis";
5915    field public static final String COLUMN_WATCH_START_TIME_UTC_MILLIS = "watch_start_time_utc_millis";
5916    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/watched_program";
5917    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/watched_program";
5918    field public static final android.net.Uri CONTENT_URI;
5919  }
5920
5921  public final class TvInputHardwareInfo implements android.os.Parcelable {
5922    method public int describeContents();
5923    method public String getAudioAddress();
5924    method public int getAudioType();
5925    method public int getCableConnectionStatus();
5926    method public int getDeviceId();
5927    method public int getHdmiPortId();
5928    method public int getType();
5929    method public void readFromParcel(android.os.Parcel);
5930    method public void writeToParcel(android.os.Parcel, int);
5931    field public static final int CABLE_CONNECTION_STATUS_CONNECTED = 1; // 0x1
5932    field public static final int CABLE_CONNECTION_STATUS_DISCONNECTED = 2; // 0x2
5933    field public static final int CABLE_CONNECTION_STATUS_UNKNOWN = 0; // 0x0
5934    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvInputHardwareInfo> CREATOR;
5935    field public static final int TV_INPUT_TYPE_COMPONENT = 6; // 0x6
5936    field public static final int TV_INPUT_TYPE_COMPOSITE = 3; // 0x3
5937    field public static final int TV_INPUT_TYPE_DISPLAY_PORT = 10; // 0xa
5938    field public static final int TV_INPUT_TYPE_DVI = 8; // 0x8
5939    field public static final int TV_INPUT_TYPE_HDMI = 9; // 0x9
5940    field public static final int TV_INPUT_TYPE_OTHER_HARDWARE = 1; // 0x1
5941    field public static final int TV_INPUT_TYPE_SCART = 5; // 0x5
5942    field public static final int TV_INPUT_TYPE_SVIDEO = 4; // 0x4
5943    field public static final int TV_INPUT_TYPE_TUNER = 2; // 0x2
5944    field public static final int TV_INPUT_TYPE_VGA = 7; // 0x7
5945  }
5946
5947  public static final class TvInputHardwareInfo.Builder {
5948    ctor public TvInputHardwareInfo.Builder();
5949    method public android.media.tv.TvInputHardwareInfo.Builder audioAddress(String);
5950    method public android.media.tv.TvInputHardwareInfo.Builder audioType(int);
5951    method public android.media.tv.TvInputHardwareInfo build();
5952    method public android.media.tv.TvInputHardwareInfo.Builder cableConnectionStatus(int);
5953    method public android.media.tv.TvInputHardwareInfo.Builder deviceId(int);
5954    method public android.media.tv.TvInputHardwareInfo.Builder hdmiPortId(int);
5955    method public android.media.tv.TvInputHardwareInfo.Builder type(int);
5956  }
5957
5958  public final class TvInputInfo implements android.os.Parcelable {
5959    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;
5960    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;
5961    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;
5962    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;
5963    method public android.hardware.hdmi.HdmiDeviceInfo getHdmiDeviceInfo();
5964    method public boolean isConnectedToHdmiSwitch();
5965    method public boolean isHardwareInput();
5966    method public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.Context, int);
5967  }
5968
5969  public static final class TvInputInfo.Builder {
5970    method public android.media.tv.TvInputInfo.Builder setHdmiDeviceInfo(android.hardware.hdmi.HdmiDeviceInfo);
5971    method public android.media.tv.TvInputInfo.Builder setIcon(android.graphics.drawable.Icon);
5972    method public android.media.tv.TvInputInfo.Builder setIcon(android.graphics.drawable.Icon, int);
5973    method public android.media.tv.TvInputInfo.Builder setLabel(CharSequence);
5974    method public android.media.tv.TvInputInfo.Builder setLabel(@StringRes int);
5975    method public android.media.tv.TvInputInfo.Builder setParentId(String);
5976    method public android.media.tv.TvInputInfo.Builder setTvInputHardwareInfo(android.media.tv.TvInputHardwareInfo);
5977  }
5978
5979  public static final class TvInputInfo.TvInputSettings {
5980    method public static java.util.Map<java.lang.String,java.lang.String> getCustomLabels(android.content.Context, int);
5981    method public static java.util.Set<java.lang.String> getHiddenTvInputIds(android.content.Context, int);
5982    method public static void putCustomLabels(android.content.Context, java.util.Map<java.lang.String,java.lang.String>, int);
5983    method public static void putHiddenTvInputs(android.content.Context, java.util.Set<java.lang.String>, int);
5984  }
5985
5986  public final class TvInputManager {
5987    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);
5988    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);
5989    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void addBlockedRating(@NonNull android.media.tv.TvContentRating);
5990    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public boolean captureFrame(String, android.view.Surface, android.media.tv.TvStreamConfig);
5991    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public java.util.List<android.media.tv.TvStreamConfig> getAvailableTvStreamConfigList(String);
5992    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TUNED_INFO) public java.util.List<android.media.tv.TunedInfo> getCurrentTunedInfos();
5993    method @NonNull @RequiresPermission("android.permission.DVB_DEVICE") public java.util.List<android.media.tv.DvbDeviceInfo> getDvbDeviceList();
5994    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public java.util.List<android.media.tv.TvInputHardwareInfo> getHardwareList();
5995    method @RequiresPermission(android.Manifest.permission.READ_CONTENT_RATING_SYSTEMS) public java.util.List<android.media.tv.TvContentRatingSystemInfo> getTvContentRatingSystemList();
5996    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public boolean isSingleSessionActive();
5997    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyPreviewProgramAddedToWatchNext(String, long, long);
5998    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyPreviewProgramBrowsableDisabled(String, long);
5999    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyWatchNextProgramBrowsableDisabled(String, long);
6000    method @Nullable @RequiresPermission("android.permission.DVB_DEVICE") public android.os.ParcelFileDescriptor openDvbDevice(@NonNull android.media.tv.DvbDeviceInfo, int);
6001    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public void releaseTvInputHardware(int, android.media.tv.TvInputManager.Hardware);
6002    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void removeBlockedRating(@NonNull android.media.tv.TvContentRating);
6003    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void setParentalControlsEnabled(boolean);
6004  }
6005
6006  public static final class TvInputManager.Hardware {
6007    method public void overrideAudioSink(int, String, int, int, int);
6008    method public void setStreamVolume(float);
6009    method public boolean setSurface(android.view.Surface, android.media.tv.TvStreamConfig);
6010  }
6011
6012  public abstract static class TvInputManager.HardwareCallback {
6013    ctor public TvInputManager.HardwareCallback();
6014    method public abstract void onReleased();
6015    method public abstract void onStreamConfigChanged(android.media.tv.TvStreamConfig[]);
6016  }
6017
6018  public abstract static class TvInputManager.TvInputCallback {
6019    method @RequiresPermission(android.Manifest.permission.ACCESS_TUNED_INFO) public void onCurrentTunedInfosUpdated(@NonNull java.util.List<android.media.tv.TunedInfo>);
6020  }
6021
6022  public abstract class TvInputService extends android.app.Service {
6023    method @Nullable public android.os.IBinder createExtension();
6024    method @Nullable public android.media.tv.TvInputInfo onHardwareAdded(android.media.tv.TvInputHardwareInfo);
6025    method @Nullable public String onHardwareRemoved(android.media.tv.TvInputHardwareInfo);
6026    method @Nullable public android.media.tv.TvInputInfo onHdmiDeviceAdded(android.hardware.hdmi.HdmiDeviceInfo);
6027    method @Nullable public String onHdmiDeviceRemoved(android.hardware.hdmi.HdmiDeviceInfo);
6028    method public void onHdmiDeviceUpdated(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
6029  }
6030
6031  public abstract static class TvInputService.RecordingSession {
6032    method public void notifySessionEvent(@NonNull String, android.os.Bundle);
6033  }
6034
6035  public abstract static class TvInputService.Session implements android.view.KeyEvent.Callback {
6036    method public void notifySessionEvent(@NonNull String, android.os.Bundle);
6037    method public void onSetMain(boolean);
6038  }
6039
6040  public abstract static class TvRecordingClient.RecordingCallback {
6041    method public void onEvent(String, String, android.os.Bundle);
6042  }
6043
6044  public class TvStreamConfig implements android.os.Parcelable {
6045    method public int describeContents();
6046    method public int getGeneration();
6047    method public int getMaxHeight();
6048    method public int getMaxWidth();
6049    method public int getStreamId();
6050    method public int getType();
6051    method public void writeToParcel(android.os.Parcel, int);
6052    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvStreamConfig> CREATOR;
6053    field public static final int STREAM_TYPE_BUFFER_PRODUCER = 2; // 0x2
6054    field public static final int STREAM_TYPE_INDEPENDENT_VIDEO_SOURCE = 1; // 0x1
6055  }
6056
6057  public static final class TvStreamConfig.Builder {
6058    ctor public TvStreamConfig.Builder();
6059    method public android.media.tv.TvStreamConfig build();
6060    method public android.media.tv.TvStreamConfig.Builder generation(int);
6061    method public android.media.tv.TvStreamConfig.Builder maxHeight(int);
6062    method public android.media.tv.TvStreamConfig.Builder maxWidth(int);
6063    method public android.media.tv.TvStreamConfig.Builder streamId(int);
6064    method public android.media.tv.TvStreamConfig.Builder type(int);
6065  }
6066
6067  public class TvView extends android.view.ViewGroup {
6068    method @RequiresPermission("android.permission.CHANGE_HDMI_CEC_ACTIVE_SOURCE") public void setMain();
6069    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void unblockContent(android.media.tv.TvContentRating);
6070  }
6071
6072  public abstract static class TvView.TvInputCallback {
6073    method public void onEvent(String, String, android.os.Bundle);
6074  }
6075
6076}
6077
6078package android.media.tv.tuner {
6079
6080  public class DemuxCapabilities {
6081    method public int getAudioFilterCount();
6082    method public int getDemuxCount();
6083    method public int getFilterCapabilities();
6084    method @NonNull @Size(5) public int[] getLinkCapabilities();
6085    method public int getPcrFilterCount();
6086    method public int getPesFilterCount();
6087    method public int getPlaybackCount();
6088    method public int getRecordCount();
6089    method public int getSectionFilterCount();
6090    method public long getSectionFilterLength();
6091    method public int getTsFilterCount();
6092    method public int getVideoFilterCount();
6093    method public boolean isTimeFilterSupported();
6094  }
6095
6096  public class Descrambler implements java.lang.AutoCloseable {
6097    method public int addPid(int, int, @Nullable android.media.tv.tuner.filter.Filter);
6098    method public void close();
6099    method public static boolean isValidKeyToken(@NonNull byte[]);
6100    method public int removePid(int, int, @Nullable android.media.tv.tuner.filter.Filter);
6101    method public int setKeyToken(@NonNull byte[]);
6102    field public static final int PID_TYPE_MMTP = 2; // 0x2
6103    field public static final int PID_TYPE_T = 1; // 0x1
6104  }
6105
6106  public class Lnb implements java.lang.AutoCloseable {
6107    method public void close();
6108    method public int sendDiseqcMessage(@NonNull byte[]);
6109    method public int setSatellitePosition(int);
6110    method public int setTone(int);
6111    method public int setVoltage(int);
6112    field public static final int EVENT_TYPE_DISEQC_RX_OVERFLOW = 0; // 0x0
6113    field public static final int EVENT_TYPE_DISEQC_RX_PARITY_ERROR = 2; // 0x2
6114    field public static final int EVENT_TYPE_DISEQC_RX_TIMEOUT = 1; // 0x1
6115    field public static final int EVENT_TYPE_LNB_OVERLOAD = 3; // 0x3
6116    field public static final int POSITION_A = 1; // 0x1
6117    field public static final int POSITION_B = 2; // 0x2
6118    field public static final int POSITION_UNDEFINED = 0; // 0x0
6119    field public static final int TONE_CONTINUOUS = 1; // 0x1
6120    field public static final int TONE_NONE = 0; // 0x0
6121    field public static final int VOLTAGE_11V = 2; // 0x2
6122    field public static final int VOLTAGE_12V = 3; // 0x3
6123    field public static final int VOLTAGE_13V = 4; // 0x4
6124    field public static final int VOLTAGE_14V = 5; // 0x5
6125    field public static final int VOLTAGE_15V = 6; // 0x6
6126    field public static final int VOLTAGE_18V = 7; // 0x7
6127    field public static final int VOLTAGE_19V = 8; // 0x8
6128    field public static final int VOLTAGE_5V = 1; // 0x1
6129    field public static final int VOLTAGE_NONE = 0; // 0x0
6130  }
6131
6132  public interface LnbCallback {
6133    method public void onDiseqcMessage(@NonNull byte[]);
6134    method public void onEvent(int);
6135  }
6136
6137  public class Tuner implements java.lang.AutoCloseable {
6138    ctor @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public Tuner(@NonNull android.content.Context, @Nullable String, int);
6139    method public int cancelScanning();
6140    method public int cancelTuning();
6141    method public void clearOnTuneEventListener();
6142    method public void clearResourceLostListener();
6143    method public void close();
6144    method public int connectCiCam(int);
6145    method public int connectFrontendToCiCam(int);
6146    method public int disconnectCiCam();
6147    method public int disconnectFrontendToCiCam(int);
6148    method public int getAvSyncHwId(@NonNull android.media.tv.tuner.filter.Filter);
6149    method public long getAvSyncTime(int);
6150    method @Nullable public java.util.List<android.media.tv.tuner.frontend.FrontendInfo> getAvailableFrontendInfos();
6151    method @Nullable public android.media.tv.tuner.DemuxCapabilities getDemuxCapabilities();
6152    method @Nullable public android.media.tv.tuner.frontend.FrontendInfo getFrontendInfo();
6153    method @Nullable public android.media.tv.tuner.frontend.FrontendStatus getFrontendStatus(@NonNull int[]);
6154    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_DESCRAMBLER) public android.media.tv.tuner.Descrambler openDescrambler();
6155    method @Nullable public android.media.tv.tuner.dvr.DvrPlayback openDvrPlayback(long, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.dvr.OnPlaybackStatusChangedListener);
6156    method @Nullable public android.media.tv.tuner.dvr.DvrRecorder openDvrRecorder(long, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.dvr.OnRecordStatusChangedListener);
6157    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);
6158    method @Nullable public android.media.tv.tuner.Lnb openLnb(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
6159    method @Nullable public android.media.tv.tuner.Lnb openLnbByName(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
6160    method @Nullable public android.media.tv.tuner.filter.TimeFilter openTimeFilter();
6161    method public int scan(@NonNull android.media.tv.tuner.frontend.FrontendSettings, int, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.ScanCallback);
6162    method public int setLnaEnabled(boolean);
6163    method public void setOnTuneEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.OnTuneEventListener);
6164    method public void setResourceLostListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.Tuner.OnResourceLostListener);
6165    method public void shareFrontendFromTuner(@NonNull android.media.tv.tuner.Tuner);
6166    method public int tune(@NonNull android.media.tv.tuner.frontend.FrontendSettings);
6167    method public void updateResourcePriority(int, int);
6168    field public static final int INVALID_AV_SYNC_ID = -1; // 0xffffffff
6169    field public static final int INVALID_FILTER_ID = -1; // 0xffffffff
6170    field public static final long INVALID_FILTER_ID_LONG = -1L; // 0xffffffffffffffffL
6171    field public static final int INVALID_FIRST_MACROBLOCK_IN_SLICE = -1; // 0xffffffff
6172    field public static final int INVALID_FRONTEND_ID = -1; // 0xffffffff
6173    field public static final int INVALID_FRONTEND_SETTING_FREQUENCY = -1; // 0xffffffff
6174    field public static final int INVALID_LTS_ID = -1; // 0xffffffff
6175    field public static final int INVALID_MMTP_RECORD_EVENT_MPT_SEQUENCE_NUM = -1; // 0xffffffff
6176    field public static final int INVALID_STREAM_ID = 65535; // 0xffff
6177    field public static final long INVALID_TIMESTAMP = -1L; // 0xffffffffffffffffL
6178    field public static final int INVALID_TS_PID = 65535; // 0xffff
6179    field public static final int RESULT_INVALID_ARGUMENT = 4; // 0x4
6180    field public static final int RESULT_INVALID_STATE = 3; // 0x3
6181    field public static final int RESULT_NOT_INITIALIZED = 2; // 0x2
6182    field public static final int RESULT_OUT_OF_MEMORY = 5; // 0x5
6183    field public static final int RESULT_SUCCESS = 0; // 0x0
6184    field public static final int RESULT_UNAVAILABLE = 1; // 0x1
6185    field public static final int RESULT_UNKNOWN_ERROR = 6; // 0x6
6186    field public static final int SCAN_TYPE_AUTO = 1; // 0x1
6187    field public static final int SCAN_TYPE_BLIND = 2; // 0x2
6188    field public static final int SCAN_TYPE_UNDEFINED = 0; // 0x0
6189    field @NonNull public static final byte[] VOID_KEYTOKEN;
6190  }
6191
6192  public static interface Tuner.OnResourceLostListener {
6193    method public void onResourceLost(@NonNull android.media.tv.tuner.Tuner);
6194  }
6195
6196  public final class TunerVersionChecker {
6197    method public static int getTunerVersion();
6198    field public static final int TUNER_VERSION_1_0 = 65536; // 0x10000
6199    field public static final int TUNER_VERSION_1_1 = 65537; // 0x10001
6200    field public static final int TUNER_VERSION_UNKNOWN = 0; // 0x0
6201  }
6202
6203}
6204
6205package android.media.tv.tuner.dvr {
6206
6207  public class DvrPlayback implements java.lang.AutoCloseable {
6208    method @Deprecated public int attachFilter(@NonNull android.media.tv.tuner.filter.Filter);
6209    method public void close();
6210    method public int configure(@NonNull android.media.tv.tuner.dvr.DvrSettings);
6211    method @Deprecated public int detachFilter(@NonNull android.media.tv.tuner.filter.Filter);
6212    method public int flush();
6213    method public long read(long);
6214    method public long read(@NonNull byte[], long, long);
6215    method public void setFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
6216    method public int start();
6217    method public int stop();
6218    field public static final int PLAYBACK_STATUS_ALMOST_EMPTY = 2; // 0x2
6219    field public static final int PLAYBACK_STATUS_ALMOST_FULL = 4; // 0x4
6220    field public static final int PLAYBACK_STATUS_EMPTY = 1; // 0x1
6221    field public static final int PLAYBACK_STATUS_FULL = 8; // 0x8
6222  }
6223
6224  public class DvrRecorder implements java.lang.AutoCloseable {
6225    method public int attachFilter(@NonNull android.media.tv.tuner.filter.Filter);
6226    method public void close();
6227    method public int configure(@NonNull android.media.tv.tuner.dvr.DvrSettings);
6228    method public int detachFilter(@NonNull android.media.tv.tuner.filter.Filter);
6229    method public int flush();
6230    method public void setFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
6231    method public int start();
6232    method public int stop();
6233    method public long write(long);
6234    method public long write(@NonNull byte[], long, long);
6235  }
6236
6237  public class DvrSettings {
6238    method @NonNull public static android.media.tv.tuner.dvr.DvrSettings.Builder builder();
6239    method public int getDataFormat();
6240    method public long getHighThreshold();
6241    method public long getLowThreshold();
6242    method public long getPacketSize();
6243    method public int getStatusMask();
6244    field public static final int DATA_FORMAT_ES = 2; // 0x2
6245    field public static final int DATA_FORMAT_PES = 1; // 0x1
6246    field public static final int DATA_FORMAT_SHV_TLV = 3; // 0x3
6247    field public static final int DATA_FORMAT_TS = 0; // 0x0
6248  }
6249
6250  public static final class DvrSettings.Builder {
6251    ctor public DvrSettings.Builder();
6252    method @NonNull public android.media.tv.tuner.dvr.DvrSettings build();
6253    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setDataFormat(int);
6254    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setHighThreshold(long);
6255    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setLowThreshold(long);
6256    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setPacketSize(long);
6257    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setStatusMask(int);
6258  }
6259
6260  public interface OnPlaybackStatusChangedListener {
6261    method public void onPlaybackStatusChanged(int);
6262  }
6263
6264  public interface OnRecordStatusChangedListener {
6265    method public void onRecordStatusChanged(int);
6266  }
6267
6268}
6269
6270package android.media.tv.tuner.filter {
6271
6272  public final class AlpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
6273    method @NonNull public static android.media.tv.tuner.filter.AlpFilterConfiguration.Builder builder();
6274    method public int getLengthType();
6275    method public int getPacketType();
6276    method public int getType();
6277    field public static final int LENGTH_TYPE_UNDEFINED = 0; // 0x0
6278    field public static final int LENGTH_TYPE_WITHOUT_ADDITIONAL_HEADER = 1; // 0x1
6279    field public static final int LENGTH_TYPE_WITH_ADDITIONAL_HEADER = 2; // 0x2
6280    field public static final int PACKET_TYPE_COMPRESSED = 2; // 0x2
6281    field public static final int PACKET_TYPE_EXTENSION = 6; // 0x6
6282    field public static final int PACKET_TYPE_IPV4 = 0; // 0x0
6283    field public static final int PACKET_TYPE_MPEG2_TS = 7; // 0x7
6284    field public static final int PACKET_TYPE_SIGNALING = 4; // 0x4
6285  }
6286
6287  public static final class AlpFilterConfiguration.Builder {
6288    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration build();
6289    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setLengthType(int);
6290    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setPacketType(int);
6291    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
6292  }
6293
6294  public class AudioDescriptor {
6295    method public byte getAdFade();
6296    method public byte getAdGainCenter();
6297    method public byte getAdGainFront();
6298    method public byte getAdGainSurround();
6299    method public byte getAdPan();
6300    method public char getAdVersionTextTag();
6301  }
6302
6303  public class AvSettings extends android.media.tv.tuner.filter.Settings {
6304    method @NonNull public static android.media.tv.tuner.filter.AvSettings.Builder builder(int, boolean);
6305    method public int getAudioStreamType();
6306    method public int getVideoStreamType();
6307    method public boolean isPassthrough();
6308    field public static final int AUDIO_STREAM_TYPE_AAC = 6; // 0x6
6309    field public static final int AUDIO_STREAM_TYPE_AC3 = 7; // 0x7
6310    field public static final int AUDIO_STREAM_TYPE_AC4 = 9; // 0x9
6311    field public static final int AUDIO_STREAM_TYPE_DRA = 15; // 0xf
6312    field public static final int AUDIO_STREAM_TYPE_DTS = 10; // 0xa
6313    field public static final int AUDIO_STREAM_TYPE_DTS_HD = 11; // 0xb
6314    field public static final int AUDIO_STREAM_TYPE_EAC3 = 8; // 0x8
6315    field public static final int AUDIO_STREAM_TYPE_MP3 = 2; // 0x2
6316    field public static final int AUDIO_STREAM_TYPE_MPEG1 = 3; // 0x3
6317    field public static final int AUDIO_STREAM_TYPE_MPEG2 = 4; // 0x4
6318    field public static final int AUDIO_STREAM_TYPE_MPEGH = 5; // 0x5
6319    field public static final int AUDIO_STREAM_TYPE_OPUS = 13; // 0xd
6320    field public static final int AUDIO_STREAM_TYPE_PCM = 1; // 0x1
6321    field public static final int AUDIO_STREAM_TYPE_UNDEFINED = 0; // 0x0
6322    field public static final int AUDIO_STREAM_TYPE_VORBIS = 14; // 0xe
6323    field public static final int AUDIO_STREAM_TYPE_WMA = 12; // 0xc
6324    field public static final int VIDEO_STREAM_TYPE_AV1 = 10; // 0xa
6325    field public static final int VIDEO_STREAM_TYPE_AVC = 5; // 0x5
6326    field public static final int VIDEO_STREAM_TYPE_AVS = 11; // 0xb
6327    field public static final int VIDEO_STREAM_TYPE_AVS2 = 12; // 0xc
6328    field public static final int VIDEO_STREAM_TYPE_HEVC = 6; // 0x6
6329    field public static final int VIDEO_STREAM_TYPE_MPEG1 = 2; // 0x2
6330    field public static final int VIDEO_STREAM_TYPE_MPEG2 = 3; // 0x3
6331    field public static final int VIDEO_STREAM_TYPE_MPEG4P2 = 4; // 0x4
6332    field public static final int VIDEO_STREAM_TYPE_RESERVED = 1; // 0x1
6333    field public static final int VIDEO_STREAM_TYPE_UNDEFINED = 0; // 0x0
6334    field public static final int VIDEO_STREAM_TYPE_VC1 = 7; // 0x7
6335    field public static final int VIDEO_STREAM_TYPE_VP8 = 8; // 0x8
6336    field public static final int VIDEO_STREAM_TYPE_VP9 = 9; // 0x9
6337  }
6338
6339  public static class AvSettings.Builder {
6340    method @NonNull public android.media.tv.tuner.filter.AvSettings build();
6341    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setAudioStreamType(int);
6342    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setPassthrough(boolean);
6343    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setVideoStreamType(int);
6344  }
6345
6346  public class DownloadEvent extends android.media.tv.tuner.filter.FilterEvent {
6347    method public int getDataLength();
6348    method public int getItemFragmentIndex();
6349    method public int getItemId();
6350    method public int getLastItemFragmentIndex();
6351    method @IntRange(from=0) public int getMpuSequenceNumber();
6352  }
6353
6354  public class DownloadSettings extends android.media.tv.tuner.filter.Settings {
6355    method @NonNull public static android.media.tv.tuner.filter.DownloadSettings.Builder builder(int);
6356    method public int getDownloadId();
6357  }
6358
6359  public static class DownloadSettings.Builder {
6360    method @NonNull public android.media.tv.tuner.filter.DownloadSettings build();
6361    method @NonNull public android.media.tv.tuner.filter.DownloadSettings.Builder setDownloadId(int);
6362  }
6363
6364  public class Filter implements java.lang.AutoCloseable {
6365    method public void close();
6366    method public int configure(@NonNull android.media.tv.tuner.filter.FilterConfiguration);
6367    method public int flush();
6368    method public int getId();
6369    method public long getIdLong();
6370    method public int read(@NonNull byte[], long, long);
6371    method public int setDataSource(@Nullable android.media.tv.tuner.filter.Filter);
6372    method public int setMonitorEventMask(int);
6373    method public int start();
6374    method public int stop();
6375    field public static final int MONITOR_EVENT_IP_CID_CHANGE = 2; // 0x2
6376    field public static final int MONITOR_EVENT_SCRAMBLING_STATUS = 1; // 0x1
6377    field public static final int SCRAMBLING_STATUS_NOT_SCRAMBLED = 2; // 0x2
6378    field public static final int SCRAMBLING_STATUS_SCRAMBLED = 4; // 0x4
6379    field public static final int SCRAMBLING_STATUS_UNKNOWN = 1; // 0x1
6380    field public static final int STATUS_DATA_READY = 1; // 0x1
6381    field public static final int STATUS_HIGH_WATER = 4; // 0x4
6382    field public static final int STATUS_LOW_WATER = 2; // 0x2
6383    field public static final int STATUS_OVERFLOW = 8; // 0x8
6384    field public static final int SUBTYPE_AUDIO = 3; // 0x3
6385    field public static final int SUBTYPE_DOWNLOAD = 5; // 0x5
6386    field public static final int SUBTYPE_IP = 13; // 0xd
6387    field public static final int SUBTYPE_IP_PAYLOAD = 12; // 0xc
6388    field public static final int SUBTYPE_MMTP = 10; // 0xa
6389    field public static final int SUBTYPE_NTP = 11; // 0xb
6390    field public static final int SUBTYPE_PAYLOAD_THROUGH = 14; // 0xe
6391    field public static final int SUBTYPE_PCR = 8; // 0x8
6392    field public static final int SUBTYPE_PES = 2; // 0x2
6393    field public static final int SUBTYPE_PTP = 16; // 0x10
6394    field public static final int SUBTYPE_RECORD = 6; // 0x6
6395    field public static final int SUBTYPE_SECTION = 1; // 0x1
6396    field public static final int SUBTYPE_TEMI = 9; // 0x9
6397    field public static final int SUBTYPE_TLV = 15; // 0xf
6398    field public static final int SUBTYPE_TS = 7; // 0x7
6399    field public static final int SUBTYPE_UNDEFINED = 0; // 0x0
6400    field public static final int SUBTYPE_VIDEO = 4; // 0x4
6401    field public static final int TYPE_ALP = 16; // 0x10
6402    field public static final int TYPE_IP = 4; // 0x4
6403    field public static final int TYPE_MMTP = 2; // 0x2
6404    field public static final int TYPE_TLV = 8; // 0x8
6405    field public static final int TYPE_TS = 1; // 0x1
6406    field public static final int TYPE_UNDEFINED = 0; // 0x0
6407  }
6408
6409  public interface FilterCallback {
6410    method public void onFilterEvent(@NonNull android.media.tv.tuner.filter.Filter, @NonNull android.media.tv.tuner.filter.FilterEvent[]);
6411    method public void onFilterStatusChanged(@NonNull android.media.tv.tuner.filter.Filter, int);
6412  }
6413
6414  public abstract class FilterConfiguration {
6415    method @Nullable public android.media.tv.tuner.filter.Settings getSettings();
6416    method public abstract int getType();
6417  }
6418
6419  public abstract class FilterEvent {
6420    ctor public FilterEvent();
6421  }
6422
6423  public final class IpCidChangeEvent extends android.media.tv.tuner.filter.FilterEvent {
6424    method public int getIpCid();
6425  }
6426
6427  public final class IpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
6428    method @NonNull public static android.media.tv.tuner.filter.IpFilterConfiguration.Builder builder();
6429    method @NonNull @Size(min=4, max=16) public byte[] getDstIpAddress();
6430    method public int getDstPort();
6431    method @IntRange(from=0, to=61439) public int getIpFilterContextId();
6432    method @NonNull @Size(min=4, max=16) public byte[] getSrcIpAddress();
6433    method public int getSrcPort();
6434    method public int getType();
6435    method public boolean isPassthrough();
6436    field public static final int INVALID_IP_FILTER_CONTEXT_ID = -1; // 0xffffffff
6437  }
6438
6439  public static final class IpFilterConfiguration.Builder {
6440    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration build();
6441    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setDstIpAddress(@NonNull byte[]);
6442    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setDstPort(int);
6443    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setIpFilterContextId(int);
6444    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setPassthrough(boolean);
6445    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
6446    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSrcIpAddress(@NonNull byte[]);
6447    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSrcPort(int);
6448  }
6449
6450  public class IpPayloadEvent extends android.media.tv.tuner.filter.FilterEvent {
6451    method public int getDataLength();
6452  }
6453
6454  public class MediaEvent extends android.media.tv.tuner.filter.FilterEvent {
6455    method public long getAudioHandle();
6456    method public long getAvDataId();
6457    method public long getDataLength();
6458    method @Nullable public android.media.tv.tuner.filter.AudioDescriptor getExtraMetaData();
6459    method @Nullable public android.media.MediaCodec.LinearBlock getLinearBlock();
6460    method @IntRange(from=0) public int getMpuSequenceNumber();
6461    method public long getOffset();
6462    method public long getPts();
6463    method public int getStreamId();
6464    method public boolean isPrivateData();
6465    method public boolean isPtsPresent();
6466    method public boolean isSecureMemory();
6467    method public void release();
6468  }
6469
6470  public final class MmtpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
6471    method @NonNull public static android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder builder();
6472    method public int getMmtpPacketId();
6473    method public int getType();
6474  }
6475
6476  public static final class MmtpFilterConfiguration.Builder {
6477    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration build();
6478    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder setMmtpPacketId(int);
6479    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
6480  }
6481
6482  public class MmtpRecordEvent extends android.media.tv.tuner.filter.FilterEvent {
6483    method public long getDataLength();
6484    method public int getFirstMacroblockInSlice();
6485    method @IntRange(from=0) public int getMpuSequenceNumber();
6486    method public long getPts();
6487    method public int getScHevcIndexMask();
6488    method public int getTsIndexMask();
6489  }
6490
6491  public class PesEvent extends android.media.tv.tuner.filter.FilterEvent {
6492    method public int getDataLength();
6493    method @IntRange(from=0) public int getMpuSequenceNumber();
6494    method public int getStreamId();
6495  }
6496
6497  public class PesSettings extends android.media.tv.tuner.filter.Settings {
6498    method @NonNull public static android.media.tv.tuner.filter.PesSettings.Builder builder(int);
6499    method public int getStreamId();
6500    method public boolean isRaw();
6501  }
6502
6503  public static class PesSettings.Builder {
6504    method @NonNull public android.media.tv.tuner.filter.PesSettings build();
6505    method @NonNull public android.media.tv.tuner.filter.PesSettings.Builder setRaw(boolean);
6506    method @NonNull public android.media.tv.tuner.filter.PesSettings.Builder setStreamId(int);
6507  }
6508
6509  public class RecordSettings extends android.media.tv.tuner.filter.Settings {
6510    method @NonNull public static android.media.tv.tuner.filter.RecordSettings.Builder builder(int);
6511    method public int getScIndexMask();
6512    method public int getScIndexType();
6513    method public int getTsIndexMask();
6514    field public static final int INDEX_TYPE_NONE = 0; // 0x0
6515    field public static final int INDEX_TYPE_SC = 1; // 0x1
6516    field public static final int INDEX_TYPE_SC_HEVC = 2; // 0x2
6517    field public static final int MPT_INDEX_AUDIO = 262144; // 0x40000
6518    field public static final int MPT_INDEX_MPT = 65536; // 0x10000
6519    field public static final int MPT_INDEX_TIMESTAMP_TARGET_AUDIO = 1048576; // 0x100000
6520    field public static final int MPT_INDEX_TIMESTAMP_TARGET_VIDEO = 524288; // 0x80000
6521    field public static final int MPT_INDEX_VIDEO = 131072; // 0x20000
6522    field public static final int SC_HEVC_INDEX_AUD = 2; // 0x2
6523    field public static final int SC_HEVC_INDEX_SLICE_BLA_N_LP = 16; // 0x10
6524    field public static final int SC_HEVC_INDEX_SLICE_BLA_W_RADL = 8; // 0x8
6525    field public static final int SC_HEVC_INDEX_SLICE_CE_BLA_W_LP = 4; // 0x4
6526    field public static final int SC_HEVC_INDEX_SLICE_IDR_N_LP = 64; // 0x40
6527    field public static final int SC_HEVC_INDEX_SLICE_IDR_W_RADL = 32; // 0x20
6528    field public static final int SC_HEVC_INDEX_SLICE_TRAIL_CRA = 128; // 0x80
6529    field public static final int SC_HEVC_INDEX_SPS = 1; // 0x1
6530    field public static final int SC_INDEX_B_FRAME = 4; // 0x4
6531    field public static final int SC_INDEX_B_SLICE = 64; // 0x40
6532    field public static final int SC_INDEX_I_FRAME = 1; // 0x1
6533    field public static final int SC_INDEX_I_SLICE = 16; // 0x10
6534    field public static final int SC_INDEX_P_FRAME = 2; // 0x2
6535    field public static final int SC_INDEX_P_SLICE = 32; // 0x20
6536    field public static final int SC_INDEX_SEQUENCE = 8; // 0x8
6537    field public static final int SC_INDEX_SI_SLICE = 128; // 0x80
6538    field public static final int SC_INDEX_SP_SLICE = 256; // 0x100
6539    field public static final int TS_INDEX_ADAPTATION_EXTENSION_FLAG = 4096; // 0x1000
6540    field public static final int TS_INDEX_CHANGE_TO_EVEN_SCRAMBLED = 8; // 0x8
6541    field public static final int TS_INDEX_CHANGE_TO_NOT_SCRAMBLED = 4; // 0x4
6542    field public static final int TS_INDEX_CHANGE_TO_ODD_SCRAMBLED = 16; // 0x10
6543    field public static final int TS_INDEX_DISCONTINUITY_INDICATOR = 32; // 0x20
6544    field public static final int TS_INDEX_FIRST_PACKET = 1; // 0x1
6545    field public static final int TS_INDEX_INVALID = 0; // 0x0
6546    field public static final int TS_INDEX_OPCR_FLAG = 512; // 0x200
6547    field public static final int TS_INDEX_PAYLOAD_UNIT_START_INDICATOR = 2; // 0x2
6548    field public static final int TS_INDEX_PCR_FLAG = 256; // 0x100
6549    field public static final int TS_INDEX_PRIORITY_INDICATOR = 128; // 0x80
6550    field public static final int TS_INDEX_PRIVATE_DATA = 2048; // 0x800
6551    field public static final int TS_INDEX_RANDOM_ACCESS_INDICATOR = 64; // 0x40
6552    field public static final int TS_INDEX_SPLICING_POINT_FLAG = 1024; // 0x400
6553  }
6554
6555  public static class RecordSettings.Builder {
6556    method @NonNull public android.media.tv.tuner.filter.RecordSettings build();
6557    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setScIndexMask(int);
6558    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setScIndexType(int);
6559    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setTsIndexMask(int);
6560  }
6561
6562  public final class RestartEvent extends android.media.tv.tuner.filter.FilterEvent {
6563    method public int getStartId();
6564    field public static final int NEW_FILTER_FIRST_START_ID = 0; // 0x0
6565  }
6566
6567  public final class ScramblingStatusEvent extends android.media.tv.tuner.filter.FilterEvent {
6568    method public int getScramblingStatus();
6569  }
6570
6571  public class SectionEvent extends android.media.tv.tuner.filter.FilterEvent {
6572    method public int getDataLength();
6573    method public int getSectionNumber();
6574    method public int getTableId();
6575    method public int getVersion();
6576  }
6577
6578  public abstract class SectionSettings extends android.media.tv.tuner.filter.Settings {
6579    method public boolean isCrcEnabled();
6580    method public boolean isRaw();
6581    method public boolean isRepeat();
6582  }
6583
6584  public abstract static class SectionSettings.Builder<T extends android.media.tv.tuner.filter.SectionSettings.Builder<T>> {
6585    method @NonNull public T setCrcEnabled(boolean);
6586    method @NonNull public T setRaw(boolean);
6587    method @NonNull public T setRepeat(boolean);
6588  }
6589
6590  public class SectionSettingsWithSectionBits extends android.media.tv.tuner.filter.SectionSettings {
6591    method @NonNull public static android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder builder(int);
6592    method @NonNull public byte[] getFilterBytes();
6593    method @NonNull public byte[] getMask();
6594    method @NonNull public byte[] getMode();
6595  }
6596
6597  public static class SectionSettingsWithSectionBits.Builder extends android.media.tv.tuner.filter.SectionSettings.Builder<android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder> {
6598    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits build();
6599    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setFilter(@NonNull byte[]);
6600    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setMask(@NonNull byte[]);
6601    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setMode(@NonNull byte[]);
6602  }
6603
6604  public class SectionSettingsWithTableInfo extends android.media.tv.tuner.filter.SectionSettings {
6605    method @NonNull public static android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder builder(int);
6606    method public int getTableId();
6607    method public int getVersion();
6608  }
6609
6610  public static class SectionSettingsWithTableInfo.Builder extends android.media.tv.tuner.filter.SectionSettings.Builder<android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder> {
6611    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo build();
6612    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder setTableId(int);
6613    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder setVersion(int);
6614  }
6615
6616  public abstract class Settings {
6617    method public int getType();
6618  }
6619
6620  public class TemiEvent extends android.media.tv.tuner.filter.FilterEvent {
6621    method @NonNull public byte[] getDescriptorData();
6622    method public byte getDescriptorTag();
6623    method public long getPts();
6624  }
6625
6626  public class TimeFilter implements java.lang.AutoCloseable {
6627    method public int clearTimestamp();
6628    method public void close();
6629    method public long getSourceTime();
6630    method public long getTimeStamp();
6631    method public int setCurrentTimestamp(long);
6632  }
6633
6634  public final class TlvFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
6635    method @NonNull public static android.media.tv.tuner.filter.TlvFilterConfiguration.Builder builder();
6636    method public int getPacketType();
6637    method public int getType();
6638    method public boolean isCompressedIpPacket();
6639    method public boolean isPassthrough();
6640    field public static final int PACKET_TYPE_COMPRESSED = 3; // 0x3
6641    field public static final int PACKET_TYPE_IPV4 = 1; // 0x1
6642    field public static final int PACKET_TYPE_IPV6 = 2; // 0x2
6643    field public static final int PACKET_TYPE_NULL = 255; // 0xff
6644    field public static final int PACKET_TYPE_SIGNALING = 254; // 0xfe
6645  }
6646
6647  public static final class TlvFilterConfiguration.Builder {
6648    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration build();
6649    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setCompressedIpPacket(boolean);
6650    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setPacketType(int);
6651    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setPassthrough(boolean);
6652    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
6653  }
6654
6655  public final class TsFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
6656    method @NonNull public static android.media.tv.tuner.filter.TsFilterConfiguration.Builder builder();
6657    method public int getTpid();
6658    method public int getType();
6659  }
6660
6661  public static final class TsFilterConfiguration.Builder {
6662    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration build();
6663    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
6664    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration.Builder setTpid(int);
6665  }
6666
6667  public class TsRecordEvent extends android.media.tv.tuner.filter.FilterEvent {
6668    method public long getDataLength();
6669    method public int getFirstMacroblockInSlice();
6670    method public int getPacketId();
6671    method public long getPts();
6672    method public int getScIndexMask();
6673    method public int getTsIndexMask();
6674  }
6675
6676}
6677
6678package android.media.tv.tuner.frontend {
6679
6680  public class AnalogFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
6681    method public int getSifStandardCapability();
6682    method public int getSignalTypeCapability();
6683  }
6684
6685  public class AnalogFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
6686    method @NonNull public static android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder builder();
6687    method public int getAftFlag();
6688    method public int getSifStandard();
6689    method public int getSignalType();
6690    method public int getType();
6691    field public static final int AFT_FLAG_FALSE = 2; // 0x2
6692    field public static final int AFT_FLAG_TRUE = 1; // 0x1
6693    field public static final int AFT_FLAG_UNDEFINED = 0; // 0x0
6694    field public static final int SIF_AUTO = 1; // 0x1
6695    field public static final int SIF_BG = 2; // 0x2
6696    field public static final int SIF_BG_A2 = 4; // 0x4
6697    field public static final int SIF_BG_NICAM = 8; // 0x8
6698    field public static final int SIF_DK = 32; // 0x20
6699    field public static final int SIF_DK1_A2 = 64; // 0x40
6700    field public static final int SIF_DK2_A2 = 128; // 0x80
6701    field public static final int SIF_DK3_A2 = 256; // 0x100
6702    field public static final int SIF_DK_NICAM = 512; // 0x200
6703    field public static final int SIF_I = 16; // 0x10
6704    field public static final int SIF_I_NICAM = 32768; // 0x8000
6705    field public static final int SIF_L = 1024; // 0x400
6706    field public static final int SIF_L_NICAM = 65536; // 0x10000
6707    field public static final int SIF_L_PRIME = 131072; // 0x20000
6708    field public static final int SIF_M = 2048; // 0x800
6709    field public static final int SIF_M_A2 = 8192; // 0x2000
6710    field public static final int SIF_M_BTSC = 4096; // 0x1000
6711    field public static final int SIF_M_EIAJ = 16384; // 0x4000
6712    field public static final int SIF_UNDEFINED = 0; // 0x0
6713    field public static final int SIGNAL_TYPE_AUTO = 1; // 0x1
6714    field public static final int SIGNAL_TYPE_NTSC = 32; // 0x20
6715    field public static final int SIGNAL_TYPE_NTSC_443 = 64; // 0x40
6716    field public static final int SIGNAL_TYPE_PAL = 2; // 0x2
6717    field public static final int SIGNAL_TYPE_PAL_60 = 16; // 0x10
6718    field public static final int SIGNAL_TYPE_PAL_M = 4; // 0x4
6719    field public static final int SIGNAL_TYPE_PAL_N = 8; // 0x8
6720    field public static final int SIGNAL_TYPE_SECAM = 128; // 0x80
6721    field public static final int SIGNAL_TYPE_UNDEFINED = 0; // 0x0
6722  }
6723
6724  public static class AnalogFrontendSettings.Builder {
6725    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings build();
6726    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setAftFlag(int);
6727    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setFrequency(int);
6728    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setSifStandard(int);
6729    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setSignalType(int);
6730  }
6731
6732  public class Atsc3FrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
6733    method public int getBandwidthCapability();
6734    method public int getDemodOutputFormatCapability();
6735    method public int getFecCapability();
6736    method public int getModulationCapability();
6737    method public int getPlpCodeRateCapability();
6738    method public int getTimeInterleaveModeCapability();
6739  }
6740
6741  public class Atsc3FrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
6742    method @NonNull public static android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder builder();
6743    method public int getBandwidth();
6744    method public int getDemodOutputFormat();
6745    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings[] getPlpSettings();
6746    method public int getType();
6747    field public static final int BANDWIDTH_AUTO = 1; // 0x1
6748    field public static final int BANDWIDTH_BANDWIDTH_6MHZ = 2; // 0x2
6749    field public static final int BANDWIDTH_BANDWIDTH_7MHZ = 4; // 0x4
6750    field public static final int BANDWIDTH_BANDWIDTH_8MHZ = 8; // 0x8
6751    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
6752    field public static final int CODERATE_10_15 = 512; // 0x200
6753    field public static final int CODERATE_11_15 = 1024; // 0x400
6754    field public static final int CODERATE_12_15 = 2048; // 0x800
6755    field public static final int CODERATE_13_15 = 4096; // 0x1000
6756    field public static final int CODERATE_2_15 = 2; // 0x2
6757    field public static final int CODERATE_3_15 = 4; // 0x4
6758    field public static final int CODERATE_4_15 = 8; // 0x8
6759    field public static final int CODERATE_5_15 = 16; // 0x10
6760    field public static final int CODERATE_6_15 = 32; // 0x20
6761    field public static final int CODERATE_7_15 = 64; // 0x40
6762    field public static final int CODERATE_8_15 = 128; // 0x80
6763    field public static final int CODERATE_9_15 = 256; // 0x100
6764    field public static final int CODERATE_AUTO = 1; // 0x1
6765    field public static final int CODERATE_UNDEFINED = 0; // 0x0
6766    field public static final int DEMOD_OUTPUT_FORMAT_ATSC3_LINKLAYER_PACKET = 1; // 0x1
6767    field public static final int DEMOD_OUTPUT_FORMAT_BASEBAND_PACKET = 2; // 0x2
6768    field public static final int DEMOD_OUTPUT_FORMAT_UNDEFINED = 0; // 0x0
6769    field public static final int FEC_AUTO = 1; // 0x1
6770    field public static final int FEC_BCH_LDPC_16K = 2; // 0x2
6771    field public static final int FEC_BCH_LDPC_64K = 4; // 0x4
6772    field public static final int FEC_CRC_LDPC_16K = 8; // 0x8
6773    field public static final int FEC_CRC_LDPC_64K = 16; // 0x10
6774    field public static final int FEC_LDPC_16K = 32; // 0x20
6775    field public static final int FEC_LDPC_64K = 64; // 0x40
6776    field public static final int FEC_UNDEFINED = 0; // 0x0
6777    field public static final int MODULATION_AUTO = 1; // 0x1
6778    field public static final int MODULATION_MOD_1024QAM = 32; // 0x20
6779    field public static final int MODULATION_MOD_16QAM = 4; // 0x4
6780    field public static final int MODULATION_MOD_256QAM = 16; // 0x10
6781    field public static final int MODULATION_MOD_4096QAM = 64; // 0x40
6782    field public static final int MODULATION_MOD_64QAM = 8; // 0x8
6783    field public static final int MODULATION_MOD_QPSK = 2; // 0x2
6784    field public static final int MODULATION_UNDEFINED = 0; // 0x0
6785    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
6786    field public static final int TIME_INTERLEAVE_MODE_CTI = 2; // 0x2
6787    field public static final int TIME_INTERLEAVE_MODE_HTI = 4; // 0x4
6788    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
6789  }
6790
6791  public static class Atsc3FrontendSettings.Builder {
6792    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings build();
6793    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setBandwidth(int);
6794    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setDemodOutputFormat(int);
6795    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setFrequency(int);
6796    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setPlpSettings(@NonNull android.media.tv.tuner.frontend.Atsc3PlpSettings[]);
6797  }
6798
6799  public class Atsc3PlpInfo {
6800    method public boolean getLlsFlag();
6801    method public int getPlpId();
6802  }
6803
6804  public class Atsc3PlpSettings {
6805    method @NonNull public static android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder builder();
6806    method public int getCodeRate();
6807    method public int getFec();
6808    method public int getInterleaveMode();
6809    method public int getModulation();
6810    method public int getPlpId();
6811  }
6812
6813  public static class Atsc3PlpSettings.Builder {
6814    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings build();
6815    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setCodeRate(int);
6816    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setFec(int);
6817    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setInterleaveMode(int);
6818    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setModulation(int);
6819    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setPlpId(int);
6820  }
6821
6822  public class AtscFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
6823    method public int getModulationCapability();
6824  }
6825
6826  public class AtscFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
6827    method @NonNull public static android.media.tv.tuner.frontend.AtscFrontendSettings.Builder builder();
6828    method public int getModulation();
6829    method public int getType();
6830    field public static final int MODULATION_AUTO = 1; // 0x1
6831    field public static final int MODULATION_MOD_16VSB = 8; // 0x8
6832    field public static final int MODULATION_MOD_8VSB = 4; // 0x4
6833    field public static final int MODULATION_UNDEFINED = 0; // 0x0
6834  }
6835
6836  public static class AtscFrontendSettings.Builder {
6837    method @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings build();
6838    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setFrequency(int);
6839    method @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setModulation(int);
6840  }
6841
6842  public final class DtmbFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
6843    method public int getBandwidthCapability();
6844    method public int getCodeRateCapability();
6845    method public int getGuardIntervalCapability();
6846    method public int getModulationCapability();
6847    method public int getTimeInterleaveModeCapability();
6848    method public int getTransmissionModeCapability();
6849  }
6850
6851  public final class DtmbFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
6852    method @NonNull public static android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder builder();
6853    method public int getBandwidth();
6854    method public int getCodeRate();
6855    method public int getGuardInterval();
6856    method public int getModulation();
6857    method public int getTimeInterleaveMode();
6858    method public int getTransmissionMode();
6859    method public int getType();
6860    field public static final int BANDWIDTH_6MHZ = 4; // 0x4
6861    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
6862    field public static final int BANDWIDTH_AUTO = 1; // 0x1
6863    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
6864    field public static final int CODERATE_2_5 = 2; // 0x2
6865    field public static final int CODERATE_3_5 = 4; // 0x4
6866    field public static final int CODERATE_4_5 = 8; // 0x8
6867    field public static final int CODERATE_AUTO = 1; // 0x1
6868    field public static final int CODERATE_UNDEFINED = 0; // 0x0
6869    field public static final int GUARD_INTERVAL_AUTO = 1; // 0x1
6870    field public static final int GUARD_INTERVAL_PN_420_CONST = 16; // 0x10
6871    field public static final int GUARD_INTERVAL_PN_420_VARIOUS = 2; // 0x2
6872    field public static final int GUARD_INTERVAL_PN_595_CONST = 4; // 0x4
6873    field public static final int GUARD_INTERVAL_PN_945_CONST = 32; // 0x20
6874    field public static final int GUARD_INTERVAL_PN_945_VARIOUS = 8; // 0x8
6875    field public static final int GUARD_INTERVAL_PN_RESERVED = 64; // 0x40
6876    field public static final int GUARD_INTERVAL_UNDEFINED = 0; // 0x0
6877    field public static final int MODULATION_CONSTELLATION_16QAM = 8; // 0x8
6878    field public static final int MODULATION_CONSTELLATION_32QAM = 16; // 0x10
6879    field public static final int MODULATION_CONSTELLATION_4QAM = 2; // 0x2
6880    field public static final int MODULATION_CONSTELLATION_4QAM_NR = 4; // 0x4
6881    field public static final int MODULATION_CONSTELLATION_64QAM = 32; // 0x20
6882    field public static final int MODULATION_CONSTELLATION_AUTO = 1; // 0x1
6883    field public static final int MODULATION_CONSTELLATION_UNDEFINED = 0; // 0x0
6884    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
6885    field public static final int TIME_INTERLEAVE_MODE_TIMER_INT_240 = 2; // 0x2
6886    field public static final int TIME_INTERLEAVE_MODE_TIMER_INT_720 = 4; // 0x4
6887    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
6888    field public static final int TRANSMISSION_MODE_AUTO = 1; // 0x1
6889    field public static final int TRANSMISSION_MODE_C1 = 2; // 0x2
6890    field public static final int TRANSMISSION_MODE_C3780 = 4; // 0x4
6891    field public static final int TRANSMISSION_MODE_UNDEFINED = 0; // 0x0
6892  }
6893
6894  public static final class DtmbFrontendSettings.Builder {
6895    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings build();
6896    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setBandwidth(int);
6897    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setCodeRate(int);
6898    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setFrequency(int);
6899    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setGuardInterval(int);
6900    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setModulation(int);
6901    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setTimeInterleaveMode(int);
6902    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setTransmissionMode(int);
6903  }
6904
6905  public class DvbcFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
6906    method public int getAnnexCapability();
6907    method public long getCodeRateCapability();
6908    method @Deprecated public int getFecCapability();
6909    method public int getModulationCapability();
6910  }
6911
6912  public class DvbcFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
6913    method @NonNull public static android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder builder();
6914    method public int getAnnex();
6915    method public int getBandwidth();
6916    method public long getInnerFec();
6917    method public int getModulation();
6918    method public int getOuterFec();
6919    method public int getSpectralInversion();
6920    method public int getSymbolRate();
6921    method public int getTimeInterleaveMode();
6922    method public int getType();
6923    field public static final int ANNEX_A = 1; // 0x1
6924    field public static final int ANNEX_B = 2; // 0x2
6925    field public static final int ANNEX_C = 4; // 0x4
6926    field public static final int ANNEX_UNDEFINED = 0; // 0x0
6927    field public static final int BANDWIDTH_5MHZ = 1; // 0x1
6928    field public static final int BANDWIDTH_6MHZ = 2; // 0x2
6929    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
6930    field public static final int BANDWIDTH_8MHZ = 8; // 0x8
6931    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
6932    field public static final int MODULATION_AUTO = 1; // 0x1
6933    field public static final int MODULATION_MOD_128QAM = 16; // 0x10
6934    field public static final int MODULATION_MOD_16QAM = 2; // 0x2
6935    field public static final int MODULATION_MOD_256QAM = 32; // 0x20
6936    field public static final int MODULATION_MOD_32QAM = 4; // 0x4
6937    field public static final int MODULATION_MOD_64QAM = 8; // 0x8
6938    field public static final int MODULATION_UNDEFINED = 0; // 0x0
6939    field public static final int OUTER_FEC_OUTER_FEC_NONE = 1; // 0x1
6940    field public static final int OUTER_FEC_OUTER_FEC_RS = 2; // 0x2
6941    field public static final int OUTER_FEC_UNDEFINED = 0; // 0x0
6942    field @Deprecated public static final int SPECTRAL_INVERSION_INVERTED = 2; // 0x2
6943    field @Deprecated public static final int SPECTRAL_INVERSION_NORMAL = 1; // 0x1
6944    field @Deprecated public static final int SPECTRAL_INVERSION_UNDEFINED = 0; // 0x0
6945    field public static final int TIME_INTERLEAVE_MODE_128_1_0 = 2; // 0x2
6946    field public static final int TIME_INTERLEAVE_MODE_128_1_1 = 4; // 0x4
6947    field public static final int TIME_INTERLEAVE_MODE_128_2 = 128; // 0x80
6948    field public static final int TIME_INTERLEAVE_MODE_128_3 = 256; // 0x100
6949    field public static final int TIME_INTERLEAVE_MODE_128_4 = 512; // 0x200
6950    field public static final int TIME_INTERLEAVE_MODE_16_8 = 32; // 0x20
6951    field public static final int TIME_INTERLEAVE_MODE_32_4 = 16; // 0x10
6952    field public static final int TIME_INTERLEAVE_MODE_64_2 = 8; // 0x8
6953    field public static final int TIME_INTERLEAVE_MODE_8_16 = 64; // 0x40
6954    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
6955    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
6956  }
6957
6958  public static class DvbcFrontendSettings.Builder {
6959    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings build();
6960    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setAnnex(int);
6961    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setBandwidth(int);
6962    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setFrequency(int);
6963    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setInnerFec(long);
6964    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setModulation(int);
6965    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setOuterFec(int);
6966    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setSpectralInversion(int);
6967    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setSymbolRate(int);
6968    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setTimeInterleaveMode(int);
6969  }
6970
6971  public class DvbsCodeRate {
6972    method @NonNull public static android.media.tv.tuner.frontend.DvbsCodeRate.Builder builder();
6973    method public int getBitsPer1000Symbol();
6974    method public long getInnerFec();
6975    method public boolean isLinear();
6976    method public boolean isShortFrameEnabled();
6977  }
6978
6979  public static class DvbsCodeRate.Builder {
6980    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate build();
6981    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setBitsPer1000Symbol(int);
6982    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setInnerFec(long);
6983    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setLinear(boolean);
6984    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setShortFrameEnabled(boolean);
6985  }
6986
6987  public class DvbsFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
6988    method public long getInnerFecCapability();
6989    method public int getModulationCapability();
6990    method public int getStandardCapability();
6991  }
6992
6993  public class DvbsFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
6994    method @NonNull public static android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder builder();
6995    method public boolean canHandleDiseqcRxMessage();
6996    method @Nullable public android.media.tv.tuner.frontend.DvbsCodeRate getCodeRate();
6997    method public int getInputStreamId();
6998    method public int getModulation();
6999    method public int getPilot();
7000    method public int getRolloff();
7001    method public int getScanType();
7002    method public int getStandard();
7003    method public int getSymbolRate();
7004    method public int getType();
7005    method public int getVcmMode();
7006    field public static final int MODULATION_AUTO = 1; // 0x1
7007    field public static final int MODULATION_MOD_128APSK = 2048; // 0x800
7008    field public static final int MODULATION_MOD_16APSK = 256; // 0x100
7009    field public static final int MODULATION_MOD_16PSK = 16; // 0x10
7010    field public static final int MODULATION_MOD_16QAM = 8; // 0x8
7011    field public static final int MODULATION_MOD_256APSK = 4096; // 0x1000
7012    field public static final int MODULATION_MOD_32APSK = 512; // 0x200
7013    field public static final int MODULATION_MOD_32PSK = 32; // 0x20
7014    field public static final int MODULATION_MOD_64APSK = 1024; // 0x400
7015    field public static final int MODULATION_MOD_8APSK = 128; // 0x80
7016    field public static final int MODULATION_MOD_8PSK = 4; // 0x4
7017    field public static final int MODULATION_MOD_ACM = 64; // 0x40
7018    field public static final int MODULATION_MOD_QPSK = 2; // 0x2
7019    field public static final int MODULATION_MOD_RESERVED = 8192; // 0x2000
7020    field public static final int MODULATION_UNDEFINED = 0; // 0x0
7021    field public static final int PILOT_AUTO = 3; // 0x3
7022    field public static final int PILOT_OFF = 2; // 0x2
7023    field public static final int PILOT_ON = 1; // 0x1
7024    field public static final int PILOT_UNDEFINED = 0; // 0x0
7025    field public static final int ROLLOFF_0_10 = 5; // 0x5
7026    field public static final int ROLLOFF_0_15 = 4; // 0x4
7027    field public static final int ROLLOFF_0_20 = 3; // 0x3
7028    field public static final int ROLLOFF_0_25 = 2; // 0x2
7029    field public static final int ROLLOFF_0_35 = 1; // 0x1
7030    field public static final int ROLLOFF_0_5 = 6; // 0x6
7031    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
7032    field public static final int SCAN_TYPE_DIRECT = 1; // 0x1
7033    field public static final int SCAN_TYPE_DISEQC = 2; // 0x2
7034    field public static final int SCAN_TYPE_JESS = 4; // 0x4
7035    field public static final int SCAN_TYPE_UNDEFINED = 0; // 0x0
7036    field public static final int SCAN_TYPE_UNICABLE = 3; // 0x3
7037    field public static final int STANDARD_AUTO = 1; // 0x1
7038    field public static final int STANDARD_S = 2; // 0x2
7039    field public static final int STANDARD_S2 = 4; // 0x4
7040    field public static final int STANDARD_S2X = 8; // 0x8
7041    field public static final int VCM_MODE_AUTO = 1; // 0x1
7042    field public static final int VCM_MODE_MANUAL = 2; // 0x2
7043    field public static final int VCM_MODE_UNDEFINED = 0; // 0x0
7044  }
7045
7046  public static class DvbsFrontendSettings.Builder {
7047    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings build();
7048    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setCanHandleDiseqcRxMessage(boolean);
7049    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setCodeRate(@Nullable android.media.tv.tuner.frontend.DvbsCodeRate);
7050    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setFrequency(int);
7051    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setInputStreamId(int);
7052    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setModulation(int);
7053    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setPilot(int);
7054    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setRolloff(int);
7055    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setScanType(int);
7056    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setStandard(int);
7057    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setSymbolRate(int);
7058    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setVcmMode(int);
7059  }
7060
7061  public class DvbtFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
7062    method public int getBandwidthCapability();
7063    method public int getCodeRateCapability();
7064    method public int getConstellationCapability();
7065    method public int getGuardIntervalCapability();
7066    method public int getHierarchyCapability();
7067    method public int getTransmissionModeCapability();
7068    method public boolean isMisoSupported();
7069    method public boolean isT2Supported();
7070  }
7071
7072  public class DvbtFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
7073    method @NonNull public static android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder builder();
7074    method public int getBandwidth();
7075    method public int getConstellation();
7076    method public int getGuardInterval();
7077    method public int getHierarchy();
7078    method public int getHighPriorityCodeRate();
7079    method public int getLowPriorityCodeRate();
7080    method public int getPlpGroupId();
7081    method public int getPlpId();
7082    method public int getPlpMode();
7083    method public int getStandard();
7084    method public int getTransmissionMode();
7085    method public int getType();
7086    method public boolean isHighPriority();
7087    method public boolean isMiso();
7088    field public static final int BANDWIDTH_10MHZ = 64; // 0x40
7089    field public static final int BANDWIDTH_1_7MHZ = 32; // 0x20
7090    field public static final int BANDWIDTH_5MHZ = 16; // 0x10
7091    field public static final int BANDWIDTH_6MHZ = 8; // 0x8
7092    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
7093    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
7094    field public static final int BANDWIDTH_AUTO = 1; // 0x1
7095    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
7096    field public static final int CODERATE_1_2 = 2; // 0x2
7097    field public static final int CODERATE_2_3 = 4; // 0x4
7098    field public static final int CODERATE_3_4 = 8; // 0x8
7099    field public static final int CODERATE_3_5 = 64; // 0x40
7100    field public static final int CODERATE_4_5 = 128; // 0x80
7101    field public static final int CODERATE_5_6 = 16; // 0x10
7102    field public static final int CODERATE_6_7 = 256; // 0x100
7103    field public static final int CODERATE_7_8 = 32; // 0x20
7104    field public static final int CODERATE_8_9 = 512; // 0x200
7105    field public static final int CODERATE_AUTO = 1; // 0x1
7106    field public static final int CODERATE_UNDEFINED = 0; // 0x0
7107    field public static final int CONSTELLATION_16QAM = 4; // 0x4
7108    field public static final int CONSTELLATION_16QAM_R = 64; // 0x40
7109    field public static final int CONSTELLATION_256QAM = 16; // 0x10
7110    field public static final int CONSTELLATION_256QAM_R = 256; // 0x100
7111    field public static final int CONSTELLATION_64QAM = 8; // 0x8
7112    field public static final int CONSTELLATION_64QAM_R = 128; // 0x80
7113    field public static final int CONSTELLATION_AUTO = 1; // 0x1
7114    field public static final int CONSTELLATION_QPSK = 2; // 0x2
7115    field public static final int CONSTELLATION_QPSK_R = 32; // 0x20
7116    field public static final int CONSTELLATION_UNDEFINED = 0; // 0x0
7117    field public static final int GUARD_INTERVAL_19_128 = 64; // 0x40
7118    field public static final int GUARD_INTERVAL_19_256 = 128; // 0x80
7119    field public static final int GUARD_INTERVAL_1_128 = 32; // 0x20
7120    field public static final int GUARD_INTERVAL_1_16 = 4; // 0x4
7121    field public static final int GUARD_INTERVAL_1_32 = 2; // 0x2
7122    field public static final int GUARD_INTERVAL_1_4 = 16; // 0x10
7123    field public static final int GUARD_INTERVAL_1_8 = 8; // 0x8
7124    field public static final int GUARD_INTERVAL_AUTO = 1; // 0x1
7125    field public static final int GUARD_INTERVAL_UNDEFINED = 0; // 0x0
7126    field public static final int HIERARCHY_1_INDEPTH = 64; // 0x40
7127    field public static final int HIERARCHY_1_NATIVE = 4; // 0x4
7128    field public static final int HIERARCHY_2_INDEPTH = 128; // 0x80
7129    field public static final int HIERARCHY_2_NATIVE = 8; // 0x8
7130    field public static final int HIERARCHY_4_INDEPTH = 256; // 0x100
7131    field public static final int HIERARCHY_4_NATIVE = 16; // 0x10
7132    field public static final int HIERARCHY_AUTO = 1; // 0x1
7133    field public static final int HIERARCHY_NON_INDEPTH = 32; // 0x20
7134    field public static final int HIERARCHY_NON_NATIVE = 2; // 0x2
7135    field public static final int HIERARCHY_UNDEFINED = 0; // 0x0
7136    field public static final int PLP_MODE_AUTO = 1; // 0x1
7137    field public static final int PLP_MODE_MANUAL = 2; // 0x2
7138    field public static final int PLP_MODE_UNDEFINED = 0; // 0x0
7139    field public static final int STANDARD_AUTO = 1; // 0x1
7140    field public static final int STANDARD_T = 2; // 0x2
7141    field public static final int STANDARD_T2 = 4; // 0x4
7142    field public static final int TRANSMISSION_MODE_16K = 32; // 0x20
7143    field public static final int TRANSMISSION_MODE_1K = 16; // 0x10
7144    field public static final int TRANSMISSION_MODE_2K = 2; // 0x2
7145    field public static final int TRANSMISSION_MODE_32K = 64; // 0x40
7146    field public static final int TRANSMISSION_MODE_4K = 8; // 0x8
7147    field public static final int TRANSMISSION_MODE_8K = 4; // 0x4
7148    field public static final int TRANSMISSION_MODE_AUTO = 1; // 0x1
7149    field public static final int TRANSMISSION_MODE_EXTENDED_16K = 256; // 0x100
7150    field public static final int TRANSMISSION_MODE_EXTENDED_32K = 512; // 0x200
7151    field public static final int TRANSMISSION_MODE_EXTENDED_8K = 128; // 0x80
7152    field public static final int TRANSMISSION_MODE_UNDEFINED = 0; // 0x0
7153  }
7154
7155  public static class DvbtFrontendSettings.Builder {
7156    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings build();
7157    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setBandwidth(int);
7158    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setConstellation(int);
7159    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setFrequency(int);
7160    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setGuardInterval(int);
7161    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHierarchy(int);
7162    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHighPriority(boolean);
7163    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHighPriorityCodeRate(int);
7164    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setLowPriorityCodeRate(int);
7165    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setMiso(boolean);
7166    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpGroupId(int);
7167    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpId(int);
7168    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpMode(int);
7169    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setStandard(int);
7170    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setTransmissionMode(int);
7171  }
7172
7173  public abstract class FrontendCapabilities {
7174    ctor public FrontendCapabilities();
7175  }
7176
7177  public class FrontendInfo {
7178    method public int getAcquireRange();
7179    method public int getExclusiveGroupId();
7180    method @NonNull public android.util.Range<java.lang.Integer> getFrequencyRange();
7181    method @NonNull public android.media.tv.tuner.frontend.FrontendCapabilities getFrontendCapabilities();
7182    method public int getId();
7183    method @NonNull public int[] getStatusCapabilities();
7184    method @NonNull public android.util.Range<java.lang.Integer> getSymbolRateRange();
7185    method public int getType();
7186  }
7187
7188  public abstract class FrontendSettings {
7189    method @IntRange(from=1) public int getEndFrequency();
7190    method public int getFrequency();
7191    method public int getFrontendSpectralInversion();
7192    method public abstract int getType();
7193    method @IntRange(from=1) public void setEndFrequency(int);
7194    method public void setSpectralInversion(int);
7195    field public static final long FEC_11_15 = 4194304L; // 0x400000L
7196    field public static final long FEC_11_20 = 8388608L; // 0x800000L
7197    field public static final long FEC_11_45 = 16777216L; // 0x1000000L
7198    field public static final long FEC_13_18 = 33554432L; // 0x2000000L
7199    field public static final long FEC_13_45 = 67108864L; // 0x4000000L
7200    field public static final long FEC_14_45 = 134217728L; // 0x8000000L
7201    field public static final long FEC_1_2 = 2L; // 0x2L
7202    field public static final long FEC_1_3 = 4L; // 0x4L
7203    field public static final long FEC_1_4 = 8L; // 0x8L
7204    field public static final long FEC_1_5 = 16L; // 0x10L
7205    field public static final long FEC_23_36 = 268435456L; // 0x10000000L
7206    field public static final long FEC_25_36 = 536870912L; // 0x20000000L
7207    field public static final long FEC_26_45 = 1073741824L; // 0x40000000L
7208    field public static final long FEC_28_45 = -2147483648L; // 0xffffffff80000000L
7209    field public static final long FEC_29_45 = 1L; // 0x1L
7210    field public static final long FEC_2_3 = 32L; // 0x20L
7211    field public static final long FEC_2_5 = 64L; // 0x40L
7212    field public static final long FEC_2_9 = 128L; // 0x80L
7213    field public static final long FEC_31_45 = 2L; // 0x2L
7214    field public static final long FEC_32_45 = 4L; // 0x4L
7215    field public static final long FEC_3_4 = 256L; // 0x100L
7216    field public static final long FEC_3_5 = 512L; // 0x200L
7217    field public static final long FEC_4_15 = 2048L; // 0x800L
7218    field public static final long FEC_4_5 = 1024L; // 0x400L
7219    field public static final long FEC_5_6 = 4096L; // 0x1000L
7220    field public static final long FEC_5_9 = 8192L; // 0x2000L
7221    field public static final long FEC_6_7 = 16384L; // 0x4000L
7222    field public static final long FEC_77_90 = 8L; // 0x8L
7223    field public static final long FEC_7_15 = 131072L; // 0x20000L
7224    field public static final long FEC_7_8 = 32768L; // 0x8000L
7225    field public static final long FEC_7_9 = 65536L; // 0x10000L
7226    field public static final long FEC_8_15 = 524288L; // 0x80000L
7227    field public static final long FEC_8_9 = 262144L; // 0x40000L
7228    field public static final long FEC_9_10 = 1048576L; // 0x100000L
7229    field public static final long FEC_9_20 = 2097152L; // 0x200000L
7230    field public static final long FEC_AUTO = 1L; // 0x1L
7231    field public static final long FEC_UNDEFINED = 0L; // 0x0L
7232    field public static final int FRONTEND_SPECTRAL_INVERSION_INVERTED = 2; // 0x2
7233    field public static final int FRONTEND_SPECTRAL_INVERSION_NORMAL = 1; // 0x1
7234    field public static final int FRONTEND_SPECTRAL_INVERSION_UNDEFINED = 0; // 0x0
7235    field public static final int TYPE_ANALOG = 1; // 0x1
7236    field public static final int TYPE_ATSC = 2; // 0x2
7237    field public static final int TYPE_ATSC3 = 3; // 0x3
7238    field public static final int TYPE_DTMB = 10; // 0xa
7239    field public static final int TYPE_DVBC = 4; // 0x4
7240    field public static final int TYPE_DVBS = 5; // 0x5
7241    field public static final int TYPE_DVBT = 6; // 0x6
7242    field public static final int TYPE_ISDBS = 7; // 0x7
7243    field public static final int TYPE_ISDBS3 = 8; // 0x8
7244    field public static final int TYPE_ISDBT = 9; // 0x9
7245    field public static final int TYPE_UNDEFINED = 0; // 0x0
7246  }
7247
7248  public class FrontendStatus {
7249    method public int getAgc();
7250    method @NonNull public android.media.tv.tuner.frontend.FrontendStatus.Atsc3PlpTuningInfo[] getAtsc3PlpTuningInfo();
7251    method public int getBandwidth();
7252    method public int getBer();
7253    method @NonNull public int[] getBers();
7254    method @NonNull public int[] getCodeRates();
7255    method @NonNull public int[] getExtendedModulations();
7256    method public int getFreqOffset();
7257    method public int getGuardInterval();
7258    method public int getHierarchy();
7259    method public long getInnerFec();
7260    method @NonNull public int[] getInterleaving();
7261    method @IntRange(from=0, to=255) @NonNull public int[] getIsdbtSegment();
7262    method @NonNull public boolean[] getLayerErrors();
7263    method public int getLnbVoltage();
7264    method public int getMer();
7265    method public int getModulation();
7266    method public int getPer();
7267    method public int getPerBer();
7268    method public int getPlpId();
7269    method public int getRollOff();
7270    method public int getSignalQuality();
7271    method public int getSignalStrength();
7272    method public int getSnr();
7273    method public int getSpectralInversion();
7274    method public int getSymbolRate();
7275    method @IntRange(from=0, to=65535) public int getSystemId();
7276    method public int getTransmissionMode();
7277    method @NonNull public int[] getTsDataRate();
7278    method public int getUec();
7279    method public boolean isDemodLocked();
7280    method public boolean isEwbs();
7281    method public boolean isLinear();
7282    method public boolean isLnaOn();
7283    method public boolean isMisoEnabled();
7284    method public boolean isRfLocked();
7285    method public boolean isShortFramesEnabled();
7286    field public static final int FRONTEND_STATUS_TYPE_AGC = 14; // 0xe
7287    field public static final int FRONTEND_STATUS_TYPE_ATSC3_PLP_INFO = 21; // 0x15
7288    field public static final int FRONTEND_STATUS_TYPE_BANDWIDTH = 25; // 0x19
7289    field public static final int FRONTEND_STATUS_TYPE_BER = 2; // 0x2
7290    field public static final int FRONTEND_STATUS_TYPE_BERS = 23; // 0x17
7291    field public static final int FRONTEND_STATUS_TYPE_CODERATES = 24; // 0x18
7292    field public static final int FRONTEND_STATUS_TYPE_DEMOD_LOCK = 0; // 0x0
7293    field public static final int FRONTEND_STATUS_TYPE_EWBS = 13; // 0xd
7294    field public static final int FRONTEND_STATUS_TYPE_FEC = 8; // 0x8
7295    field public static final int FRONTEND_STATUS_TYPE_FREQ_OFFSET = 18; // 0x12
7296    field public static final int FRONTEND_STATUS_TYPE_GUARD_INTERVAL = 26; // 0x1a
7297    field public static final int FRONTEND_STATUS_TYPE_HIERARCHY = 19; // 0x13
7298    field public static final int FRONTEND_STATUS_TYPE_INTERLEAVINGS = 30; // 0x1e
7299    field public static final int FRONTEND_STATUS_TYPE_ISDBT_SEGMENTS = 31; // 0x1f
7300    field public static final int FRONTEND_STATUS_TYPE_IS_LINEAR = 35; // 0x23
7301    field public static final int FRONTEND_STATUS_TYPE_IS_MISO_ENABLED = 34; // 0x22
7302    field public static final int FRONTEND_STATUS_TYPE_IS_SHORT_FRAMES_ENABLED = 36; // 0x24
7303    field public static final int FRONTEND_STATUS_TYPE_LAYER_ERROR = 16; // 0x10
7304    field public static final int FRONTEND_STATUS_TYPE_LNA = 15; // 0xf
7305    field public static final int FRONTEND_STATUS_TYPE_LNB_VOLTAGE = 11; // 0xb
7306    field public static final int FRONTEND_STATUS_TYPE_MER = 17; // 0x11
7307    field public static final int FRONTEND_STATUS_TYPE_MODULATION = 9; // 0x9
7308    field public static final int FRONTEND_STATUS_TYPE_MODULATIONS_EXT = 22; // 0x16
7309    field public static final int FRONTEND_STATUS_TYPE_PER = 3; // 0x3
7310    field public static final int FRONTEND_STATUS_TYPE_PLP_ID = 12; // 0xc
7311    field public static final int FRONTEND_STATUS_TYPE_PRE_BER = 4; // 0x4
7312    field public static final int FRONTEND_STATUS_TYPE_RF_LOCK = 20; // 0x14
7313    field public static final int FRONTEND_STATUS_TYPE_ROLL_OFF = 33; // 0x21
7314    field public static final int FRONTEND_STATUS_TYPE_SIGNAL_QUALITY = 5; // 0x5
7315    field public static final int FRONTEND_STATUS_TYPE_SIGNAL_STRENGTH = 6; // 0x6
7316    field public static final int FRONTEND_STATUS_TYPE_SNR = 1; // 0x1
7317    field public static final int FRONTEND_STATUS_TYPE_SPECTRAL = 10; // 0xa
7318    field public static final int FRONTEND_STATUS_TYPE_SYMBOL_RATE = 7; // 0x7
7319    field public static final int FRONTEND_STATUS_TYPE_T2_SYSTEM_ID = 29; // 0x1d
7320    field public static final int FRONTEND_STATUS_TYPE_TRANSMISSION_MODE = 27; // 0x1b
7321    field public static final int FRONTEND_STATUS_TYPE_TS_DATA_RATES = 32; // 0x20
7322    field public static final int FRONTEND_STATUS_TYPE_UEC = 28; // 0x1c
7323  }
7324
7325  public static class FrontendStatus.Atsc3PlpTuningInfo {
7326    method public int getPlpId();
7327    method public int getUec();
7328    method public boolean isLocked();
7329  }
7330
7331  public class Isdbs3FrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
7332    method public int getCodeRateCapability();
7333    method public int getModulationCapability();
7334  }
7335
7336  public class Isdbs3FrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
7337    method @NonNull public static android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder builder();
7338    method public int getCodeRate();
7339    method public int getModulation();
7340    method public int getRolloff();
7341    method public int getStreamId();
7342    method public int getStreamIdType();
7343    method public int getSymbolRate();
7344    method public int getType();
7345    field public static final int CODERATE_1_2 = 8; // 0x8
7346    field public static final int CODERATE_1_3 = 2; // 0x2
7347    field public static final int CODERATE_2_3 = 32; // 0x20
7348    field public static final int CODERATE_2_5 = 4; // 0x4
7349    field public static final int CODERATE_3_4 = 64; // 0x40
7350    field public static final int CODERATE_3_5 = 16; // 0x10
7351    field public static final int CODERATE_4_5 = 256; // 0x100
7352    field public static final int CODERATE_5_6 = 512; // 0x200
7353    field public static final int CODERATE_7_8 = 1024; // 0x400
7354    field public static final int CODERATE_7_9 = 128; // 0x80
7355    field public static final int CODERATE_9_10 = 2048; // 0x800
7356    field public static final int CODERATE_AUTO = 1; // 0x1
7357    field public static final int CODERATE_UNDEFINED = 0; // 0x0
7358    field public static final int MODULATION_AUTO = 1; // 0x1
7359    field public static final int MODULATION_MOD_16APSK = 16; // 0x10
7360    field public static final int MODULATION_MOD_32APSK = 32; // 0x20
7361    field public static final int MODULATION_MOD_8PSK = 8; // 0x8
7362    field public static final int MODULATION_MOD_BPSK = 2; // 0x2
7363    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
7364    field public static final int MODULATION_UNDEFINED = 0; // 0x0
7365    field public static final int ROLLOFF_0_03 = 1; // 0x1
7366    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
7367  }
7368
7369  public static class Isdbs3FrontendSettings.Builder {
7370    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings build();
7371    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setCodeRate(int);
7372    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setFrequency(int);
7373    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setModulation(int);
7374    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setRolloff(int);
7375    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setStreamId(int);
7376    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setStreamIdType(int);
7377    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setSymbolRate(int);
7378  }
7379
7380  public class IsdbsFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
7381    method public int getCodeRateCapability();
7382    method public int getModulationCapability();
7383  }
7384
7385  public class IsdbsFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
7386    method @NonNull public static android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder builder();
7387    method public int getCodeRate();
7388    method public int getModulation();
7389    method public int getRolloff();
7390    method public int getStreamId();
7391    method public int getStreamIdType();
7392    method public int getSymbolRate();
7393    method public int getType();
7394    field public static final int CODERATE_1_2 = 2; // 0x2
7395    field public static final int CODERATE_2_3 = 4; // 0x4
7396    field public static final int CODERATE_3_4 = 8; // 0x8
7397    field public static final int CODERATE_5_6 = 16; // 0x10
7398    field public static final int CODERATE_7_8 = 32; // 0x20
7399    field public static final int CODERATE_AUTO = 1; // 0x1
7400    field public static final int CODERATE_UNDEFINED = 0; // 0x0
7401    field public static final int MODULATION_AUTO = 1; // 0x1
7402    field public static final int MODULATION_MOD_BPSK = 2; // 0x2
7403    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
7404    field public static final int MODULATION_MOD_TC8PSK = 8; // 0x8
7405    field public static final int MODULATION_UNDEFINED = 0; // 0x0
7406    field public static final int ROLLOFF_0_35 = 1; // 0x1
7407    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
7408    field public static final int STREAM_ID_TYPE_ID = 0; // 0x0
7409    field public static final int STREAM_ID_TYPE_RELATIVE_NUMBER = 1; // 0x1
7410  }
7411
7412  public static class IsdbsFrontendSettings.Builder {
7413    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings build();
7414    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setCodeRate(int);
7415    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setFrequency(int);
7416    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setModulation(int);
7417    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setRolloff(int);
7418    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setStreamId(int);
7419    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setStreamIdType(int);
7420    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setSymbolRate(int);
7421  }
7422
7423  public class IsdbtFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
7424    method public int getBandwidthCapability();
7425    method public int getCodeRateCapability();
7426    method public int getGuardIntervalCapability();
7427    method public int getModeCapability();
7428    method public int getModulationCapability();
7429  }
7430
7431  public class IsdbtFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
7432    method @NonNull public static android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder builder();
7433    method public int getBandwidth();
7434    method public int getCodeRate();
7435    method public int getGuardInterval();
7436    method public int getMode();
7437    method public int getModulation();
7438    method public int getServiceAreaId();
7439    method public int getType();
7440    field public static final int BANDWIDTH_6MHZ = 8; // 0x8
7441    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
7442    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
7443    field public static final int BANDWIDTH_AUTO = 1; // 0x1
7444    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
7445    field public static final int MODE_1 = 2; // 0x2
7446    field public static final int MODE_2 = 4; // 0x4
7447    field public static final int MODE_3 = 8; // 0x8
7448    field public static final int MODE_AUTO = 1; // 0x1
7449    field public static final int MODE_UNDEFINED = 0; // 0x0
7450    field public static final int MODULATION_AUTO = 1; // 0x1
7451    field public static final int MODULATION_MOD_16QAM = 8; // 0x8
7452    field public static final int MODULATION_MOD_64QAM = 16; // 0x10
7453    field public static final int MODULATION_MOD_DQPSK = 2; // 0x2
7454    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
7455    field public static final int MODULATION_UNDEFINED = 0; // 0x0
7456  }
7457
7458  public static class IsdbtFrontendSettings.Builder {
7459    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings build();
7460    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setBandwidth(int);
7461    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setCodeRate(int);
7462    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setFrequency(int);
7463    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setGuardInterval(int);
7464    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setMode(int);
7465    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setModulation(int);
7466    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setServiceAreaId(int);
7467  }
7468
7469  public interface OnTuneEventListener {
7470    method public void onTuneEvent(int);
7471    field public static final int SIGNAL_LOCKED = 0; // 0x0
7472    field public static final int SIGNAL_LOST_LOCK = 2; // 0x2
7473    field public static final int SIGNAL_NO_SIGNAL = 1; // 0x1
7474  }
7475
7476  public interface ScanCallback {
7477    method public void onAnalogSifStandardReported(int);
7478    method public void onAtsc3PlpInfosReported(@NonNull android.media.tv.tuner.frontend.Atsc3PlpInfo[]);
7479    method public default void onDvbcAnnexReported(int);
7480    method public void onDvbsStandardReported(int);
7481    method public void onDvbtStandardReported(int);
7482    method public void onFrequenciesReported(@NonNull int[]);
7483    method public void onGroupIdsReported(@NonNull int[]);
7484    method public void onHierarchyReported(int);
7485    method public void onInputStreamIdsReported(@NonNull int[]);
7486    method public void onLocked();
7487    method public default void onModulationReported(int);
7488    method public void onPlpIdsReported(@NonNull int[]);
7489    method public default void onPriorityReported(boolean);
7490    method public void onProgress(@IntRange(from=0, to=100) int);
7491    method public void onScanStopped();
7492    method public void onSignalTypeReported(int);
7493    method public void onSymbolRatesReported(@NonNull int[]);
7494  }
7495
7496}
7497
7498package android.media.voice {
7499
7500  public final class KeyphraseModelManager {
7501    method @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public void deleteKeyphraseSoundModel(int, @NonNull java.util.Locale);
7502    method @Nullable @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel getKeyphraseSoundModel(int, @NonNull java.util.Locale);
7503    method @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public void updateKeyphraseSoundModel(@NonNull android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel);
7504  }
7505
7506}
7507
7508package android.metrics {
7509
7510  public class LogMaker {
7511    ctor public LogMaker(int);
7512    ctor public LogMaker(Object[]);
7513    method public android.metrics.LogMaker addTaggedData(int, Object);
7514    method public android.metrics.LogMaker clearCategory();
7515    method public android.metrics.LogMaker clearPackageName();
7516    method public android.metrics.LogMaker clearSubtype();
7517    method public android.metrics.LogMaker clearTaggedData(int);
7518    method public android.metrics.LogMaker clearType();
7519    method public void deserialize(Object[]);
7520    method public int getCategory();
7521    method public long getCounterBucket();
7522    method public String getCounterName();
7523    method public int getCounterValue();
7524    method public String getPackageName();
7525    method public int getProcessId();
7526    method public int getSubtype();
7527    method public Object getTaggedData(int);
7528    method public long getTimestamp();
7529    method public int getType();
7530    method public int getUid();
7531    method public boolean isLongCounterBucket();
7532    method public boolean isSubsetOf(android.metrics.LogMaker);
7533    method public boolean isValidValue(Object);
7534    method public Object[] serialize();
7535    method public android.metrics.LogMaker setCategory(int);
7536    method public android.metrics.LogMaker setPackageName(String);
7537    method public android.metrics.LogMaker setSubtype(int);
7538    method public android.metrics.LogMaker setType(int);
7539  }
7540
7541  public class MetricsReader {
7542    ctor public MetricsReader();
7543    method public void checkpoint();
7544    method public boolean hasNext();
7545    method public android.metrics.LogMaker next();
7546    method public void read(long);
7547    method public void reset();
7548  }
7549
7550}
7551
7552package android.net {
7553
7554  public class CaptivePortal implements android.os.Parcelable {
7555    method @Deprecated public void logEvent(int, @NonNull String);
7556    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void reevaluateNetwork();
7557    method public void useNetwork();
7558    field public static final int APP_REQUEST_REEVALUATION_REQUIRED = 100; // 0x64
7559    field public static final int APP_RETURN_DISMISSED = 0; // 0x0
7560    field public static final int APP_RETURN_UNWANTED = 1; // 0x1
7561    field public static final int APP_RETURN_WANTED_AS_IS = 2; // 0x2
7562  }
7563
7564  public final class CaptivePortalData implements android.os.Parcelable {
7565    method public int describeContents();
7566    method public long getByteLimit();
7567    method public long getExpiryTimeMillis();
7568    method public long getRefreshTimeMillis();
7569    method @Nullable public android.net.Uri getUserPortalUrl();
7570    method public int getUserPortalUrlSource();
7571    method @Nullable public CharSequence getVenueFriendlyName();
7572    method @Nullable public android.net.Uri getVenueInfoUrl();
7573    method public int getVenueInfoUrlSource();
7574    method public boolean isCaptive();
7575    method public boolean isSessionExtendable();
7576    method public void writeToParcel(@NonNull android.os.Parcel, int);
7577    field public static final int CAPTIVE_PORTAL_DATA_SOURCE_OTHER = 0; // 0x0
7578    field public static final int CAPTIVE_PORTAL_DATA_SOURCE_PASSPOINT = 1; // 0x1
7579    field @NonNull public static final android.os.Parcelable.Creator<android.net.CaptivePortalData> CREATOR;
7580  }
7581
7582  public static class CaptivePortalData.Builder {
7583    ctor public CaptivePortalData.Builder();
7584    ctor public CaptivePortalData.Builder(@Nullable android.net.CaptivePortalData);
7585    method @NonNull public android.net.CaptivePortalData build();
7586    method @NonNull public android.net.CaptivePortalData.Builder setBytesRemaining(long);
7587    method @NonNull public android.net.CaptivePortalData.Builder setCaptive(boolean);
7588    method @NonNull public android.net.CaptivePortalData.Builder setExpiryTime(long);
7589    method @NonNull public android.net.CaptivePortalData.Builder setRefreshTime(long);
7590    method @NonNull public android.net.CaptivePortalData.Builder setSessionExtendable(boolean);
7591    method @NonNull public android.net.CaptivePortalData.Builder setUserPortalUrl(@Nullable android.net.Uri);
7592    method @NonNull public android.net.CaptivePortalData.Builder setUserPortalUrl(@Nullable android.net.Uri, int);
7593    method @NonNull public android.net.CaptivePortalData.Builder setVenueFriendlyName(@Nullable CharSequence);
7594    method @NonNull public android.net.CaptivePortalData.Builder setVenueInfoUrl(@Nullable android.net.Uri);
7595    method @NonNull public android.net.CaptivePortalData.Builder setVenueInfoUrl(@Nullable android.net.Uri, int);
7596  }
7597
7598  public class ConnectivityManager {
7599    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);
7600    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);
7601    method @Deprecated @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String getCaptivePortalServerUrl();
7602    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void getLatestTetheringEntitlementResult(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEntitlementResultListener);
7603    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public boolean isTetheringSupported();
7604    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public int registerNetworkProvider(@NonNull android.net.NetworkProvider);
7605    method public void registerQosCallback(@NonNull android.net.QosSocketInfo, @NonNull java.util.concurrent.Executor, @NonNull android.net.QosCallback);
7606    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
7607    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);
7608    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);
7609    method @RequiresPermission(android.Manifest.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE) public void setOemNetworkPreference(@NonNull android.net.OemNetworkPreferences, @Nullable java.util.concurrent.Executor, @Nullable Runnable);
7610    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public boolean shouldAvoidBadWifi();
7611    method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public void startCaptivePortalApp(@NonNull android.net.Network, @NonNull android.os.Bundle);
7612    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback);
7613    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback, android.os.Handler);
7614    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void stopTethering(int);
7615    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public void unregisterNetworkProvider(@NonNull android.net.NetworkProvider);
7616    method public void unregisterQosCallback(@NonNull android.net.QosCallback);
7617    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void unregisterTetheringEventCallback(@NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
7618    field public static final String EXTRA_CAPTIVE_PORTAL_PROBE_SPEC = "android.net.extra.CAPTIVE_PORTAL_PROBE_SPEC";
7619    field public static final String EXTRA_CAPTIVE_PORTAL_USER_AGENT = "android.net.extra.CAPTIVE_PORTAL_USER_AGENT";
7620    field public static final int TETHERING_BLUETOOTH = 2; // 0x2
7621    field public static final int TETHERING_USB = 1; // 0x1
7622    field public static final int TETHERING_WIFI = 0; // 0x0
7623    field @Deprecated public static final int TETHER_ERROR_ENTITLEMENT_UNKONWN = 13; // 0xd
7624    field @Deprecated public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0
7625    field @Deprecated public static final int TETHER_ERROR_PROVISION_FAILED = 11; // 0xb
7626    field public static final int TYPE_NONE = -1; // 0xffffffff
7627    field @Deprecated public static final int TYPE_PROXY = 16; // 0x10
7628    field @Deprecated public static final int TYPE_WIFI_P2P = 13; // 0xd
7629  }
7630
7631  @Deprecated public abstract static class ConnectivityManager.OnStartTetheringCallback {
7632    ctor @Deprecated public ConnectivityManager.OnStartTetheringCallback();
7633    method @Deprecated public void onTetheringFailed();
7634    method @Deprecated public void onTetheringStarted();
7635  }
7636
7637  @Deprecated public static interface ConnectivityManager.OnTetheringEntitlementResultListener {
7638    method @Deprecated public void onTetheringEntitlementResult(int);
7639  }
7640
7641  @Deprecated public abstract static class ConnectivityManager.OnTetheringEventCallback {
7642    ctor @Deprecated public ConnectivityManager.OnTetheringEventCallback();
7643    method @Deprecated public void onUpstreamChanged(@Nullable android.net.Network);
7644  }
7645
7646  public class EthernetManager {
7647    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);
7648  }
7649
7650  public static interface EthernetManager.TetheredInterfaceCallback {
7651    method public void onAvailable(@NonNull String);
7652    method public void onUnavailable();
7653  }
7654
7655  public static class EthernetManager.TetheredInterfaceRequest {
7656    method public void release();
7657  }
7658
7659  public final class InvalidPacketException extends java.lang.Exception {
7660    ctor public InvalidPacketException(int);
7661    method public int getError();
7662    field public static final int ERROR_INVALID_IP_ADDRESS = -21; // 0xffffffeb
7663    field public static final int ERROR_INVALID_LENGTH = -23; // 0xffffffe9
7664    field public static final int ERROR_INVALID_PORT = -22; // 0xffffffea
7665  }
7666
7667  public final class IpConfiguration implements android.os.Parcelable {
7668    ctor public IpConfiguration();
7669    ctor public IpConfiguration(@NonNull android.net.IpConfiguration);
7670    method public int describeContents();
7671    method @Nullable public android.net.ProxyInfo getHttpProxy();
7672    method @NonNull public android.net.IpConfiguration.IpAssignment getIpAssignment();
7673    method @NonNull public android.net.IpConfiguration.ProxySettings getProxySettings();
7674    method @Nullable public android.net.StaticIpConfiguration getStaticIpConfiguration();
7675    method public void setHttpProxy(@Nullable android.net.ProxyInfo);
7676    method public void setIpAssignment(@NonNull android.net.IpConfiguration.IpAssignment);
7677    method public void setProxySettings(@NonNull android.net.IpConfiguration.ProxySettings);
7678    method public void setStaticIpConfiguration(@Nullable android.net.StaticIpConfiguration);
7679    method public void writeToParcel(@NonNull android.os.Parcel, int);
7680    field @NonNull public static final android.os.Parcelable.Creator<android.net.IpConfiguration> CREATOR;
7681  }
7682
7683  public enum IpConfiguration.IpAssignment {
7684    enum_constant public static final android.net.IpConfiguration.IpAssignment DHCP;
7685    enum_constant public static final android.net.IpConfiguration.IpAssignment STATIC;
7686    enum_constant public static final android.net.IpConfiguration.IpAssignment UNASSIGNED;
7687  }
7688
7689  public enum IpConfiguration.ProxySettings {
7690    enum_constant public static final android.net.IpConfiguration.ProxySettings NONE;
7691    enum_constant public static final android.net.IpConfiguration.ProxySettings PAC;
7692    enum_constant public static final android.net.IpConfiguration.ProxySettings STATIC;
7693    enum_constant public static final android.net.IpConfiguration.ProxySettings UNASSIGNED;
7694  }
7695
7696  public final class IpPrefix implements android.os.Parcelable {
7697    ctor public IpPrefix(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int);
7698    ctor public IpPrefix(@NonNull String);
7699  }
7700
7701  public final class IpSecManager {
7702    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;
7703    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;
7704  }
7705
7706  public static final class IpSecManager.IpSecTunnelInterface implements java.lang.AutoCloseable {
7707    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void addAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
7708    method public void close();
7709    method @NonNull public String getInterfaceName();
7710    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void removeAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
7711    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void setUnderlyingNetwork(@NonNull android.net.Network) throws java.io.IOException;
7712  }
7713
7714  public static class IpSecTransform.Builder {
7715    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;
7716  }
7717
7718  public class KeepalivePacketData {
7719    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;
7720    method @NonNull public java.net.InetAddress getDstAddress();
7721    method public int getDstPort();
7722    method @NonNull public byte[] getPacket();
7723    method @NonNull public java.net.InetAddress getSrcAddress();
7724    method public int getSrcPort();
7725  }
7726
7727  public class LinkAddress implements android.os.Parcelable {
7728    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int);
7729    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int, long, long);
7730    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int);
7731    ctor public LinkAddress(@NonNull String);
7732    ctor public LinkAddress(@NonNull String, int, int);
7733    method public long getDeprecationTime();
7734    method public long getExpirationTime();
7735    method public boolean isGlobalPreferred();
7736    method public boolean isIpv4();
7737    method public boolean isIpv6();
7738    method public boolean isSameAddressAs(@Nullable android.net.LinkAddress);
7739    field public static final long LIFETIME_PERMANENT = 9223372036854775807L; // 0x7fffffffffffffffL
7740    field public static final long LIFETIME_UNKNOWN = -1L; // 0xffffffffffffffffL
7741  }
7742
7743  public final class LinkProperties implements android.os.Parcelable {
7744    ctor public LinkProperties(@Nullable android.net.LinkProperties);
7745    ctor public LinkProperties(@Nullable android.net.LinkProperties, boolean);
7746    method public boolean addDnsServer(@NonNull java.net.InetAddress);
7747    method public boolean addLinkAddress(@NonNull android.net.LinkAddress);
7748    method public boolean addPcscfServer(@NonNull java.net.InetAddress);
7749    method @NonNull public java.util.List<java.net.InetAddress> getAddresses();
7750    method @NonNull public java.util.List<java.lang.String> getAllInterfaceNames();
7751    method @NonNull public java.util.List<android.net.LinkAddress> getAllLinkAddresses();
7752    method @NonNull public java.util.List<android.net.RouteInfo> getAllRoutes();
7753    method @Nullable public android.net.Uri getCaptivePortalApiUrl();
7754    method @Nullable public android.net.CaptivePortalData getCaptivePortalData();
7755    method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers();
7756    method @Nullable public String getTcpBufferSizes();
7757    method @NonNull public java.util.List<java.net.InetAddress> getValidatedPrivateDnsServers();
7758    method public boolean hasGlobalIpv6Address();
7759    method public boolean hasIpv4Address();
7760    method public boolean hasIpv4DefaultRoute();
7761    method public boolean hasIpv4DnsServer();
7762    method public boolean hasIpv6DefaultRoute();
7763    method public boolean hasIpv6DnsServer();
7764    method public boolean isIpv4Provisioned();
7765    method public boolean isIpv6Provisioned();
7766    method public boolean isProvisioned();
7767    method public boolean isReachable(@NonNull java.net.InetAddress);
7768    method public boolean removeDnsServer(@NonNull java.net.InetAddress);
7769    method public boolean removeLinkAddress(@NonNull android.net.LinkAddress);
7770    method public boolean removeRoute(@NonNull android.net.RouteInfo);
7771    method public void setCaptivePortalApiUrl(@Nullable android.net.Uri);
7772    method public void setCaptivePortalData(@Nullable android.net.CaptivePortalData);
7773    method public void setPcscfServers(@NonNull java.util.Collection<java.net.InetAddress>);
7774    method public void setPrivateDnsServerName(@Nullable String);
7775    method public void setTcpBufferSizes(@Nullable String);
7776    method public void setUsePrivateDns(boolean);
7777    method public void setValidatedPrivateDnsServers(@NonNull java.util.Collection<java.net.InetAddress>);
7778  }
7779
7780  public final class MatchAllNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
7781    ctor public MatchAllNetworkSpecifier();
7782    method public int describeContents();
7783    method public void writeToParcel(@NonNull android.os.Parcel, int);
7784    field @NonNull public static final android.os.Parcelable.Creator<android.net.MatchAllNetworkSpecifier> CREATOR;
7785  }
7786
7787  public final class NattKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable {
7788    ctor public NattKeepalivePacketData(@NonNull java.net.InetAddress, int, @NonNull java.net.InetAddress, int, @NonNull byte[]) throws android.net.InvalidPacketException;
7789    method public int describeContents();
7790    method public void writeToParcel(@NonNull android.os.Parcel, int);
7791    field @NonNull public static final android.os.Parcelable.Creator<android.net.NattKeepalivePacketData> CREATOR;
7792  }
7793
7794  public class Network implements android.os.Parcelable {
7795    ctor public Network(@NonNull android.net.Network);
7796    method public int getNetId();
7797    method @NonNull public android.net.Network getPrivateDnsBypassingCopy();
7798  }
7799
7800  public abstract class NetworkAgent {
7801    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);
7802    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);
7803    method @Nullable public android.net.Network getNetwork();
7804    method public void markConnected();
7805    method public void onAddKeepalivePacketFilter(int, @NonNull android.net.KeepalivePacketData);
7806    method public void onAutomaticReconnectDisabled();
7807    method public void onBandwidthUpdateRequested();
7808    method public void onNetworkCreated();
7809    method public void onNetworkDestroyed();
7810    method public void onNetworkUnwanted();
7811    method public void onQosCallbackRegistered(int, @NonNull android.net.QosFilter);
7812    method public void onQosCallbackUnregistered(int);
7813    method public void onRemoveKeepalivePacketFilter(int);
7814    method public void onSaveAcceptUnvalidated(boolean);
7815    method public void onSignalStrengthThresholdsUpdated(@NonNull int[]);
7816    method public void onStartSocketKeepalive(int, @NonNull java.time.Duration, @NonNull android.net.KeepalivePacketData);
7817    method public void onStopSocketKeepalive(int);
7818    method public void onValidationStatus(int, @Nullable android.net.Uri);
7819    method @NonNull public android.net.Network register();
7820    method public final void sendLinkProperties(@NonNull android.net.LinkProperties);
7821    method public final void sendNetworkCapabilities(@NonNull android.net.NetworkCapabilities);
7822    method public final void sendNetworkScore(@NonNull android.net.NetworkScore);
7823    method public final void sendNetworkScore(@IntRange(from=0, to=99) int);
7824    method public final void sendQosCallbackError(int, int);
7825    method public final void sendQosSessionAvailable(int, int, @NonNull android.net.QosSessionAttributes);
7826    method public final void sendQosSessionLost(int, int, int);
7827    method public final void sendSocketKeepaliveEvent(int, int);
7828    method @Deprecated public void setLegacySubtype(int, @NonNull String);
7829    method public void setLingerDuration(@NonNull java.time.Duration);
7830    method public void setTeardownDelayMillis(@IntRange(from=0, to=0x1388) int);
7831    method public final void setUnderlyingNetworks(@Nullable java.util.List<android.net.Network>);
7832    method public void unregister();
7833    field public static final int VALIDATION_STATUS_NOT_VALID = 2; // 0x2
7834    field public static final int VALIDATION_STATUS_VALID = 1; // 0x1
7835  }
7836
7837  public final class NetworkAgentConfig implements android.os.Parcelable {
7838    method public int describeContents();
7839    method public int getLegacyType();
7840    method @NonNull public String getLegacyTypeName();
7841    method public boolean isExplicitlySelected();
7842    method public boolean isPartialConnectivityAcceptable();
7843    method public boolean isUnvalidatedConnectivityAcceptable();
7844    method public void writeToParcel(@NonNull android.os.Parcel, int);
7845    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkAgentConfig> CREATOR;
7846  }
7847
7848  public static final class NetworkAgentConfig.Builder {
7849    ctor public NetworkAgentConfig.Builder();
7850    method @NonNull public android.net.NetworkAgentConfig build();
7851    method @NonNull public android.net.NetworkAgentConfig.Builder setExplicitlySelected(boolean);
7852    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyExtraInfo(@NonNull String);
7853    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubType(int);
7854    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubTypeName(@NonNull String);
7855    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyType(int);
7856    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyTypeName(@NonNull String);
7857    method @NonNull public android.net.NetworkAgentConfig.Builder setNat64DetectionEnabled(boolean);
7858    method @NonNull public android.net.NetworkAgentConfig.Builder setPartialConnectivityAcceptable(boolean);
7859    method @NonNull public android.net.NetworkAgentConfig.Builder setProvisioningNotificationEnabled(boolean);
7860    method @NonNull public android.net.NetworkAgentConfig.Builder setUnvalidatedConnectivityAcceptable(boolean);
7861  }
7862
7863  public final class NetworkCapabilities implements android.os.Parcelable {
7864    method @NonNull public int[] getAdministratorUids();
7865    method @Nullable public static String getCapabilityCarrierName(int);
7866    method @Nullable public String getSsid();
7867    method @NonNull public java.util.Set<java.lang.Integer> getSubscriptionIds();
7868    method @NonNull public int[] getTransportTypes();
7869    method public boolean isPrivateDnsBroken();
7870    method public boolean satisfiedByNetworkCapabilities(@Nullable android.net.NetworkCapabilities);
7871    field public static final int NET_CAPABILITY_BIP = 31; // 0x1f
7872    field public static final int NET_CAPABILITY_NOT_VCN_MANAGED = 28; // 0x1c
7873    field public static final int NET_CAPABILITY_OEM_PAID = 22; // 0x16
7874    field public static final int NET_CAPABILITY_OEM_PRIVATE = 26; // 0x1a
7875    field public static final int NET_CAPABILITY_PARTIAL_CONNECTIVITY = 24; // 0x18
7876    field public static final int NET_CAPABILITY_VEHICLE_INTERNAL = 27; // 0x1b
7877    field public static final int NET_CAPABILITY_VSIM = 30; // 0x1e
7878  }
7879
7880  public static final class NetworkCapabilities.Builder {
7881    ctor public NetworkCapabilities.Builder();
7882    ctor public NetworkCapabilities.Builder(@NonNull android.net.NetworkCapabilities);
7883    method @NonNull public android.net.NetworkCapabilities.Builder addCapability(int);
7884    method @NonNull public android.net.NetworkCapabilities.Builder addTransportType(int);
7885    method @NonNull public android.net.NetworkCapabilities build();
7886    method @NonNull public android.net.NetworkCapabilities.Builder removeCapability(int);
7887    method @NonNull public android.net.NetworkCapabilities.Builder removeTransportType(int);
7888    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setAdministratorUids(@NonNull int[]);
7889    method @NonNull public android.net.NetworkCapabilities.Builder setLinkDownstreamBandwidthKbps(int);
7890    method @NonNull public android.net.NetworkCapabilities.Builder setLinkUpstreamBandwidthKbps(int);
7891    method @NonNull public android.net.NetworkCapabilities.Builder setNetworkSpecifier(@Nullable android.net.NetworkSpecifier);
7892    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setOwnerUid(int);
7893    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorPackageName(@Nullable String);
7894    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorUid(int);
7895    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkCapabilities.Builder setSignalStrength(int);
7896    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setSsid(@Nullable String);
7897    method @NonNull public android.net.NetworkCapabilities.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>);
7898    method @NonNull public android.net.NetworkCapabilities.Builder setTransportInfo(@Nullable android.net.TransportInfo);
7899    method @NonNull public static android.net.NetworkCapabilities.Builder withoutDefaultCapabilities();
7900  }
7901
7902  public class NetworkKey implements android.os.Parcelable {
7903    ctor public NetworkKey(android.net.WifiKey);
7904    method @Nullable public static android.net.NetworkKey createFromScanResult(@NonNull android.net.wifi.ScanResult);
7905    method public int describeContents();
7906    method public void writeToParcel(android.os.Parcel, int);
7907    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkKey> CREATOR;
7908    field public static final int TYPE_WIFI = 1; // 0x1
7909    field public final int type;
7910    field public final android.net.WifiKey wifiKey;
7911  }
7912
7913  public class NetworkProvider {
7914    ctor public NetworkProvider(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String);
7915    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void declareNetworkRequestUnfulfillable(@NonNull android.net.NetworkRequest);
7916    method public int getProviderId();
7917    method public void onNetworkRequestWithdrawn(@NonNull android.net.NetworkRequest);
7918    method public void onNetworkRequested(@NonNull android.net.NetworkRequest, @IntRange(from=0, to=99) int, int);
7919    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);
7920    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void unregisterNetworkOffer(@NonNull android.net.NetworkProvider.NetworkOfferCallback);
7921    field public static final int ID_NONE = -1; // 0xffffffff
7922  }
7923
7924  public static interface NetworkProvider.NetworkOfferCallback {
7925    method public void onNetworkNeeded(@NonNull android.net.NetworkRequest);
7926    method public void onNetworkUnneeded(@NonNull android.net.NetworkRequest);
7927  }
7928
7929  public abstract class NetworkRecommendationProvider {
7930    ctor public NetworkRecommendationProvider(android.content.Context, java.util.concurrent.Executor);
7931    method public final android.os.IBinder getBinder();
7932    method public abstract void onRequestScores(android.net.NetworkKey[]);
7933  }
7934
7935  public class NetworkReleasedException extends java.lang.Exception {
7936  }
7937
7938  public class NetworkRequest implements android.os.Parcelable {
7939    method @Nullable public String getRequestorPackageName();
7940    method public int getRequestorUid();
7941  }
7942
7943  public static class NetworkRequest.Builder {
7944    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkRequest.Builder setSignalStrength(int);
7945    method @NonNull public android.net.NetworkRequest.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>);
7946  }
7947
7948  public final class NetworkScore implements android.os.Parcelable {
7949    method public int describeContents();
7950    method public int getKeepConnectedReason();
7951    method public int getLegacyInt();
7952    method public boolean isExiting();
7953    method public boolean isTransportPrimary();
7954    method public void writeToParcel(@NonNull android.os.Parcel, int);
7955    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkScore> CREATOR;
7956    field public static final int KEEP_CONNECTED_FOR_HANDOVER = 1; // 0x1
7957    field public static final int KEEP_CONNECTED_NONE = 0; // 0x0
7958  }
7959
7960  public static final class NetworkScore.Builder {
7961    ctor public NetworkScore.Builder();
7962    method @NonNull public android.net.NetworkScore build();
7963    method @NonNull public android.net.NetworkScore.Builder setExiting(boolean);
7964    method @NonNull public android.net.NetworkScore.Builder setKeepConnectedReason(int);
7965    method @NonNull public android.net.NetworkScore.Builder setLegacyInt(int);
7966    method @NonNull public android.net.NetworkScore.Builder setTransportPrimary(boolean);
7967  }
7968
7969  public class NetworkScoreManager {
7970    method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public boolean clearScores() throws java.lang.SecurityException;
7971    method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public void disableScoring() throws java.lang.SecurityException;
7972    method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public String getActiveScorerPackage();
7973    method @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;
7974    method @RequiresPermission(android.Manifest.permission.REQUEST_NETWORK_SCORES) public boolean requestScores(@NonNull java.util.Collection<android.net.NetworkKey>) throws java.lang.SecurityException;
7975    method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public boolean setActiveScorer(String) throws java.lang.SecurityException;
7976    method @RequiresPermission(android.Manifest.permission.SCORE_NETWORKS) public boolean updateScores(@NonNull android.net.ScoredNetwork[]) throws java.lang.SecurityException;
7977    field @Deprecated public static final String ACTION_CHANGE_ACTIVE = "android.net.scoring.CHANGE_ACTIVE";
7978    field public static final String ACTION_CUSTOM_ENABLE = "android.net.scoring.CUSTOM_ENABLE";
7979    field public static final String ACTION_RECOMMEND_NETWORKS = "android.net.action.RECOMMEND_NETWORKS";
7980    field public static final String ACTION_SCORER_CHANGED = "android.net.scoring.SCORER_CHANGED";
7981    field @Deprecated public static final String ACTION_SCORE_NETWORKS = "android.net.scoring.SCORE_NETWORKS";
7982    field @Deprecated public static final String EXTRA_NETWORKS_TO_SCORE = "networksToScore";
7983    field public static final String EXTRA_NEW_SCORER = "newScorer";
7984    field @Deprecated public static final String EXTRA_PACKAGE_NAME = "packageName";
7985    field public static final int SCORE_FILTER_CURRENT_NETWORK = 1; // 0x1
7986    field public static final int SCORE_FILTER_NONE = 0; // 0x0
7987    field public static final int SCORE_FILTER_SCAN_RESULTS = 2; // 0x2
7988  }
7989
7990  public abstract static class NetworkScoreManager.NetworkScoreCallback {
7991    ctor public NetworkScoreManager.NetworkScoreCallback();
7992    method public abstract void onScoresInvalidated();
7993    method public abstract void onScoresUpdated(@NonNull java.util.Collection<android.net.ScoredNetwork>);
7994  }
7995
7996  public abstract class NetworkSpecifier {
7997    method public boolean canBeSatisfiedBy(@Nullable android.net.NetworkSpecifier);
7998    method @Nullable public android.net.NetworkSpecifier redact();
7999  }
8000
8001  public class NetworkStack {
8002    method @Nullable public static android.os.IBinder getService();
8003    field public static final String PERMISSION_MAINLINE_NETWORK_STACK = "android.permission.MAINLINE_NETWORK_STACK";
8004  }
8005
8006  public final class NetworkStats implements android.os.Parcelable {
8007    ctor public NetworkStats(long, int);
8008    method @NonNull public android.net.NetworkStats add(@NonNull android.net.NetworkStats);
8009    method @NonNull public android.net.NetworkStats addEntry(@NonNull android.net.NetworkStats.Entry);
8010    method public int describeContents();
8011    method @NonNull public android.net.NetworkStats subtract(@NonNull android.net.NetworkStats);
8012    method public void writeToParcel(@NonNull android.os.Parcel, int);
8013    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkStats> CREATOR;
8014    field public static final int DEFAULT_NETWORK_NO = 0; // 0x0
8015    field public static final int DEFAULT_NETWORK_YES = 1; // 0x1
8016    field public static final String IFACE_VT = "vt_data0";
8017    field public static final int METERED_NO = 0; // 0x0
8018    field public static final int METERED_YES = 1; // 0x1
8019    field public static final int ROAMING_NO = 0; // 0x0
8020    field public static final int ROAMING_YES = 1; // 0x1
8021    field public static final int SET_DEFAULT = 0; // 0x0
8022    field public static final int SET_FOREGROUND = 1; // 0x1
8023    field public static final int TAG_NONE = 0; // 0x0
8024    field public static final int UID_ALL = -1; // 0xffffffff
8025    field public static final int UID_TETHERING = -5; // 0xfffffffb
8026  }
8027
8028  public static class NetworkStats.Entry {
8029    ctor public NetworkStats.Entry(@Nullable String, int, int, int, int, int, int, long, long, long, long, long);
8030  }
8031
8032  public final class OemNetworkPreferences implements android.os.Parcelable {
8033    method public int describeContents();
8034    method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getNetworkPreferences();
8035    method public void writeToParcel(@NonNull android.os.Parcel, int);
8036    field @NonNull public static final android.os.Parcelable.Creator<android.net.OemNetworkPreferences> CREATOR;
8037    field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID = 1; // 0x1
8038    field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID_NO_FALLBACK = 2; // 0x2
8039    field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID_ONLY = 3; // 0x3
8040    field public static final int OEM_NETWORK_PREFERENCE_OEM_PRIVATE_ONLY = 4; // 0x4
8041    field public static final int OEM_NETWORK_PREFERENCE_UNINITIALIZED = 0; // 0x0
8042  }
8043
8044  public static final class OemNetworkPreferences.Builder {
8045    ctor public OemNetworkPreferences.Builder();
8046    ctor public OemNetworkPreferences.Builder(@NonNull android.net.OemNetworkPreferences);
8047    method @NonNull public android.net.OemNetworkPreferences.Builder addNetworkPreference(@NonNull String, int);
8048    method @NonNull public android.net.OemNetworkPreferences build();
8049    method @NonNull public android.net.OemNetworkPreferences.Builder clearNetworkPreference(@NonNull String);
8050  }
8051
8052  public abstract class QosCallback {
8053    ctor public QosCallback();
8054    method public void onError(@NonNull android.net.QosCallbackException);
8055    method public void onQosSessionAvailable(@NonNull android.net.QosSession, @NonNull android.net.QosSessionAttributes);
8056    method public void onQosSessionLost(@NonNull android.net.QosSession);
8057  }
8058
8059  public static class QosCallback.QosCallbackRegistrationException extends java.lang.RuntimeException {
8060  }
8061
8062  public final class QosCallbackException extends java.lang.Exception {
8063  }
8064
8065  public abstract class QosFilter {
8066    method @NonNull public abstract android.net.Network getNetwork();
8067    method public abstract boolean matchesLocalAddress(@NonNull java.net.InetAddress, int, int);
8068    method public abstract boolean matchesRemoteAddress(@NonNull java.net.InetAddress, int, int);
8069  }
8070
8071  public final class QosSession implements android.os.Parcelable {
8072    ctor public QosSession(int, int);
8073    method public int describeContents();
8074    method public int getSessionId();
8075    method public int getSessionType();
8076    method public long getUniqueId();
8077    method public void writeToParcel(@NonNull android.os.Parcel, int);
8078    field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSession> CREATOR;
8079    field public static final int TYPE_EPS_BEARER = 1; // 0x1
8080    field public static final int TYPE_NR_BEARER = 2; // 0x2
8081  }
8082
8083  public interface QosSessionAttributes {
8084  }
8085
8086  public final class QosSocketInfo implements android.os.Parcelable {
8087    ctor public QosSocketInfo(@NonNull android.net.Network, @NonNull java.net.Socket) throws java.io.IOException;
8088    method public int describeContents();
8089    method @NonNull public java.net.InetSocketAddress getLocalSocketAddress();
8090    method @NonNull public android.net.Network getNetwork();
8091    method @Nullable public java.net.InetSocketAddress getRemoteSocketAddress();
8092    method public void writeToParcel(@NonNull android.os.Parcel, int);
8093    field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSocketInfo> CREATOR;
8094  }
8095
8096  public final class RouteInfo implements android.os.Parcelable {
8097    ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int);
8098    ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int, int);
8099    method public int getMtu();
8100    method public int getType();
8101    field public static final int RTN_THROW = 9; // 0x9
8102    field public static final int RTN_UNICAST = 1; // 0x1
8103    field public static final int RTN_UNREACHABLE = 7; // 0x7
8104  }
8105
8106  public class RssiCurve implements android.os.Parcelable {
8107    ctor public RssiCurve(int, int, byte[]);
8108    ctor public RssiCurve(int, int, byte[], int);
8109    method public int describeContents();
8110    method public byte lookupScore(int);
8111    method public byte lookupScore(int, boolean);
8112    method public void writeToParcel(android.os.Parcel, int);
8113    field @NonNull public static final android.os.Parcelable.Creator<android.net.RssiCurve> CREATOR;
8114    field public final int activeNetworkRssiBoost;
8115    field public final int bucketWidth;
8116    field public final byte[] rssiBuckets;
8117    field public final int start;
8118  }
8119
8120  public class ScoredNetwork implements android.os.Parcelable {
8121    ctor public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve);
8122    ctor public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve, boolean);
8123    ctor public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve, boolean, @Nullable android.os.Bundle);
8124    method public int calculateBadge(int);
8125    method public int describeContents();
8126    method public void writeToParcel(android.os.Parcel, int);
8127    field public static final String ATTRIBUTES_KEY_BADGING_CURVE = "android.net.attributes.key.BADGING_CURVE";
8128    field public static final String ATTRIBUTES_KEY_HAS_CAPTIVE_PORTAL = "android.net.attributes.key.HAS_CAPTIVE_PORTAL";
8129    field public static final String ATTRIBUTES_KEY_RANKING_SCORE_OFFSET = "android.net.attributes.key.RANKING_SCORE_OFFSET";
8130    field @NonNull public static final android.os.Parcelable.Creator<android.net.ScoredNetwork> CREATOR;
8131    field @Nullable public final android.os.Bundle attributes;
8132    field public final boolean meteredHint;
8133    field public final android.net.NetworkKey networkKey;
8134    field public final android.net.RssiCurve rssiCurve;
8135  }
8136
8137  public abstract class SocketKeepalive implements java.lang.AutoCloseable {
8138    field public static final int ERROR_NO_SUCH_SLOT = -33; // 0xffffffdf
8139    field public static final int SUCCESS = 0; // 0x0
8140  }
8141
8142  public class SocketLocalAddressChangedException extends java.lang.Exception {
8143  }
8144
8145  public class SocketNotBoundException extends java.lang.Exception {
8146  }
8147
8148  public final class StaticIpConfiguration implements android.os.Parcelable {
8149    ctor public StaticIpConfiguration();
8150    ctor public StaticIpConfiguration(@Nullable android.net.StaticIpConfiguration);
8151    method public void addDnsServer(@NonNull java.net.InetAddress);
8152    method public void clear();
8153    method public int describeContents();
8154    method @NonNull public java.util.List<java.net.InetAddress> getDnsServers();
8155    method @Nullable public String getDomains();
8156    method @Nullable public java.net.InetAddress getGateway();
8157    method @Nullable public android.net.LinkAddress getIpAddress();
8158    method @NonNull public java.util.List<android.net.RouteInfo> getRoutes(@Nullable String);
8159    method public void writeToParcel(android.os.Parcel, int);
8160    field @NonNull public static final android.os.Parcelable.Creator<android.net.StaticIpConfiguration> CREATOR;
8161  }
8162
8163  public static final class StaticIpConfiguration.Builder {
8164    ctor public StaticIpConfiguration.Builder();
8165    method @NonNull public android.net.StaticIpConfiguration build();
8166    method @NonNull public android.net.StaticIpConfiguration.Builder setDnsServers(@NonNull Iterable<java.net.InetAddress>);
8167    method @NonNull public android.net.StaticIpConfiguration.Builder setDomains(@Nullable String);
8168    method @NonNull public android.net.StaticIpConfiguration.Builder setGateway(@Nullable java.net.InetAddress);
8169    method @NonNull public android.net.StaticIpConfiguration.Builder setIpAddress(@Nullable android.net.LinkAddress);
8170  }
8171
8172  public final class TcpKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable {
8173    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;
8174    method public int describeContents();
8175    method public int getIpTos();
8176    method public int getIpTtl();
8177    method public int getTcpAck();
8178    method public int getTcpSeq();
8179    method public int getTcpWindow();
8180    method public int getTcpWindowScale();
8181    method public void writeToParcel(@NonNull android.os.Parcel, int);
8182    field @NonNull public static final android.os.Parcelable.Creator<android.net.TcpKeepalivePacketData> CREATOR;
8183  }
8184
8185  public final class TetheredClient implements android.os.Parcelable {
8186    ctor public TetheredClient(@NonNull android.net.MacAddress, @NonNull java.util.Collection<android.net.TetheredClient.AddressInfo>, int);
8187    method public int describeContents();
8188    method @NonNull public java.util.List<android.net.TetheredClient.AddressInfo> getAddresses();
8189    method @NonNull public android.net.MacAddress getMacAddress();
8190    method public int getTetheringType();
8191    method public void writeToParcel(@NonNull android.os.Parcel, int);
8192    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient> CREATOR;
8193  }
8194
8195  public static final class TetheredClient.AddressInfo implements android.os.Parcelable {
8196    method public int describeContents();
8197    method @NonNull public android.net.LinkAddress getAddress();
8198    method @Nullable public String getHostname();
8199    method public void writeToParcel(@NonNull android.os.Parcel, int);
8200    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient.AddressInfo> CREATOR;
8201  }
8202
8203  public final class TetheringInterface implements android.os.Parcelable {
8204    ctor public TetheringInterface(int, @NonNull String);
8205    method public int describeContents();
8206    method @NonNull public String getInterface();
8207    method public int getType();
8208    method public void writeToParcel(@NonNull android.os.Parcel, int);
8209    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheringInterface> CREATOR;
8210  }
8211
8212  public class TetheringManager {
8213    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.TetheringEventCallback);
8214    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);
8215    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);
8216    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopAllTethering();
8217    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopTethering(int);
8218    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.ACCESS_NETWORK_STATE}) public void unregisterTetheringEventCallback(@NonNull android.net.TetheringManager.TetheringEventCallback);
8219    field @Deprecated public static final String ACTION_TETHER_STATE_CHANGED = "android.net.conn.TETHER_STATE_CHANGED";
8220    field public static final int CONNECTIVITY_SCOPE_GLOBAL = 1; // 0x1
8221    field public static final int CONNECTIVITY_SCOPE_LOCAL = 2; // 0x2
8222    field public static final String EXTRA_ACTIVE_LOCAL_ONLY = "android.net.extra.ACTIVE_LOCAL_ONLY";
8223    field public static final String EXTRA_ACTIVE_TETHER = "tetherArray";
8224    field public static final String EXTRA_AVAILABLE_TETHER = "availableArray";
8225    field public static final String EXTRA_ERRORED_TETHER = "erroredArray";
8226    field public static final int TETHERING_BLUETOOTH = 2; // 0x2
8227    field public static final int TETHERING_ETHERNET = 5; // 0x5
8228    field public static final int TETHERING_INVALID = -1; // 0xffffffff
8229    field public static final int TETHERING_NCM = 4; // 0x4
8230    field public static final int TETHERING_USB = 1; // 0x1
8231    field public static final int TETHERING_WIFI = 0; // 0x0
8232    field public static final int TETHERING_WIFI_P2P = 3; // 0x3
8233    field public static final int TETHER_ERROR_DHCPSERVER_ERROR = 12; // 0xc
8234    field public static final int TETHER_ERROR_DISABLE_FORWARDING_ERROR = 9; // 0x9
8235    field public static final int TETHER_ERROR_ENABLE_FORWARDING_ERROR = 8; // 0x8
8236    field public static final int TETHER_ERROR_ENTITLEMENT_UNKNOWN = 13; // 0xd
8237    field public static final int TETHER_ERROR_IFACE_CFG_ERROR = 10; // 0xa
8238    field public static final int TETHER_ERROR_INTERNAL_ERROR = 5; // 0x5
8239    field public static final int TETHER_ERROR_NO_ACCESS_TETHERING_PERMISSION = 15; // 0xf
8240    field public static final int TETHER_ERROR_NO_CHANGE_TETHERING_PERMISSION = 14; // 0xe
8241    field public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0
8242    field public static final int TETHER_ERROR_PROVISIONING_FAILED = 11; // 0xb
8243    field public static final int TETHER_ERROR_SERVICE_UNAVAIL = 2; // 0x2
8244    field public static final int TETHER_ERROR_TETHER_IFACE_ERROR = 6; // 0x6
8245    field public static final int TETHER_ERROR_UNAVAIL_IFACE = 4; // 0x4
8246    field public static final int TETHER_ERROR_UNKNOWN_IFACE = 1; // 0x1
8247    field public static final int TETHER_ERROR_UNKNOWN_TYPE = 16; // 0x10
8248    field public static final int TETHER_ERROR_UNSUPPORTED = 3; // 0x3
8249    field public static final int TETHER_ERROR_UNTETHER_IFACE_ERROR = 7; // 0x7
8250    field public static final int TETHER_HARDWARE_OFFLOAD_FAILED = 2; // 0x2
8251    field public static final int TETHER_HARDWARE_OFFLOAD_STARTED = 1; // 0x1
8252    field public static final int TETHER_HARDWARE_OFFLOAD_STOPPED = 0; // 0x0
8253  }
8254
8255  public static interface TetheringManager.OnTetheringEntitlementResultListener {
8256    method public void onTetheringEntitlementResult(int);
8257  }
8258
8259  public static interface TetheringManager.StartTetheringCallback {
8260    method public default void onTetheringFailed(int);
8261    method public default void onTetheringStarted();
8262  }
8263
8264  public static interface TetheringManager.TetheringEventCallback {
8265    method public default void onClientsChanged(@NonNull java.util.Collection<android.net.TetheredClient>);
8266    method public default void onError(@NonNull String, int);
8267    method public default void onError(@NonNull android.net.TetheringInterface, int);
8268    method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.List<java.lang.String>);
8269    method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
8270    method public default void onOffloadStatusChanged(int);
8271    method public default void onTetherableInterfacesChanged(@NonNull java.util.List<java.lang.String>);
8272    method public default void onTetherableInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
8273    method public default void onTetheredInterfacesChanged(@NonNull java.util.List<java.lang.String>);
8274    method public default void onTetheredInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
8275    method public default void onTetheringSupported(boolean);
8276    method public default void onUpstreamChanged(@Nullable android.net.Network);
8277  }
8278
8279  public static class TetheringManager.TetheringRequest {
8280    method @Nullable public android.net.LinkAddress getClientStaticIpv4Address();
8281    method public int getConnectivityScope();
8282    method @Nullable public android.net.LinkAddress getLocalIpv4Address();
8283    method public boolean getShouldShowEntitlementUi();
8284    method public int getTetheringType();
8285    method public boolean isExemptFromEntitlementCheck();
8286  }
8287
8288  public static class TetheringManager.TetheringRequest.Builder {
8289    ctor public TetheringManager.TetheringRequest.Builder(int);
8290    method @NonNull public android.net.TetheringManager.TetheringRequest build();
8291    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setConnectivityScope(int);
8292    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setExemptFromEntitlementCheck(boolean);
8293    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setShouldShowEntitlementUi(boolean);
8294    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setStaticIpv4Addresses(@NonNull android.net.LinkAddress, @NonNull android.net.LinkAddress);
8295  }
8296
8297  public class TrafficStats {
8298    method public static void setThreadStatsTagApp();
8299    method public static void setThreadStatsTagBackup();
8300    method public static void setThreadStatsTagRestore();
8301    field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_END = -113; // 0xffffff8f
8302    field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_START = -128; // 0xffffff80
8303    field public static final int TAG_NETWORK_STACK_RANGE_END = -257; // 0xfffffeff
8304    field public static final int TAG_NETWORK_STACK_RANGE_START = -768; // 0xfffffd00
8305    field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_END = -241; // 0xffffff0f
8306    field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_START = -256; // 0xffffff00
8307  }
8308
8309  public abstract class Uri implements java.lang.Comparable<android.net.Uri> android.os.Parcelable {
8310    method @NonNull public String toSafeString();
8311  }
8312
8313  public class VpnService extends android.app.Service {
8314    method @RequiresPermission(android.Manifest.permission.CONTROL_VPN) public static void prepareAndAuthorize(android.content.Context);
8315  }
8316
8317  public class WebAddress {
8318    ctor public WebAddress(String) throws android.net.ParseException;
8319  }
8320
8321  public class WifiKey implements android.os.Parcelable {
8322    ctor public WifiKey(String, String);
8323    method public int describeContents();
8324    method public void writeToParcel(android.os.Parcel, int);
8325    field @NonNull public static final android.os.Parcelable.Creator<android.net.WifiKey> CREATOR;
8326    field public final String bssid;
8327    field public final String ssid;
8328  }
8329
8330}
8331
8332package android.net.apf {
8333
8334  public final class ApfCapabilities implements android.os.Parcelable {
8335    ctor public ApfCapabilities(int, int, int);
8336    method public int describeContents();
8337    method public static boolean getApfDrop8023Frames();
8338    method @NonNull public static int[] getApfEtherTypeBlackList();
8339    method public boolean hasDataAccess();
8340    method public void writeToParcel(android.os.Parcel, int);
8341    field public static final android.os.Parcelable.Creator<android.net.apf.ApfCapabilities> CREATOR;
8342    field public final int apfPacketFormat;
8343    field public final int apfVersionSupported;
8344    field public final int maximumApfProgramSize;
8345  }
8346
8347}
8348
8349package android.net.eap {
8350
8351  public final class EapSessionConfig {
8352    method @Deprecated @Nullable public android.net.eap.EapSessionConfig.EapMsChapV2Config getEapMsChapV2onfig();
8353  }
8354
8355  @Deprecated public abstract static class EapSessionConfig.EapUiccConfig extends android.net.eap.EapSessionConfig.EapMethodConfig {
8356    method @Deprecated public int getAppType();
8357    method @Deprecated public int getSubId();
8358  }
8359
8360}
8361
8362package android.net.ipsec.ike {
8363
8364  public interface ChildSessionCallback {
8365    method @Deprecated public default void onClosedExceptionally(@NonNull android.net.ipsec.ike.exceptions.IkeException);
8366    method public default void onIpSecTransformsMigrated(@NonNull android.net.IpSecTransform, @NonNull android.net.IpSecTransform);
8367  }
8368
8369  public final class ChildSessionConfiguration {
8370    method @NonNull public java.util.List<android.net.LinkAddress> getInternalAddresses();
8371    method @NonNull public java.util.List<java.net.InetAddress> getInternalDhcpServers();
8372    method @NonNull public java.util.List<java.net.InetAddress> getInternalDnsServers();
8373    method @NonNull public java.util.List<android.net.IpPrefix> getInternalSubnets();
8374  }
8375
8376  public static final class ChildSessionConfiguration.Builder {
8377    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalAddress(@NonNull android.net.LinkAddress);
8378    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalDhcpServer(@NonNull java.net.InetAddress);
8379    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalDnsServer(@NonNull java.net.InetAddress);
8380    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalSubnet(@NonNull android.net.IpPrefix);
8381    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalAddresses();
8382    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalDhcpServers();
8383    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalDnsServers();
8384    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalSubnets();
8385  }
8386
8387  public abstract class ChildSessionParams {
8388    method @Deprecated @NonNull public java.util.List<android.net.ipsec.ike.ChildSaProposal> getSaProposals();
8389  }
8390
8391  public final class IkeSession implements java.lang.AutoCloseable {
8392    method public void setNetwork(@NonNull android.net.Network);
8393  }
8394
8395  public interface IkeSessionCallback {
8396    method @Deprecated public default void onClosedExceptionally(@NonNull android.net.ipsec.ike.exceptions.IkeException);
8397    method @Deprecated public default void onError(@NonNull android.net.ipsec.ike.exceptions.IkeProtocolException);
8398    method public default void onIkeSessionConnectionInfoChanged(@NonNull android.net.ipsec.ike.IkeSessionConnectionInfo);
8399  }
8400
8401  public final class IkeSessionConfiguration {
8402    method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers();
8403  }
8404
8405  public static final class IkeSessionConfiguration.Builder {
8406    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder addPcscfServer(@NonNull java.net.InetAddress);
8407    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder clearPcscfServers();
8408  }
8409
8410  public final class IkeSessionParams {
8411    method @NonNull public java.util.List<android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest> getConfigurationRequests();
8412    method @IntRange(from=0x0, to=0x3f) public int getDscp();
8413    method @Nullable public android.net.ipsec.ike.ike3gpp.Ike3gppExtension getIke3gppExtension();
8414    method @Deprecated @NonNull public java.util.List<android.net.ipsec.ike.IkeSaProposal> getSaProposals();
8415  }
8416
8417  public static final class IkeSessionParams.Builder {
8418    ctor @Deprecated public IkeSessionParams.Builder(@NonNull android.content.Context);
8419    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addPcscfServerRequest(@NonNull java.net.InetAddress);
8420    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addPcscfServerRequest(int);
8421    method @Deprecated @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.IkeSaProposal);
8422    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setDscp(@IntRange(from=0x0, to=0x3f) int);
8423    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setIke3gppExtension(@NonNull android.net.ipsec.ike.ike3gpp.Ike3gppExtension);
8424  }
8425
8426  public static interface IkeSessionParams.ConfigRequestIpv4PcscfServer extends android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest {
8427    method @Nullable public java.net.Inet4Address getAddress();
8428  }
8429
8430  public static interface IkeSessionParams.ConfigRequestIpv6PcscfServer extends android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest {
8431    method @Nullable public java.net.Inet6Address getAddress();
8432  }
8433
8434  public static interface IkeSessionParams.IkeConfigRequest {
8435  }
8436
8437  public static final class TransportModeChildSessionParams.Builder {
8438    method @Deprecated @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal);
8439  }
8440
8441  public static final class TunnelModeChildSessionParams.Builder {
8442    method @Deprecated @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal);
8443  }
8444
8445}
8446
8447package android.net.ipsec.ike.exceptions {
8448
8449  public abstract class IkeProtocolException extends android.net.ipsec.ike.exceptions.IkeException {
8450    method @Nullable public byte[] getErrorData();
8451  }
8452
8453}
8454
8455package android.net.ipsec.ike.ike3gpp {
8456
8457  public final class Ike3gppBackoffTimer extends android.net.ipsec.ike.ike3gpp.Ike3gppData {
8458    ctor public Ike3gppBackoffTimer(byte, int);
8459    method public int getBackoffCause();
8460    method public byte getBackoffTimer();
8461    method public int getDataType();
8462    field public static final int ERROR_TYPE_NETWORK_FAILURE = 10500; // 0x2904
8463    field public static final int ERROR_TYPE_NO_APN_SUBSCRIPTION = 9002; // 0x232a
8464  }
8465
8466  public abstract class Ike3gppData {
8467    method public abstract int getDataType();
8468    field public static final int DATA_TYPE_NOTIFY_BACKOFF_TIMER = 2; // 0x2
8469    field public static final int DATA_TYPE_NOTIFY_N1_MODE_INFORMATION = 1; // 0x1
8470  }
8471
8472  public final class Ike3gppExtension {
8473    ctor public Ike3gppExtension(@NonNull android.net.ipsec.ike.ike3gpp.Ike3gppParams, @NonNull android.net.ipsec.ike.ike3gpp.Ike3gppExtension.Ike3gppDataListener);
8474    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppExtension.Ike3gppDataListener getIke3gppDataListener();
8475    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams getIke3gppParams();
8476  }
8477
8478  public static interface Ike3gppExtension.Ike3gppDataListener {
8479    method public void onIke3gppDataReceived(@NonNull java.util.List<android.net.ipsec.ike.ike3gpp.Ike3gppData>);
8480  }
8481
8482  public final class Ike3gppN1ModeInformation extends android.net.ipsec.ike.ike3gpp.Ike3gppData {
8483    ctor public Ike3gppN1ModeInformation(@NonNull byte[]);
8484    method public int getDataType();
8485    method @NonNull public byte[] getSnssai();
8486  }
8487
8488  public final class Ike3gppParams {
8489    method public byte getPduSessionId();
8490    field public static final byte PDU_SESSION_ID_UNSET = 0; // 0x0
8491  }
8492
8493  public static final class Ike3gppParams.Builder {
8494    ctor public Ike3gppParams.Builder();
8495    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams build();
8496    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams.Builder setPduSessionId(byte);
8497  }
8498
8499}
8500
8501package android.net.metrics {
8502
8503  @Deprecated public final class ApfProgramEvent implements android.net.metrics.IpConnectivityLog.Event {
8504  }
8505
8506  @Deprecated public static final class ApfProgramEvent.Builder {
8507    ctor @Deprecated public ApfProgramEvent.Builder();
8508    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent build();
8509    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setActualLifetime(long);
8510    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setCurrentRas(int);
8511    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setFilteredRas(int);
8512    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setFlags(boolean, boolean);
8513    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setLifetime(long);
8514    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setProgramLength(int);
8515  }
8516
8517  @Deprecated public final class ApfStats implements android.net.metrics.IpConnectivityLog.Event {
8518  }
8519
8520  @Deprecated public static final class ApfStats.Builder {
8521    ctor @Deprecated public ApfStats.Builder();
8522    method @Deprecated @NonNull public android.net.metrics.ApfStats build();
8523    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setDroppedRas(int);
8524    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setDurationMs(long);
8525    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setMatchingRas(int);
8526    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setMaxProgramSize(int);
8527    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setParseErrors(int);
8528    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdates(int);
8529    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdatesAll(int);
8530    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdatesAllowingMulticast(int);
8531    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setReceivedRas(int);
8532    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setZeroLifetimeRas(int);
8533  }
8534
8535  @Deprecated public final class DhcpClientEvent implements android.net.metrics.IpConnectivityLog.Event {
8536  }
8537
8538  @Deprecated public static final class DhcpClientEvent.Builder {
8539    ctor @Deprecated public DhcpClientEvent.Builder();
8540    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent build();
8541    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent.Builder setDurationMs(int);
8542    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent.Builder setMsg(String);
8543  }
8544
8545  @Deprecated public final class DhcpErrorEvent implements android.net.metrics.IpConnectivityLog.Event {
8546    ctor @Deprecated public DhcpErrorEvent(int);
8547    method @Deprecated public static int errorCodeWithOption(int, int);
8548    field @Deprecated public static final int BOOTP_TOO_SHORT = 67174400; // 0x4010000
8549    field @Deprecated public static final int BUFFER_UNDERFLOW = 83951616; // 0x5010000
8550    field @Deprecated public static final int DHCP_BAD_MAGIC_COOKIE = 67239936; // 0x4020000
8551    field @Deprecated public static final int DHCP_ERROR = 4; // 0x4
8552    field @Deprecated public static final int DHCP_INVALID_OPTION_LENGTH = 67305472; // 0x4030000
8553    field @Deprecated public static final int DHCP_NO_COOKIE = 67502080; // 0x4060000
8554    field @Deprecated public static final int DHCP_NO_MSG_TYPE = 67371008; // 0x4040000
8555    field @Deprecated public static final int DHCP_UNKNOWN_MSG_TYPE = 67436544; // 0x4050000
8556    field @Deprecated public static final int L2_ERROR = 1; // 0x1
8557    field @Deprecated public static final int L2_TOO_SHORT = 16842752; // 0x1010000
8558    field @Deprecated public static final int L2_WRONG_ETH_TYPE = 16908288; // 0x1020000
8559    field @Deprecated public static final int L3_ERROR = 2; // 0x2
8560    field @Deprecated public static final int L3_INVALID_IP = 33751040; // 0x2030000
8561    field @Deprecated public static final int L3_NOT_IPV4 = 33685504; // 0x2020000
8562    field @Deprecated public static final int L3_TOO_SHORT = 33619968; // 0x2010000
8563    field @Deprecated public static final int L4_ERROR = 3; // 0x3
8564    field @Deprecated public static final int L4_NOT_UDP = 50397184; // 0x3010000
8565    field @Deprecated public static final int L4_WRONG_PORT = 50462720; // 0x3020000
8566    field @Deprecated public static final int MISC_ERROR = 5; // 0x5
8567    field @Deprecated public static final int PARSING_ERROR = 84082688; // 0x5030000
8568    field @Deprecated public static final int RECEIVE_ERROR = 84017152; // 0x5020000
8569  }
8570
8571  @Deprecated public class IpConnectivityLog {
8572    ctor @Deprecated public IpConnectivityLog();
8573    method @Deprecated public boolean log(long, @NonNull android.net.metrics.IpConnectivityLog.Event);
8574    method @Deprecated public boolean log(@NonNull String, @NonNull android.net.metrics.IpConnectivityLog.Event);
8575    method @Deprecated public boolean log(@NonNull android.net.Network, @NonNull int[], @NonNull android.net.metrics.IpConnectivityLog.Event);
8576    method @Deprecated public boolean log(int, @NonNull int[], @NonNull android.net.metrics.IpConnectivityLog.Event);
8577    method @Deprecated public boolean log(@NonNull android.net.metrics.IpConnectivityLog.Event);
8578  }
8579
8580  @Deprecated public static interface IpConnectivityLog.Event extends android.os.Parcelable {
8581  }
8582
8583  @Deprecated public final class IpManagerEvent implements android.net.metrics.IpConnectivityLog.Event {
8584    ctor @Deprecated public IpManagerEvent(int, long);
8585    field @Deprecated public static final int COMPLETE_LIFECYCLE = 3; // 0x3
8586    field @Deprecated public static final int ERROR_INTERFACE_NOT_FOUND = 8; // 0x8
8587    field @Deprecated public static final int ERROR_INVALID_PROVISIONING = 7; // 0x7
8588    field @Deprecated public static final int ERROR_STARTING_IPREACHABILITYMONITOR = 6; // 0x6
8589    field @Deprecated public static final int ERROR_STARTING_IPV4 = 4; // 0x4
8590    field @Deprecated public static final int ERROR_STARTING_IPV6 = 5; // 0x5
8591    field @Deprecated public static final int PROVISIONING_FAIL = 2; // 0x2
8592    field @Deprecated public static final int PROVISIONING_OK = 1; // 0x1
8593  }
8594
8595  @Deprecated public final class IpReachabilityEvent implements android.net.metrics.IpConnectivityLog.Event {
8596    ctor @Deprecated public IpReachabilityEvent(int);
8597    field @Deprecated public static final int NUD_FAILED = 512; // 0x200
8598    field @Deprecated public static final int NUD_FAILED_ORGANIC = 1024; // 0x400
8599    field @Deprecated public static final int PROBE = 256; // 0x100
8600    field @Deprecated public static final int PROVISIONING_LOST = 768; // 0x300
8601    field @Deprecated public static final int PROVISIONING_LOST_ORGANIC = 1280; // 0x500
8602  }
8603
8604  @Deprecated public final class NetworkEvent implements android.net.metrics.IpConnectivityLog.Event {
8605    ctor @Deprecated public NetworkEvent(int, long);
8606    ctor @Deprecated public NetworkEvent(int);
8607    field @Deprecated public static final int NETWORK_CAPTIVE_PORTAL_FOUND = 4; // 0x4
8608    field @Deprecated public static final int NETWORK_CONNECTED = 1; // 0x1
8609    field @Deprecated public static final int NETWORK_CONSECUTIVE_DNS_TIMEOUT_FOUND = 12; // 0xc
8610    field @Deprecated public static final int NETWORK_DISCONNECTED = 7; // 0x7
8611    field @Deprecated public static final int NETWORK_FIRST_VALIDATION_PORTAL_FOUND = 10; // 0xa
8612    field @Deprecated public static final int NETWORK_FIRST_VALIDATION_SUCCESS = 8; // 0x8
8613    field @Deprecated public static final int NETWORK_LINGER = 5; // 0x5
8614    field @Deprecated public static final int NETWORK_PARTIAL_CONNECTIVITY = 13; // 0xd
8615    field @Deprecated public static final int NETWORK_REVALIDATION_PORTAL_FOUND = 11; // 0xb
8616    field @Deprecated public static final int NETWORK_REVALIDATION_SUCCESS = 9; // 0x9
8617    field @Deprecated public static final int NETWORK_UNLINGER = 6; // 0x6
8618    field @Deprecated public static final int NETWORK_VALIDATED = 2; // 0x2
8619    field @Deprecated public static final int NETWORK_VALIDATION_FAILED = 3; // 0x3
8620  }
8621
8622  @Deprecated public final class RaEvent implements android.net.metrics.IpConnectivityLog.Event {
8623  }
8624
8625  @Deprecated public static final class RaEvent.Builder {
8626    ctor @Deprecated public RaEvent.Builder();
8627    method @Deprecated @NonNull public android.net.metrics.RaEvent build();
8628    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateDnsslLifetime(long);
8629    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updatePrefixPreferredLifetime(long);
8630    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updatePrefixValidLifetime(long);
8631    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRdnssLifetime(long);
8632    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRouteInfoLifetime(long);
8633    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRouterLifetime(long);
8634  }
8635
8636  @Deprecated public final class ValidationProbeEvent implements android.net.metrics.IpConnectivityLog.Event {
8637    method @Deprecated @NonNull public static String getProbeName(int);
8638    field @Deprecated public static final int DNS_FAILURE = 0; // 0x0
8639    field @Deprecated public static final int DNS_SUCCESS = 1; // 0x1
8640    field @Deprecated public static final int PROBE_DNS = 0; // 0x0
8641    field @Deprecated public static final int PROBE_FALLBACK = 4; // 0x4
8642    field @Deprecated public static final int PROBE_HTTP = 1; // 0x1
8643    field @Deprecated public static final int PROBE_HTTPS = 2; // 0x2
8644    field @Deprecated public static final int PROBE_PAC = 3; // 0x3
8645    field @Deprecated public static final int PROBE_PRIVDNS = 5; // 0x5
8646  }
8647
8648  @Deprecated public static final class ValidationProbeEvent.Builder {
8649    ctor @Deprecated public ValidationProbeEvent.Builder();
8650    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent build();
8651    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setDurationMs(long);
8652    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setProbeType(int, boolean);
8653    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setReturnCode(int);
8654  }
8655
8656}
8657
8658package android.net.netstats.provider {
8659
8660  public abstract class NetworkStatsProvider {
8661    ctor public NetworkStatsProvider();
8662    method public void notifyAlertReached();
8663    method public void notifyLimitReached();
8664    method public void notifyStatsUpdated(int, @NonNull android.net.NetworkStats, @NonNull android.net.NetworkStats);
8665    method public void notifyWarningReached();
8666    method public abstract void onRequestStatsUpdate(int);
8667    method public abstract void onSetAlert(long);
8668    method public abstract void onSetLimit(@NonNull String, long);
8669    method public void onSetWarningAndLimit(@NonNull String, long, long);
8670    field public static final int QUOTA_UNLIMITED = -1; // 0xffffffff
8671  }
8672
8673}
8674
8675package android.net.sip {
8676
8677  @Deprecated public class SipAudioCall {
8678    method @Deprecated @Nullable public android.net.rtp.AudioGroup getAudioGroup();
8679    method @Deprecated public void setAudioGroup(@NonNull android.net.rtp.AudioGroup);
8680  }
8681
8682  @Deprecated public class SipManager {
8683    method @Deprecated @NonNull public java.util.List<android.net.sip.SipProfile> getProfiles() throws android.net.sip.SipException;
8684    field @Deprecated public static final String ACTION_SIP_CALL_OPTION_CHANGED = "android.net.sip.action.SIP_CALL_OPTION_CHANGED";
8685    field @Deprecated public static final String ACTION_SIP_INCOMING_CALL = "android.net.sip.action.SIP_INCOMING_CALL";
8686    field @Deprecated public static final String ACTION_SIP_REMOVE_PROFILE = "android.net.sip.action.SIP_REMOVE_PROFILE";
8687    field @Deprecated public static final String ACTION_SIP_SERVICE_UP = "android.net.sip.action.SIP_SERVICE_UP";
8688    field @Deprecated public static final String ACTION_START_SIP = "android.net.sip.action.START_SIP";
8689  }
8690
8691  @Deprecated public class SipProfile implements java.lang.Cloneable android.os.Parcelable java.io.Serializable {
8692    method @Deprecated public int getCallingUid();
8693  }
8694
8695}
8696
8697package android.net.util {
8698
8699  public final class SocketUtils {
8700    method public static void bindSocketToInterface(@NonNull java.io.FileDescriptor, @NonNull String) throws android.system.ErrnoException;
8701    method public static void closeSocket(@Nullable java.io.FileDescriptor) throws java.io.IOException;
8702    method @NonNull public static java.net.SocketAddress makeNetlinkSocketAddress(int, int);
8703    method @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, int);
8704    method @Deprecated @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, @NonNull byte[]);
8705    method @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, int, @NonNull byte[]);
8706  }
8707
8708}
8709
8710package android.net.vcn {
8711
8712  public class VcnManager {
8713    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void addVcnNetworkPolicyChangeListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.vcn.VcnManager.VcnNetworkPolicyChangeListener);
8714    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.vcn.VcnNetworkPolicyResult applyVcnNetworkPolicy(@NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties);
8715    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void removeVcnNetworkPolicyChangeListener(@NonNull android.net.vcn.VcnManager.VcnNetworkPolicyChangeListener);
8716  }
8717
8718  public static interface VcnManager.VcnNetworkPolicyChangeListener {
8719    method public void onPolicyChanged();
8720  }
8721
8722  public final class VcnNetworkPolicyResult implements android.os.Parcelable {
8723    method public int describeContents();
8724    method @NonNull public android.net.NetworkCapabilities getNetworkCapabilities();
8725    method public boolean isTeardownRequested();
8726    method public void writeToParcel(@NonNull android.os.Parcel, int);
8727    field @NonNull public static final android.os.Parcelable.Creator<android.net.vcn.VcnNetworkPolicyResult> CREATOR;
8728  }
8729
8730}
8731
8732package android.net.wifi {
8733
8734  public final class CoexUnsafeChannel implements android.os.Parcelable {
8735    ctor public CoexUnsafeChannel(int, int);
8736    ctor public CoexUnsafeChannel(int, int, int);
8737    method public int getBand();
8738    method public int getChannel();
8739    method public int getPowerCapDbm();
8740    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.CoexUnsafeChannel> CREATOR;
8741    field public static final int POWER_CAP_NONE = 2147483647; // 0x7fffffff
8742  }
8743
8744  public abstract class EasyConnectStatusCallback {
8745    ctor public EasyConnectStatusCallback();
8746    method public void onBootstrapUriGenerated(@NonNull android.net.Uri);
8747    method public abstract void onConfiguratorSuccess(int);
8748    method public abstract void onEnrolleeSuccess(int);
8749    method public void onFailure(int);
8750    method public void onFailure(int, @Nullable String, @NonNull android.util.SparseArray<int[]>, @NonNull int[]);
8751    method public abstract void onProgress(int);
8752    field public static final int EASY_CONNECT_EVENT_PROGRESS_AUTHENTICATION_SUCCESS = 0; // 0x0
8753    field public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_ACCEPTED = 3; // 0x3
8754    field public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_SENT_WAITING_RESPONSE = 2; // 0x2
8755    field public static final int EASY_CONNECT_EVENT_PROGRESS_RESPONSE_PENDING = 1; // 0x1
8756    field public static final int EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_APPLIED = 1; // 0x1
8757    field public static final int EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_SENT = 0; // 0x0
8758  }
8759
8760  @Deprecated public class RttManager {
8761    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void disableResponder(android.net.wifi.RttManager.ResponderCallback);
8762    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void enableResponder(android.net.wifi.RttManager.ResponderCallback);
8763    method @Deprecated public android.net.wifi.RttManager.Capabilities getCapabilities();
8764    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.net.wifi.RttManager.RttCapabilities getRttCapabilities();
8765    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startRanging(android.net.wifi.RttManager.RttParams[], android.net.wifi.RttManager.RttListener);
8766    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopRanging(android.net.wifi.RttManager.RttListener);
8767    field @Deprecated public static final int BASE = 160256; // 0x27200
8768    field @Deprecated public static final int CMD_OP_ABORTED = 160260; // 0x27204
8769    field @Deprecated public static final int CMD_OP_DISABLE_RESPONDER = 160262; // 0x27206
8770    field @Deprecated public static final int CMD_OP_ENABLE_RESPONDER = 160261; // 0x27205
8771    field @Deprecated public static final int CMD_OP_ENALBE_RESPONDER_FAILED = 160264; // 0x27208
8772    field @Deprecated public static final int CMD_OP_ENALBE_RESPONDER_SUCCEEDED = 160263; // 0x27207
8773    field @Deprecated public static final int CMD_OP_FAILED = 160258; // 0x27202
8774    field @Deprecated public static final int CMD_OP_START_RANGING = 160256; // 0x27200
8775    field @Deprecated public static final int CMD_OP_STOP_RANGING = 160257; // 0x27201
8776    field @Deprecated public static final int CMD_OP_SUCCEEDED = 160259; // 0x27203
8777    field @Deprecated public static final String DESCRIPTION_KEY = "android.net.wifi.RttManager.Description";
8778    field @Deprecated public static final int PREAMBLE_HT = 2; // 0x2
8779    field @Deprecated public static final int PREAMBLE_LEGACY = 1; // 0x1
8780    field @Deprecated public static final int PREAMBLE_VHT = 4; // 0x4
8781    field @Deprecated public static final int REASON_INITIATOR_NOT_ALLOWED_WHEN_RESPONDER_ON = -6; // 0xfffffffa
8782    field @Deprecated public static final int REASON_INVALID_LISTENER = -3; // 0xfffffffd
8783    field @Deprecated public static final int REASON_INVALID_REQUEST = -4; // 0xfffffffc
8784    field @Deprecated public static final int REASON_NOT_AVAILABLE = -2; // 0xfffffffe
8785    field @Deprecated public static final int REASON_PERMISSION_DENIED = -5; // 0xfffffffb
8786    field @Deprecated public static final int REASON_UNSPECIFIED = -1; // 0xffffffff
8787    field @Deprecated public static final int RTT_BW_10_SUPPORT = 2; // 0x2
8788    field @Deprecated public static final int RTT_BW_160_SUPPORT = 32; // 0x20
8789    field @Deprecated public static final int RTT_BW_20_SUPPORT = 4; // 0x4
8790    field @Deprecated public static final int RTT_BW_40_SUPPORT = 8; // 0x8
8791    field @Deprecated public static final int RTT_BW_5_SUPPORT = 1; // 0x1
8792    field @Deprecated public static final int RTT_BW_80_SUPPORT = 16; // 0x10
8793    field @Deprecated public static final int RTT_CHANNEL_WIDTH_10 = 6; // 0x6
8794    field @Deprecated public static final int RTT_CHANNEL_WIDTH_160 = 3; // 0x3
8795    field @Deprecated public static final int RTT_CHANNEL_WIDTH_20 = 0; // 0x0
8796    field @Deprecated public static final int RTT_CHANNEL_WIDTH_40 = 1; // 0x1
8797    field @Deprecated public static final int RTT_CHANNEL_WIDTH_5 = 5; // 0x5
8798    field @Deprecated public static final int RTT_CHANNEL_WIDTH_80 = 2; // 0x2
8799    field @Deprecated public static final int RTT_CHANNEL_WIDTH_80P80 = 4; // 0x4
8800    field @Deprecated public static final int RTT_CHANNEL_WIDTH_UNSPECIFIED = -1; // 0xffffffff
8801    field @Deprecated public static final int RTT_PEER_NAN = 5; // 0x5
8802    field @Deprecated public static final int RTT_PEER_P2P_CLIENT = 4; // 0x4
8803    field @Deprecated public static final int RTT_PEER_P2P_GO = 3; // 0x3
8804    field @Deprecated public static final int RTT_PEER_TYPE_AP = 1; // 0x1
8805    field @Deprecated public static final int RTT_PEER_TYPE_STA = 2; // 0x2
8806    field @Deprecated public static final int RTT_PEER_TYPE_UNSPECIFIED = 0; // 0x0
8807    field @Deprecated public static final int RTT_STATUS_ABORTED = 8; // 0x8
8808    field @Deprecated public static final int RTT_STATUS_FAILURE = 1; // 0x1
8809    field @Deprecated public static final int RTT_STATUS_FAIL_AP_ON_DIFF_CHANNEL = 6; // 0x6
8810    field @Deprecated public static final int RTT_STATUS_FAIL_BUSY_TRY_LATER = 12; // 0xc
8811    field @Deprecated public static final int RTT_STATUS_FAIL_FTM_PARAM_OVERRIDE = 15; // 0xf
8812    field @Deprecated public static final int RTT_STATUS_FAIL_INVALID_TS = 9; // 0x9
8813    field @Deprecated public static final int RTT_STATUS_FAIL_NOT_SCHEDULED_YET = 4; // 0x4
8814    field @Deprecated public static final int RTT_STATUS_FAIL_NO_CAPABILITY = 7; // 0x7
8815    field @Deprecated public static final int RTT_STATUS_FAIL_NO_RSP = 2; // 0x2
8816    field @Deprecated public static final int RTT_STATUS_FAIL_PROTOCOL = 10; // 0xa
8817    field @Deprecated public static final int RTT_STATUS_FAIL_REJECTED = 3; // 0x3
8818    field @Deprecated public static final int RTT_STATUS_FAIL_SCHEDULE = 11; // 0xb
8819    field @Deprecated public static final int RTT_STATUS_FAIL_TM_TIMEOUT = 5; // 0x5
8820    field @Deprecated public static final int RTT_STATUS_INVALID_REQ = 13; // 0xd
8821    field @Deprecated public static final int RTT_STATUS_NO_WIFI = 14; // 0xe
8822    field @Deprecated public static final int RTT_STATUS_SUCCESS = 0; // 0x0
8823    field @Deprecated public static final int RTT_TYPE_11_MC = 4; // 0x4
8824    field @Deprecated public static final int RTT_TYPE_11_V = 2; // 0x2
8825    field @Deprecated public static final int RTT_TYPE_ONE_SIDED = 1; // 0x1
8826    field @Deprecated public static final int RTT_TYPE_TWO_SIDED = 2; // 0x2
8827    field @Deprecated public static final int RTT_TYPE_UNSPECIFIED = 0; // 0x0
8828  }
8829
8830  @Deprecated public class RttManager.Capabilities {
8831    ctor @Deprecated public RttManager.Capabilities();
8832    field @Deprecated public int supportedPeerType;
8833    field @Deprecated public int supportedType;
8834  }
8835
8836  @Deprecated public static class RttManager.ParcelableRttParams implements android.os.Parcelable {
8837    field @Deprecated @NonNull public android.net.wifi.RttManager.RttParams[] mParams;
8838  }
8839
8840  @Deprecated public static class RttManager.ParcelableRttResults implements android.os.Parcelable {
8841    ctor @Deprecated public RttManager.ParcelableRttResults(android.net.wifi.RttManager.RttResult[]);
8842    field @Deprecated public android.net.wifi.RttManager.RttResult[] mResults;
8843  }
8844
8845  @Deprecated public abstract static class RttManager.ResponderCallback {
8846    ctor @Deprecated public RttManager.ResponderCallback();
8847    method @Deprecated public abstract void onResponderEnableFailure(int);
8848    method @Deprecated public abstract void onResponderEnabled(android.net.wifi.RttManager.ResponderConfig);
8849  }
8850
8851  @Deprecated public static class RttManager.ResponderConfig implements android.os.Parcelable {
8852    ctor @Deprecated public RttManager.ResponderConfig();
8853    method @Deprecated public int describeContents();
8854    method @Deprecated public void writeToParcel(android.os.Parcel, int);
8855    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.RttManager.ResponderConfig> CREATOR;
8856    field @Deprecated public int centerFreq0;
8857    field @Deprecated public int centerFreq1;
8858    field @Deprecated public int channelWidth;
8859    field @Deprecated public int frequency;
8860    field @Deprecated public String macAddress;
8861    field @Deprecated public int preamble;
8862  }
8863
8864  @Deprecated public static class RttManager.RttCapabilities implements android.os.Parcelable {
8865    ctor @Deprecated public RttManager.RttCapabilities();
8866    field @Deprecated public int bwSupported;
8867    field @Deprecated public boolean lciSupported;
8868    field @Deprecated public boolean lcrSupported;
8869    field @Deprecated public int mcVersion;
8870    field @Deprecated public boolean oneSidedRttSupported;
8871    field @Deprecated public int preambleSupported;
8872    field @Deprecated public boolean responderSupported;
8873    field @Deprecated public boolean secureRttSupported;
8874    field @Deprecated public boolean supportedPeerType;
8875    field @Deprecated public boolean supportedType;
8876    field @Deprecated public boolean twoSided11McRttSupported;
8877  }
8878
8879  @Deprecated public static interface RttManager.RttListener {
8880    method @Deprecated public void onAborted();
8881    method @Deprecated public void onFailure(int, String);
8882    method @Deprecated public void onSuccess(android.net.wifi.RttManager.RttResult[]);
8883  }
8884
8885  @Deprecated public static class RttManager.RttParams {
8886    ctor @Deprecated public RttManager.RttParams();
8887    field @Deprecated public boolean LCIRequest;
8888    field @Deprecated public boolean LCRRequest;
8889    field @Deprecated public int bandwidth;
8890    field @Deprecated public String bssid;
8891    field @Deprecated public int burstTimeout;
8892    field @Deprecated public int centerFreq0;
8893    field @Deprecated public int centerFreq1;
8894    field @Deprecated public int channelWidth;
8895    field @Deprecated public int deviceType;
8896    field @Deprecated public int frequency;
8897    field @Deprecated public int interval;
8898    field @Deprecated public int numRetriesPerFTMR;
8899    field @Deprecated public int numRetriesPerMeasurementFrame;
8900    field @Deprecated public int numSamplesPerBurst;
8901    field @Deprecated public int num_retries;
8902    field @Deprecated public int num_samples;
8903    field @Deprecated public int numberBurst;
8904    field @Deprecated public int preamble;
8905    field @Deprecated public int requestType;
8906    field @Deprecated public boolean secure;
8907  }
8908
8909  @Deprecated public static class RttManager.RttResult {
8910    ctor @Deprecated public RttManager.RttResult();
8911    field @Deprecated public android.net.wifi.RttManager.WifiInformationElement LCI;
8912    field @Deprecated public android.net.wifi.RttManager.WifiInformationElement LCR;
8913    field @Deprecated public String bssid;
8914    field @Deprecated public int burstDuration;
8915    field @Deprecated public int burstNumber;
8916    field @Deprecated public int distance;
8917    field @Deprecated public int distanceSpread;
8918    field @Deprecated public int distanceStandardDeviation;
8919    field @Deprecated public int distance_cm;
8920    field @Deprecated public int distance_sd_cm;
8921    field @Deprecated public int distance_spread_cm;
8922    field @Deprecated public int frameNumberPerBurstPeer;
8923    field @Deprecated public int measurementFrameNumber;
8924    field @Deprecated public int measurementType;
8925    field @Deprecated public int negotiatedBurstNum;
8926    field @Deprecated public int requestType;
8927    field @Deprecated public int retryAfterDuration;
8928    field @Deprecated public int rssi;
8929    field @Deprecated public int rssiSpread;
8930    field @Deprecated public int rssi_spread;
8931    field @Deprecated public long rtt;
8932    field @Deprecated public long rttSpread;
8933    field @Deprecated public long rttStandardDeviation;
8934    field @Deprecated public long rtt_ns;
8935    field @Deprecated public long rtt_sd_ns;
8936    field @Deprecated public long rtt_spread_ns;
8937    field @Deprecated public int rxRate;
8938    field @Deprecated public boolean secure;
8939    field @Deprecated public int status;
8940    field @Deprecated public int successMeasurementFrameNumber;
8941    field @Deprecated public long ts;
8942    field @Deprecated public int txRate;
8943    field @Deprecated public int tx_rate;
8944  }
8945
8946  @Deprecated public static class RttManager.WifiInformationElement {
8947    ctor @Deprecated public RttManager.WifiInformationElement();
8948    field @Deprecated public byte[] data;
8949    field @Deprecated public byte id;
8950  }
8951
8952  public final class ScanResult implements android.os.Parcelable {
8953    field public static final int CIPHER_BIP_CMAC_256 = 9; // 0x9
8954    field public static final int CIPHER_BIP_GMAC_128 = 7; // 0x7
8955    field public static final int CIPHER_BIP_GMAC_256 = 8; // 0x8
8956    field public static final int CIPHER_CCMP = 3; // 0x3
8957    field public static final int CIPHER_GCMP_128 = 6; // 0x6
8958    field public static final int CIPHER_GCMP_256 = 4; // 0x4
8959    field public static final int CIPHER_NONE = 0; // 0x0
8960    field public static final int CIPHER_NO_GROUP_ADDRESSED = 1; // 0x1
8961    field public static final int CIPHER_SMS4 = 5; // 0x5
8962    field public static final int CIPHER_TKIP = 2; // 0x2
8963    field public static final int KEY_MGMT_EAP = 2; // 0x2
8964    field public static final int KEY_MGMT_EAP_SHA256 = 6; // 0x6
8965    field public static final int KEY_MGMT_EAP_SUITE_B_192 = 10; // 0xa
8966    field public static final int KEY_MGMT_FT_EAP = 4; // 0x4
8967    field public static final int KEY_MGMT_FT_PSK = 3; // 0x3
8968    field public static final int KEY_MGMT_FT_SAE = 11; // 0xb
8969    field public static final int KEY_MGMT_NONE = 0; // 0x0
8970    field public static final int KEY_MGMT_OSEN = 7; // 0x7
8971    field public static final int KEY_MGMT_OWE = 9; // 0x9
8972    field public static final int KEY_MGMT_OWE_TRANSITION = 12; // 0xc
8973    field public static final int KEY_MGMT_PSK = 1; // 0x1
8974    field public static final int KEY_MGMT_PSK_SHA256 = 5; // 0x5
8975    field public static final int KEY_MGMT_SAE = 8; // 0x8
8976    field public static final int KEY_MGMT_WAPI_CERT = 14; // 0xe
8977    field public static final int KEY_MGMT_WAPI_PSK = 13; // 0xd
8978    field public static final int PROTOCOL_NONE = 0; // 0x0
8979    field public static final int PROTOCOL_OSEN = 3; // 0x3
8980    field public static final int PROTOCOL_RSN = 2; // 0x2
8981    field public static final int PROTOCOL_WAPI = 4; // 0x4
8982    field public static final int PROTOCOL_WPA = 1; // 0x1
8983  }
8984
8985  public final class SoftApCapability implements android.os.Parcelable {
8986    method public boolean areFeaturesSupported(long);
8987    method public int describeContents();
8988    method public int getMaxSupportedClients();
8989    method @NonNull public int[] getSupportedChannelList(int);
8990    method public void writeToParcel(@NonNull android.os.Parcel, int);
8991    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApCapability> CREATOR;
8992    field public static final long SOFTAP_FEATURE_ACS_OFFLOAD = 1L; // 0x1L
8993    field public static final long SOFTAP_FEATURE_BAND_24G_SUPPORTED = 32L; // 0x20L
8994    field public static final long SOFTAP_FEATURE_BAND_5G_SUPPORTED = 64L; // 0x40L
8995    field public static final long SOFTAP_FEATURE_BAND_60G_SUPPORTED = 256L; // 0x100L
8996    field public static final long SOFTAP_FEATURE_BAND_6G_SUPPORTED = 128L; // 0x80L
8997    field public static final long SOFTAP_FEATURE_CLIENT_FORCE_DISCONNECT = 2L; // 0x2L
8998    field public static final long SOFTAP_FEATURE_IEEE80211_AX = 16L; // 0x10L
8999    field public static final long SOFTAP_FEATURE_MAC_ADDRESS_CUSTOMIZATION = 8L; // 0x8L
9000    field public static final long SOFTAP_FEATURE_WPA3_SAE = 4L; // 0x4L
9001  }
9002
9003  public final class SoftApConfiguration implements android.os.Parcelable {
9004    method @NonNull public java.util.List<android.net.MacAddress> getAllowedClientList();
9005    method @Deprecated public int getBand();
9006    method @NonNull public java.util.List<android.net.MacAddress> getBlockedClientList();
9007    method @Deprecated public int getChannel();
9008    method @NonNull public android.util.SparseIntArray getChannels();
9009    method public int getMacRandomizationSetting();
9010    method public int getMaxNumberOfClients();
9011    method public long getShutdownTimeoutMillis();
9012    method public boolean isAutoShutdownEnabled();
9013    method public boolean isBridgedModeOpportunisticShutdownEnabled();
9014    method public boolean isClientControlByUserEnabled();
9015    method public boolean isIeee80211axEnabled();
9016    method public boolean isUserConfiguration();
9017    method @Nullable public android.net.wifi.WifiConfiguration toWifiConfiguration();
9018    field public static final int BAND_2GHZ = 1; // 0x1
9019    field public static final int BAND_5GHZ = 2; // 0x2
9020    field public static final int BAND_60GHZ = 8; // 0x8
9021    field public static final int BAND_6GHZ = 4; // 0x4
9022    field @Deprecated public static final int BAND_ANY = 7; // 0x7
9023    field public static final int RANDOMIZATION_NONE = 0; // 0x0
9024    field public static final int RANDOMIZATION_PERSISTENT = 1; // 0x1
9025  }
9026
9027  public static final class SoftApConfiguration.Builder {
9028    ctor public SoftApConfiguration.Builder();
9029    ctor public SoftApConfiguration.Builder(@NonNull android.net.wifi.SoftApConfiguration);
9030    method @NonNull public android.net.wifi.SoftApConfiguration build();
9031    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAllowedClientList(@NonNull java.util.List<android.net.MacAddress>);
9032    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAutoShutdownEnabled(boolean);
9033    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBand(int);
9034    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBands(@NonNull int[]);
9035    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBlockedClientList(@NonNull java.util.List<android.net.MacAddress>);
9036    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBridgedModeOpportunisticShutdownEnabled(boolean);
9037    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBssid(@Nullable android.net.MacAddress);
9038    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setChannel(int, int);
9039    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setChannels(@NonNull android.util.SparseIntArray);
9040    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setClientControlByUserEnabled(boolean);
9041    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setHiddenSsid(boolean);
9042    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setIeee80211axEnabled(boolean);
9043    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMacRandomizationSetting(int);
9044    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMaxNumberOfClients(@IntRange(from=0) int);
9045    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setPassphrase(@Nullable String, int);
9046    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setShutdownTimeoutMillis(@IntRange(from=0) long);
9047    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setSsid(@Nullable String);
9048  }
9049
9050  public final class SoftApInfo implements android.os.Parcelable {
9051    method public int describeContents();
9052    method public long getAutoShutdownTimeoutMillis();
9053    method public int getBandwidth();
9054    method @Nullable public android.net.MacAddress getBssid();
9055    method public int getFrequency();
9056    method public int getWifiStandard();
9057    method public void writeToParcel(@NonNull android.os.Parcel, int);
9058    field public static final int CHANNEL_WIDTH_160MHZ = 6; // 0x6
9059    field public static final int CHANNEL_WIDTH_20MHZ = 2; // 0x2
9060    field public static final int CHANNEL_WIDTH_20MHZ_NOHT = 1; // 0x1
9061    field public static final int CHANNEL_WIDTH_2160MHZ = 7; // 0x7
9062    field public static final int CHANNEL_WIDTH_40MHZ = 3; // 0x3
9063    field public static final int CHANNEL_WIDTH_4320MHZ = 8; // 0x8
9064    field public static final int CHANNEL_WIDTH_6480MHZ = 9; // 0x9
9065    field public static final int CHANNEL_WIDTH_80MHZ = 4; // 0x4
9066    field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 5; // 0x5
9067    field public static final int CHANNEL_WIDTH_8640MHZ = 10; // 0xa
9068    field public static final int CHANNEL_WIDTH_INVALID = 0; // 0x0
9069    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApInfo> CREATOR;
9070  }
9071
9072  public final class WifiAvailableChannel implements android.os.Parcelable {
9073    ctor public WifiAvailableChannel(int, int);
9074    method public int describeContents();
9075    method public int getFrequencyMhz();
9076    method public int getOperationalModes();
9077    method public void writeToParcel(@NonNull android.os.Parcel, int);
9078    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiAvailableChannel> CREATOR;
9079    field public static final int OP_MODE_SAP = 2; // 0x2
9080    field public static final int OP_MODE_STA = 1; // 0x1
9081    field public static final int OP_MODE_TDLS = 32; // 0x20
9082    field public static final int OP_MODE_WIFI_AWARE = 16; // 0x10
9083    field public static final int OP_MODE_WIFI_DIRECT_CLI = 4; // 0x4
9084    field public static final int OP_MODE_WIFI_DIRECT_GO = 8; // 0x8
9085  }
9086
9087  public final class WifiClient implements android.os.Parcelable {
9088    method public int describeContents();
9089    method @NonNull public android.net.MacAddress getMacAddress();
9090    method public void writeToParcel(@NonNull android.os.Parcel, int);
9091    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiClient> CREATOR;
9092  }
9093
9094  @Deprecated public class WifiConfiguration implements android.os.Parcelable {
9095    method @Deprecated public int getAuthType();
9096    method @Deprecated public int getDeletionPriority();
9097    method @Deprecated @NonNull public android.net.IpConfiguration getIpConfiguration();
9098    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus getNetworkSelectionStatus();
9099    method @Deprecated @NonNull public String getPrintableSsid();
9100    method @Deprecated @NonNull public String getProfileKey();
9101    method @Deprecated public int getRecentFailureReason();
9102    method @Deprecated public boolean hasNoInternetAccess();
9103    method @Deprecated public boolean isEphemeral();
9104    method @Deprecated public static boolean isMetered(@Nullable android.net.wifi.WifiConfiguration, @Nullable android.net.wifi.WifiInfo);
9105    method @Deprecated public boolean isNoInternetAccessExpected();
9106    method @Deprecated public void setDeletionPriority(int) throws java.lang.IllegalArgumentException;
9107    method @Deprecated public void setIpConfiguration(@Nullable android.net.IpConfiguration);
9108    method @Deprecated public void setNetworkSelectionStatus(@NonNull android.net.wifi.WifiConfiguration.NetworkSelectionStatus);
9109    field @Deprecated public static final int INVALID_NETWORK_ID = -1; // 0xffffffff
9110    field @Deprecated public static final int METERED_OVERRIDE_METERED = 1; // 0x1
9111    field @Deprecated public static final int METERED_OVERRIDE_NONE = 0; // 0x0
9112    field @Deprecated public static final int METERED_OVERRIDE_NOT_METERED = 2; // 0x2
9113    field @Deprecated public static final int RANDOMIZATION_AUTO = 3; // 0x3
9114    field @Deprecated public static final int RANDOMIZATION_NONE = 0; // 0x0
9115    field @Deprecated public static final int RANDOMIZATION_NON_PERSISTENT = 2; // 0x2
9116    field @Deprecated public static final int RANDOMIZATION_PERSISTENT = 1; // 0x1
9117    field @Deprecated public static final int RECENT_FAILURE_AP_UNABLE_TO_HANDLE_NEW_STA = 17; // 0x11
9118    field @Deprecated public static final int RECENT_FAILURE_DISCONNECTION_AP_BUSY = 1004; // 0x3ec
9119    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_AIR_INTERFACE_OVERLOADED = 1007; // 0x3ef
9120    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_AUTH_SERVER_OVERLOADED = 1008; // 0x3f0
9121    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_INSUFFICIENT_RSSI = 1009; // 0x3f1
9122    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_MAX_NUM_STA_ASSOCIATED = 1006; // 0x3ee
9123    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_UNSPECIFIED = 1005; // 0x3ed
9124    field @Deprecated public static final int RECENT_FAILURE_NETWORK_NOT_FOUND = 1011; // 0x3f3
9125    field @Deprecated public static final int RECENT_FAILURE_NONE = 0; // 0x0
9126    field @Deprecated public static final int RECENT_FAILURE_OCE_RSSI_BASED_ASSOCIATION_REJECTION = 1010; // 0x3f2
9127    field @Deprecated public static final int RECENT_FAILURE_POOR_CHANNEL_CONDITIONS = 1003; // 0x3eb
9128    field @Deprecated public static final int RECENT_FAILURE_REFUSED_TEMPORARILY = 1002; // 0x3ea
9129    field @Deprecated public boolean allowAutojoin;
9130    field @Deprecated public int carrierId;
9131    field @Deprecated public boolean carrierMerged;
9132    field @Deprecated public String creatorName;
9133    field @Deprecated public int creatorUid;
9134    field @Deprecated public boolean fromWifiNetworkSpecifier;
9135    field @Deprecated public boolean fromWifiNetworkSuggestion;
9136    field @Deprecated public int lastConnectUid;
9137    field @Deprecated public String lastUpdateName;
9138    field @Deprecated public int lastUpdateUid;
9139    field @Deprecated public int macRandomizationSetting;
9140    field @Deprecated public boolean meteredHint;
9141    field @Deprecated public int meteredOverride;
9142    field @Deprecated public int numAssociation;
9143    field @Deprecated public int numScorerOverride;
9144    field @Deprecated public int numScorerOverrideAndSwitchedNetwork;
9145    field @Deprecated public boolean requirePmf;
9146    field @Deprecated public boolean shared;
9147    field @Deprecated public int subscriptionId;
9148    field @Deprecated public boolean useExternalScores;
9149  }
9150
9151  @Deprecated public static class WifiConfiguration.KeyMgmt {
9152    field @Deprecated public static final int WAPI_CERT = 14; // 0xe
9153    field @Deprecated public static final int WAPI_PSK = 13; // 0xd
9154    field @Deprecated public static final int WPA2_PSK = 4; // 0x4
9155  }
9156
9157  @Deprecated public static class WifiConfiguration.NetworkSelectionStatus {
9158    method @Deprecated public int getDisableReasonCounter(int);
9159    method @Deprecated public long getDisableTime();
9160    method @Deprecated public static int getMaxNetworkSelectionDisableReason();
9161    method @Deprecated public int getNetworkSelectionDisableReason();
9162    method @Deprecated @Nullable public static String getNetworkSelectionDisableReasonString(int);
9163    method @Deprecated public int getNetworkSelectionStatus();
9164    method @Deprecated @NonNull public String getNetworkStatusString();
9165    method @Deprecated public boolean hasEverConnected();
9166    field @Deprecated public static final int DISABLED_ASSOCIATION_REJECTION = 1; // 0x1
9167    field @Deprecated public static final int DISABLED_AUTHENTICATION_FAILURE = 2; // 0x2
9168    field @Deprecated public static final int DISABLED_AUTHENTICATION_NO_CREDENTIALS = 5; // 0x5
9169    field @Deprecated public static final int DISABLED_AUTHENTICATION_NO_SUBSCRIPTION = 9; // 0x9
9170    field @Deprecated public static final int DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR = 10; // 0xa
9171    field @Deprecated public static final int DISABLED_BY_WIFI_MANAGER = 7; // 0x7
9172    field @Deprecated public static final int DISABLED_BY_WRONG_PASSWORD = 8; // 0x8
9173    field @Deprecated public static final int DISABLED_CONSECUTIVE_FAILURES = 12; // 0xc
9174    field @Deprecated public static final int DISABLED_DHCP_FAILURE = 3; // 0x3
9175    field @Deprecated public static final int DISABLED_NETWORK_NOT_FOUND = 11; // 0xb
9176    field @Deprecated public static final int DISABLED_NONE = 0; // 0x0
9177    field @Deprecated public static final int DISABLED_NO_INTERNET_PERMANENT = 6; // 0x6
9178    field @Deprecated public static final int DISABLED_NO_INTERNET_TEMPORARY = 4; // 0x4
9179    field @Deprecated public static final int NETWORK_SELECTION_ENABLED = 0; // 0x0
9180    field @Deprecated public static final int NETWORK_SELECTION_PERMANENTLY_DISABLED = 2; // 0x2
9181    field @Deprecated public static final int NETWORK_SELECTION_TEMPORARY_DISABLED = 1; // 0x1
9182  }
9183
9184  @Deprecated public static final class WifiConfiguration.NetworkSelectionStatus.Builder {
9185    ctor @Deprecated public WifiConfiguration.NetworkSelectionStatus.Builder();
9186    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus build();
9187    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus.Builder setNetworkSelectionDisableReason(int);
9188    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus.Builder setNetworkSelectionStatus(int);
9189  }
9190
9191  public final class WifiConnectedSessionInfo implements android.os.Parcelable {
9192    method public int describeContents();
9193    method public int getSessionId();
9194    method public boolean isUserSelected();
9195    method public void writeToParcel(@NonNull android.os.Parcel, int);
9196    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiConnectedSessionInfo> CREATOR;
9197  }
9198
9199  public static final class WifiConnectedSessionInfo.Builder {
9200    ctor public WifiConnectedSessionInfo.Builder(int);
9201    method @NonNull public android.net.wifi.WifiConnectedSessionInfo build();
9202    method @NonNull public android.net.wifi.WifiConnectedSessionInfo.Builder setUserSelected(boolean);
9203  }
9204
9205  public class WifiEnterpriseConfig implements android.os.Parcelable {
9206    method @Nullable public String[] getCaCertificateAliases();
9207    method @NonNull public String getCaPath();
9208    method @NonNull public String getClientCertificateAlias();
9209    method public int getOcsp();
9210    method @NonNull public String getWapiCertSuite();
9211    method public void setCaCertificateAliases(@Nullable String[]);
9212    method public void setCaPath(@NonNull String);
9213    method public void setClientCertificateAlias(@NonNull String);
9214    method public void setOcsp(int);
9215    method public void setWapiCertSuite(@NonNull String);
9216    field public static final int OCSP_NONE = 0; // 0x0
9217    field public static final int OCSP_REQUEST_CERT_STATUS = 1; // 0x1
9218    field public static final int OCSP_REQUIRE_ALL_NON_TRUSTED_CERTS_STATUS = 3; // 0x3
9219    field public static final int OCSP_REQUIRE_CERT_STATUS = 2; // 0x2
9220  }
9221
9222  public class WifiFrameworkInitializer {
9223    method public static void registerServiceWrappers();
9224  }
9225
9226  public class WifiInfo implements android.os.Parcelable android.net.TransportInfo {
9227    method public double getLostTxPacketsPerSecond();
9228    method @Nullable public String getRequestingPackageName();
9229    method public double getRetriedTxPacketsPerSecond();
9230    method public int getScore();
9231    method public double getSuccessfulRxPacketsPerSecond();
9232    method public double getSuccessfulTxPacketsPerSecond();
9233    method public boolean isCarrierMerged();
9234    method public boolean isEphemeral();
9235    method public boolean isOemPaid();
9236    method public boolean isOemPrivate();
9237    method public boolean isOsuAp();
9238    method public boolean isPasspointAp();
9239    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public boolean isPrimary();
9240    method public boolean isTrusted();
9241    method @Nullable public static String sanitizeSsid(@Nullable String);
9242    field public static final String DEFAULT_MAC_ADDRESS = "02:00:00:00:00:00";
9243    field public static final int INVALID_RSSI = -127; // 0xffffff81
9244  }
9245
9246  public class WifiManager {
9247    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void addOnWifiUsabilityStatsListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener);
9248    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void addWifiVerboseLoggingStatusChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiVerboseLoggingStatusChangedListener);
9249    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoin(int, boolean);
9250    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoinGlobal(boolean);
9251    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoinPasspoint(@NonNull String, boolean);
9252    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void clearOverrideCountryCode();
9253    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void clearWifiConnectedNetworkScorer();
9254    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);
9255    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);
9256    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);
9257    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK}) public void disableEphemeralNetwork(@NonNull String);
9258    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void factoryReset();
9259    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);
9260    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>);
9261    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<android.net.wifi.WifiAvailableChannel> getAllowedChannels(int, int);
9262    method @Nullable @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String getCountryCode();
9263    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.Network getCurrentNetwork();
9264    method public static int getEasyConnectMaxAllowedResponderDeviceInfoLength();
9265    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String[] getFactoryMacAddresses();
9266    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>);
9267    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>);
9268    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>);
9269    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.READ_WIFI_CREDENTIAL}) public java.util.List<android.net.wifi.WifiConfiguration> getPrivilegedConfiguredNetworks();
9270    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public android.net.wifi.SoftApConfiguration getSoftApConfiguration();
9271    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<android.net.wifi.WifiAvailableChannel> getUsableChannels(int, int);
9272    method public int getVerboseLoggingLevel();
9273    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void getWifiActivityEnergyInfoAsync(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.OnWifiActivityEnergyInfoListener);
9274    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public android.net.wifi.WifiConfiguration getWifiApConfiguration();
9275    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public int getWifiApState();
9276    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>);
9277    method public boolean isApMacRandomizationSupported();
9278    method public boolean isConnectedMacRandomizationSupported();
9279    method @Deprecated public boolean isDeviceToDeviceRttSupported();
9280    method public boolean isPortableHotspotSupported();
9281    method public boolean isStaConcurrencyForRestrictedConnectionsSupported();
9282    method public boolean isVerboseLoggingEnabled();
9283    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isWifiApEnabled();
9284    method public boolean isWifiScannerSupported();
9285    method @RequiresPermission(android.Manifest.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS) public void registerCoexCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.CoexCallback);
9286    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void registerNetworkRequestMatchCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.NetworkRequestMatchCallback);
9287    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);
9288    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void registerTrafficStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.TrafficStateCallback);
9289    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void removeAppState(int, @NonNull String);
9290    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void removeOnWifiUsabilityStatsListener(@NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener);
9291    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeWifiVerboseLoggingStatusChangedListener(@NonNull android.net.wifi.WifiManager.WifiVerboseLoggingStatusChangedListener);
9292    method @RequiresPermission(android.Manifest.permission.RESTART_WIFI_SUBSYSTEM) public void restartWifiSubsystem();
9293    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void restoreBackupData(@NonNull byte[]);
9294    method @Nullable @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public android.net.wifi.SoftApConfiguration restoreSoftApBackupData(@NonNull byte[]);
9295    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void restoreSupplicantBackupData(@NonNull byte[], @NonNull byte[]);
9296    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public byte[] retrieveBackupData();
9297    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public byte[] retrieveSoftApBackupData();
9298    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);
9299    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setAutoWakeupEnabled(boolean);
9300    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setCarrierNetworkOffloadEnabled(int, boolean, boolean);
9301    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS) public void setCoexUnsafeChannels(@NonNull java.util.List<android.net.wifi.CoexUnsafeChannel>, int);
9302    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void setDefaultCountryCode(@NonNull String);
9303    method @RequiresPermission(android.Manifest.permission.WIFI_SET_DEVICE_MOBILITY_STATE) public void setDeviceMobilityState(int);
9304    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setMacRandomizationSettingPasspointEnabled(@NonNull String, boolean);
9305    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void setOverrideCountryCode(@NonNull String);
9306    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setPasspointMeteredOverride(@NonNull String, int);
9307    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setScanAlwaysAvailable(boolean);
9308    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setScanThrottleEnabled(boolean);
9309    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public boolean setSoftApConfiguration(@NonNull android.net.wifi.SoftApConfiguration);
9310    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setVerboseLoggingEnabled(boolean);
9311    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setVerboseLoggingLevel(int);
9312    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public boolean setWifiApConfiguration(android.net.wifi.WifiConfiguration);
9313    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public boolean setWifiConnectedNetworkScorer(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiConnectedNetworkScorer);
9314    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public boolean setWifiScoringEnabled(boolean);
9315    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);
9316    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);
9317    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);
9318    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startLocalOnlyHotspot(@NonNull android.net.wifi.SoftApConfiguration, @Nullable java.util.concurrent.Executor, @Nullable android.net.wifi.WifiManager.LocalOnlyHotspotCallback);
9319    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startRestrictingAutoJoinToSubscriptionId(int);
9320    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public boolean startScan(android.os.WorkSource);
9321    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);
9322    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean startTetheredHotspot(@Nullable android.net.wifi.SoftApConfiguration);
9323    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void stopEasyConnectSession();
9324    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void stopRestrictingAutoJoinToSubscriptionId();
9325    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean stopSoftAp();
9326    method @RequiresPermission(android.Manifest.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS) public void unregisterCoexCallback(@NonNull android.net.wifi.WifiManager.CoexCallback);
9327    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterNetworkRequestMatchCallback(@NonNull android.net.wifi.WifiManager.NetworkRequestMatchCallback);
9328    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);
9329    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterTrafficStateCallback(@NonNull android.net.wifi.WifiManager.TrafficStateCallback);
9330    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void updateInterfaceIpState(@Nullable String, int);
9331    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void updateWifiUsabilityScore(int, int, int);
9332    field public static final String ACTION_LINK_CONFIGURATION_CHANGED = "android.net.wifi.LINK_CONFIGURATION_CHANGED";
9333    field @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public static final String ACTION_NETWORK_SETTINGS_RESET = "android.net.wifi.action.NETWORK_SETTINGS_RESET";
9334    field public static final String ACTION_PASSPOINT_LAUNCH_OSU_VIEW = "android.net.wifi.action.PASSPOINT_LAUNCH_OSU_VIEW";
9335    field @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public static final String ACTION_REFRESH_USER_PROVISIONING = "android.net.wifi.action.REFRESH_USER_PROVISIONING";
9336    field public static final String ACTION_REQUEST_DISABLE = "android.net.wifi.action.REQUEST_DISABLE";
9337    field public static final String ACTION_REQUEST_ENABLE = "android.net.wifi.action.REQUEST_ENABLE";
9338    field public static final int CHANGE_REASON_ADDED = 0; // 0x0
9339    field public static final int CHANGE_REASON_CONFIG_CHANGE = 2; // 0x2
9340    field public static final int CHANGE_REASON_REMOVED = 1; // 0x1
9341    field public static final int COEX_RESTRICTION_SOFTAP = 2; // 0x2
9342    field public static final int COEX_RESTRICTION_WIFI_AWARE = 4; // 0x4
9343    field public static final int COEX_RESTRICTION_WIFI_DIRECT = 1; // 0x1
9344    field public static final String CONFIGURED_NETWORKS_CHANGED_ACTION = "android.net.wifi.CONFIGURED_NETWORKS_CHANGE";
9345    field public static final int DEVICE_MOBILITY_STATE_HIGH_MVMT = 1; // 0x1
9346    field public static final int DEVICE_MOBILITY_STATE_LOW_MVMT = 2; // 0x2
9347    field public static final int DEVICE_MOBILITY_STATE_STATIONARY = 3; // 0x3
9348    field public static final int DEVICE_MOBILITY_STATE_UNKNOWN = 0; // 0x0
9349    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP256R1 = 3; // 0x3
9350    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP384R1 = 4; // 0x4
9351    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP512R1 = 5; // 0x5
9352    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_PRIME256V1 = 0; // 0x0
9353    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_SECP384R1 = 1; // 0x1
9354    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_SECP521R1 = 2; // 0x2
9355    field public static final int EASY_CONNECT_NETWORK_ROLE_AP = 1; // 0x1
9356    field public static final int EASY_CONNECT_NETWORK_ROLE_STA = 0; // 0x0
9357    field public static final String EXTRA_CHANGE_REASON = "changeReason";
9358    field @Deprecated public static final String EXTRA_LINK_PROPERTIES = "android.net.wifi.extra.LINK_PROPERTIES";
9359    field @Deprecated public static final String EXTRA_MULTIPLE_NETWORKS_CHANGED = "multipleChanges";
9360    field public static final String EXTRA_OSU_NETWORK = "android.net.wifi.extra.OSU_NETWORK";
9361    field public static final String EXTRA_PREVIOUS_WIFI_AP_STATE = "previous_wifi_state";
9362    field public static final String EXTRA_URL = "android.net.wifi.extra.URL";
9363    field public static final String EXTRA_WIFI_AP_FAILURE_REASON = "android.net.wifi.extra.WIFI_AP_FAILURE_REASON";
9364    field public static final String EXTRA_WIFI_AP_INTERFACE_NAME = "android.net.wifi.extra.WIFI_AP_INTERFACE_NAME";
9365    field public static final String EXTRA_WIFI_AP_MODE = "android.net.wifi.extra.WIFI_AP_MODE";
9366    field public static final String EXTRA_WIFI_AP_STATE = "wifi_state";
9367    field @Deprecated public static final String EXTRA_WIFI_CONFIGURATION = "wifiConfiguration";
9368    field public static final String EXTRA_WIFI_CREDENTIAL_EVENT_TYPE = "et";
9369    field public static final String EXTRA_WIFI_CREDENTIAL_SSID = "ssid";
9370    field public static final int IFACE_IP_MODE_CONFIGURATION_ERROR = 0; // 0x0
9371    field public static final int IFACE_IP_MODE_LOCAL_ONLY = 2; // 0x2
9372    field public static final int IFACE_IP_MODE_TETHERED = 1; // 0x1
9373    field public static final int IFACE_IP_MODE_UNSPECIFIED = -1; // 0xffffffff
9374    field public static final int PASSPOINT_HOME_NETWORK = 0; // 0x0
9375    field public static final int PASSPOINT_ROAMING_NETWORK = 1; // 0x1
9376    field public static final int SAP_CLIENT_BLOCK_REASON_CODE_BLOCKED_BY_USER = 0; // 0x0
9377    field public static final int SAP_CLIENT_BLOCK_REASON_CODE_NO_MORE_STAS = 1; // 0x1
9378    field public static final int SAP_START_FAILURE_GENERAL = 0; // 0x0
9379    field public static final int SAP_START_FAILURE_NO_CHANNEL = 1; // 0x1
9380    field public static final int SAP_START_FAILURE_UNSUPPORTED_CONFIGURATION = 2; // 0x2
9381    field public static final int VERBOSE_LOGGING_LEVEL_DISABLED = 0; // 0x0
9382    field public static final int VERBOSE_LOGGING_LEVEL_ENABLED = 1; // 0x1
9383    field public static final int VERBOSE_LOGGING_LEVEL_ENABLED_SHOW_KEY = 2; // 0x2
9384    field public static final String WIFI_AP_STATE_CHANGED_ACTION = "android.net.wifi.WIFI_AP_STATE_CHANGED";
9385    field public static final int WIFI_AP_STATE_DISABLED = 11; // 0xb
9386    field public static final int WIFI_AP_STATE_DISABLING = 10; // 0xa
9387    field public static final int WIFI_AP_STATE_ENABLED = 13; // 0xd
9388    field public static final int WIFI_AP_STATE_ENABLING = 12; // 0xc
9389    field public static final int WIFI_AP_STATE_FAILED = 14; // 0xe
9390    field public static final String WIFI_CREDENTIAL_CHANGED_ACTION = "android.net.wifi.WIFI_CREDENTIAL_CHANGED";
9391    field public static final int WIFI_CREDENTIAL_FORGOT = 1; // 0x1
9392    field public static final int WIFI_CREDENTIAL_SAVED = 0; // 0x0
9393  }
9394
9395  public static interface WifiManager.ActionListener {
9396    method public void onFailure(int);
9397    method public void onSuccess();
9398  }
9399
9400  public abstract static class WifiManager.CoexCallback {
9401    ctor public WifiManager.CoexCallback();
9402    method public abstract void onCoexUnsafeChannelsChanged(@NonNull java.util.List<android.net.wifi.CoexUnsafeChannel>, int);
9403  }
9404
9405  public static interface WifiManager.NetworkRequestMatchCallback {
9406    method public default void onAbort();
9407    method public default void onMatch(@NonNull java.util.List<android.net.wifi.ScanResult>);
9408    method public default void onUserSelectionCallbackRegistration(@NonNull android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback);
9409    method public default void onUserSelectionConnectFailure(@NonNull android.net.wifi.WifiConfiguration);
9410    method public default void onUserSelectionConnectSuccess(@NonNull android.net.wifi.WifiConfiguration);
9411  }
9412
9413  public static interface WifiManager.NetworkRequestUserSelectionCallback {
9414    method public default void reject();
9415    method public default void select(@NonNull android.net.wifi.WifiConfiguration);
9416  }
9417
9418  public static interface WifiManager.OnWifiActivityEnergyInfoListener {
9419    method public void onWifiActivityEnergyInfo(@Nullable android.os.connectivity.WifiActivityEnergyInfo);
9420  }
9421
9422  public static interface WifiManager.OnWifiUsabilityStatsListener {
9423    method public void onWifiUsabilityStats(int, boolean, @NonNull android.net.wifi.WifiUsabilityStatsEntry);
9424  }
9425
9426  public static interface WifiManager.ScoreUpdateObserver {
9427    method public default void blocklistCurrentBssid(int);
9428    method public void notifyScoreUpdate(int, int);
9429    method public default void notifyStatusUpdate(int, boolean);
9430    method public default void requestNudOperation(int);
9431    method public void triggerUpdateOfWifiUsabilityStats(int);
9432  }
9433
9434  public static interface WifiManager.SoftApCallback {
9435    method public default void onBlockedClientConnecting(@NonNull android.net.wifi.WifiClient, int);
9436    method public default void onCapabilityChanged(@NonNull android.net.wifi.SoftApCapability);
9437    method @Deprecated public default void onConnectedClientsChanged(@NonNull java.util.List<android.net.wifi.WifiClient>);
9438    method public default void onConnectedClientsChanged(@NonNull android.net.wifi.SoftApInfo, @NonNull java.util.List<android.net.wifi.WifiClient>);
9439    method @Deprecated public default void onInfoChanged(@NonNull android.net.wifi.SoftApInfo);
9440    method public default void onInfoChanged(@NonNull java.util.List<android.net.wifi.SoftApInfo>);
9441    method public default void onStateChanged(int, int);
9442  }
9443
9444  public static interface WifiManager.TrafficStateCallback {
9445    method public void onStateChanged(int);
9446    field public static final int DATA_ACTIVITY_IN = 1; // 0x1
9447    field public static final int DATA_ACTIVITY_INOUT = 3; // 0x3
9448    field public static final int DATA_ACTIVITY_NONE = 0; // 0x0
9449    field public static final int DATA_ACTIVITY_OUT = 2; // 0x2
9450  }
9451
9452  public static interface WifiManager.WifiConnectedNetworkScorer {
9453    method public void onSetScoreUpdateObserver(@NonNull android.net.wifi.WifiManager.ScoreUpdateObserver);
9454    method @Deprecated public default void onStart(int);
9455    method public default void onStart(@NonNull android.net.wifi.WifiConnectedSessionInfo);
9456    method public void onStop(int);
9457  }
9458
9459  public static interface WifiManager.WifiVerboseLoggingStatusChangedListener {
9460    method public void onWifiVerboseLoggingStatusChanged(boolean);
9461  }
9462
9463  public final class WifiMigration {
9464    method @Nullable public static java.io.InputStream convertAndRetrieveSharedConfigStoreFile(int);
9465    method @Nullable public static java.io.InputStream convertAndRetrieveUserConfigStoreFile(int, @NonNull android.os.UserHandle);
9466    method @NonNull public static android.net.wifi.WifiMigration.SettingsMigrationData loadFromSettings(@NonNull android.content.Context);
9467    method public static void removeSharedConfigStoreFile(int);
9468    method public static void removeUserConfigStoreFile(int, @NonNull android.os.UserHandle);
9469    field public static final int STORE_FILE_SHARED_GENERAL = 0; // 0x0
9470    field public static final int STORE_FILE_SHARED_SOFTAP = 1; // 0x1
9471    field public static final int STORE_FILE_USER_GENERAL = 2; // 0x2
9472    field public static final int STORE_FILE_USER_NETWORK_SUGGESTIONS = 3; // 0x3
9473  }
9474
9475  public static final class WifiMigration.SettingsMigrationData implements android.os.Parcelable {
9476    method public int describeContents();
9477    method @Nullable public String getP2pDeviceName();
9478    method public boolean isP2pFactoryResetPending();
9479    method public boolean isScanAlwaysAvailable();
9480    method public boolean isScanThrottleEnabled();
9481    method public boolean isSoftApTimeoutEnabled();
9482    method public boolean isVerboseLoggingEnabled();
9483    method public boolean isWakeUpEnabled();
9484    method public void writeToParcel(@NonNull android.os.Parcel, int);
9485    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiMigration.SettingsMigrationData> CREATOR;
9486  }
9487
9488  public static final class WifiMigration.SettingsMigrationData.Builder {
9489    ctor public WifiMigration.SettingsMigrationData.Builder();
9490    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData build();
9491    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setP2pDeviceName(@Nullable String);
9492    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setP2pFactoryResetPending(boolean);
9493    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setScanAlwaysAvailable(boolean);
9494    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setScanThrottleEnabled(boolean);
9495    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setSoftApTimeoutEnabled(boolean);
9496    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setVerboseLoggingEnabled(boolean);
9497    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setWakeUpEnabled(boolean);
9498  }
9499
9500  @Deprecated public class WifiNetworkConnectionStatistics implements android.os.Parcelable {
9501    ctor @Deprecated public WifiNetworkConnectionStatistics(int, int);
9502    ctor @Deprecated public WifiNetworkConnectionStatistics();
9503    ctor @Deprecated public WifiNetworkConnectionStatistics(android.net.wifi.WifiNetworkConnectionStatistics);
9504    method @Deprecated public int describeContents();
9505    method @Deprecated public void writeToParcel(android.os.Parcel, int);
9506    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkConnectionStatistics> CREATOR;
9507    field @Deprecated public int numConnection;
9508    field @Deprecated public int numUsage;
9509  }
9510
9511  public final class WifiNetworkSuggestion implements android.os.Parcelable {
9512    method public int getCarrierId();
9513    method @NonNull public android.net.wifi.WifiConfiguration getWifiConfiguration();
9514    method public boolean isOemPaid();
9515    method public boolean isOemPrivate();
9516  }
9517
9518  public static final class WifiNetworkSuggestion.Builder {
9519    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public android.net.wifi.WifiNetworkSuggestion.Builder setCarrierId(int);
9520    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setOemPaid(boolean);
9521    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setOemPrivate(boolean);
9522  }
9523
9524  public class WifiScanner {
9525    method @Deprecated public void configureWifiChange(int, int, int, int, int, android.net.wifi.WifiScanner.BssidInfo[]);
9526    method @Deprecated public void configureWifiChange(android.net.wifi.WifiScanner.WifiChangeSettings);
9527    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<java.lang.Integer> getAvailableChannels(int);
9528    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean getScanResults();
9529    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<android.net.wifi.ScanResult> getSingleScanResults();
9530    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void registerScanListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiScanner.ScanListener);
9531    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setScanningEnabled(boolean);
9532    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startBackgroundScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener);
9533    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startBackgroundScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener, android.os.WorkSource);
9534    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener);
9535    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener, android.os.WorkSource);
9536    method @Deprecated public void startTrackingBssids(android.net.wifi.WifiScanner.BssidInfo[], int, android.net.wifi.WifiScanner.BssidListener);
9537    method @Deprecated public void startTrackingWifiChange(android.net.wifi.WifiScanner.WifiChangeListener);
9538    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopBackgroundScan(android.net.wifi.WifiScanner.ScanListener);
9539    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopScan(android.net.wifi.WifiScanner.ScanListener);
9540    method @Deprecated public void stopTrackingBssids(android.net.wifi.WifiScanner.BssidListener);
9541    method @Deprecated public void stopTrackingWifiChange(android.net.wifi.WifiScanner.WifiChangeListener);
9542    method public void unregisterScanListener(@NonNull android.net.wifi.WifiScanner.ScanListener);
9543    field public static final int MAX_SCAN_PERIOD_MS = 1024000; // 0xfa000
9544    field public static final int MIN_SCAN_PERIOD_MS = 1000; // 0x3e8
9545    field public static final int REASON_DUPLICATE_REQEUST = -5; // 0xfffffffb
9546    field public static final int REASON_INVALID_LISTENER = -2; // 0xfffffffe
9547    field public static final int REASON_INVALID_REQUEST = -3; // 0xfffffffd
9548    field public static final int REASON_NOT_AUTHORIZED = -4; // 0xfffffffc
9549    field public static final int REASON_SUCCEEDED = 0; // 0x0
9550    field public static final int REASON_UNSPECIFIED = -1; // 0xffffffff
9551    field @Deprecated public static final int REPORT_EVENT_AFTER_BUFFER_FULL = 0; // 0x0
9552    field public static final int REPORT_EVENT_AFTER_EACH_SCAN = 1; // 0x1
9553    field public static final int REPORT_EVENT_FULL_SCAN_RESULT = 2; // 0x2
9554    field public static final int REPORT_EVENT_NO_BATCH = 4; // 0x4
9555    field public static final int SCAN_TYPE_HIGH_ACCURACY = 2; // 0x2
9556    field public static final int SCAN_TYPE_LOW_LATENCY = 0; // 0x0
9557    field public static final int SCAN_TYPE_LOW_POWER = 1; // 0x1
9558    field public static final int WIFI_BAND_24_5_6_GHZ = 11; // 0xb
9559    field public static final int WIFI_BAND_24_5_WITH_DFS_6_GHZ = 15; // 0xf
9560    field public static final int WIFI_BAND_24_GHZ = 1; // 0x1
9561    field public static final int WIFI_BAND_5_GHZ = 2; // 0x2
9562    field public static final int WIFI_BAND_5_GHZ_DFS_ONLY = 4; // 0x4
9563    field public static final int WIFI_BAND_5_GHZ_WITH_DFS = 6; // 0x6
9564    field public static final int WIFI_BAND_60_GHZ = 16; // 0x10
9565    field public static final int WIFI_BAND_6_GHZ = 8; // 0x8
9566    field public static final int WIFI_BAND_BOTH = 3; // 0x3
9567    field public static final int WIFI_BAND_BOTH_WITH_DFS = 7; // 0x7
9568    field public static final int WIFI_BAND_UNSPECIFIED = 0; // 0x0
9569    field public static final int WIFI_RNR_ENABLED = 1; // 0x1
9570    field public static final int WIFI_RNR_ENABLED_IF_WIFI_BAND_6_GHZ_SCANNED = 0; // 0x0
9571    field public static final int WIFI_RNR_NOT_NEEDED = 2; // 0x2
9572  }
9573
9574  public static interface WifiScanner.ActionListener {
9575    method public void onFailure(int, String);
9576    method public void onSuccess();
9577  }
9578
9579  @Deprecated public static class WifiScanner.BssidInfo {
9580    ctor @Deprecated public WifiScanner.BssidInfo();
9581    field @Deprecated public String bssid;
9582    field @Deprecated public int frequencyHint;
9583    field @Deprecated public int high;
9584    field @Deprecated public int low;
9585  }
9586
9587  @Deprecated public static interface WifiScanner.BssidListener extends android.net.wifi.WifiScanner.ActionListener {
9588    method @Deprecated public void onFound(android.net.wifi.ScanResult[]);
9589    method @Deprecated public void onLost(android.net.wifi.ScanResult[]);
9590  }
9591
9592  public static class WifiScanner.ChannelSpec {
9593    ctor public WifiScanner.ChannelSpec(int);
9594    field public int frequency;
9595  }
9596
9597  @Deprecated public static class WifiScanner.HotlistSettings implements android.os.Parcelable {
9598    ctor @Deprecated public WifiScanner.HotlistSettings();
9599    field @Deprecated public int apLostThreshold;
9600    field @Deprecated public android.net.wifi.WifiScanner.BssidInfo[] bssidInfos;
9601  }
9602
9603  public static class WifiScanner.ParcelableScanData implements android.os.Parcelable {
9604    ctor public WifiScanner.ParcelableScanData(android.net.wifi.WifiScanner.ScanData[]);
9605    method public android.net.wifi.WifiScanner.ScanData[] getResults();
9606    field public android.net.wifi.WifiScanner.ScanData[] mResults;
9607  }
9608
9609  public static class WifiScanner.ParcelableScanResults implements android.os.Parcelable {
9610    ctor public WifiScanner.ParcelableScanResults(android.net.wifi.ScanResult[]);
9611    method public android.net.wifi.ScanResult[] getResults();
9612    field public android.net.wifi.ScanResult[] mResults;
9613  }
9614
9615  public static class WifiScanner.ScanData implements android.os.Parcelable {
9616    ctor public WifiScanner.ScanData(int, int, android.net.wifi.ScanResult[]);
9617    ctor public WifiScanner.ScanData(android.net.wifi.WifiScanner.ScanData);
9618    method public int getFlags();
9619    method public int getId();
9620    method public android.net.wifi.ScanResult[] getResults();
9621    method public int getScannedBands();
9622  }
9623
9624  public static interface WifiScanner.ScanListener extends android.net.wifi.WifiScanner.ActionListener {
9625    method public void onFullResult(android.net.wifi.ScanResult);
9626    method @Deprecated public void onPeriodChanged(int);
9627    method public void onResults(android.net.wifi.WifiScanner.ScanData[]);
9628  }
9629
9630  public static class WifiScanner.ScanSettings implements android.os.Parcelable {
9631    ctor public WifiScanner.ScanSettings();
9632    method public int getRnrSetting();
9633    method public boolean is6GhzPscOnlyEnabled();
9634    method public void set6GhzPscOnlyEnabled(boolean);
9635    method public void setRnrSetting(int);
9636    field public int band;
9637    field public android.net.wifi.WifiScanner.ChannelSpec[] channels;
9638    field @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public final java.util.List<android.net.wifi.WifiScanner.ScanSettings.HiddenNetwork> hiddenNetworks;
9639    field public boolean hideFromAppOps;
9640    field public boolean ignoreLocationSettings;
9641    field @Deprecated public int maxPeriodInMs;
9642    field @Deprecated public int maxScansToCache;
9643    field @Deprecated public int numBssidsPerScan;
9644    field @Deprecated public int periodInMs;
9645    field @Deprecated public int reportEvents;
9646    field @Deprecated public int stepCount;
9647    field @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public int type;
9648  }
9649
9650  public static class WifiScanner.ScanSettings.HiddenNetwork {
9651    ctor public WifiScanner.ScanSettings.HiddenNetwork(@NonNull String);
9652    field @NonNull public final String ssid;
9653  }
9654
9655  @Deprecated public static interface WifiScanner.WifiChangeListener extends android.net.wifi.WifiScanner.ActionListener {
9656    method @Deprecated public void onChanging(android.net.wifi.ScanResult[]);
9657    method @Deprecated public void onQuiescence(android.net.wifi.ScanResult[]);
9658  }
9659
9660  @Deprecated public static class WifiScanner.WifiChangeSettings implements android.os.Parcelable {
9661    ctor @Deprecated public WifiScanner.WifiChangeSettings();
9662    field @Deprecated public android.net.wifi.WifiScanner.BssidInfo[] bssidInfos;
9663    field @Deprecated public int lostApSampleSize;
9664    field @Deprecated public int minApsBreachingThreshold;
9665    field @Deprecated public int periodInMs;
9666    field @Deprecated public int rssiSampleSize;
9667    field @Deprecated public int unchangedSampleSize;
9668  }
9669
9670  public final class WifiUsabilityStatsEntry implements android.os.Parcelable {
9671    method public int describeContents();
9672    method public int getCellularDataNetworkType();
9673    method public int getCellularSignalStrengthDb();
9674    method public int getCellularSignalStrengthDbm();
9675    method @IntRange(from=0, to=255) public int getChannelUtilizationRatio();
9676    method @NonNull public android.net.wifi.WifiUsabilityStatsEntry.ContentionTimeStats getContentionTimeStats(int);
9677    method public int getLinkSpeedMbps();
9678    method public int getProbeElapsedTimeSinceLastUpdateMillis();
9679    method public int getProbeMcsRateSinceLastUpdate();
9680    method public int getProbeStatusSinceLastUpdate();
9681    method @NonNull public java.util.List<android.net.wifi.WifiUsabilityStatsEntry.RateStats> getRateStats();
9682    method public int getRssi();
9683    method public int getRxLinkSpeedMbps();
9684    method @IntRange(from=0, to=100) public int getTimeSliceDutyCycleInPercent();
9685    method public long getTimeStampMillis();
9686    method public long getTotalBackgroundScanTimeMillis();
9687    method public long getTotalBeaconRx();
9688    method public long getTotalCcaBusyFreqTimeMillis();
9689    method public long getTotalHotspot2ScanTimeMillis();
9690    method public long getTotalNanScanTimeMillis();
9691    method public long getTotalPnoScanTimeMillis();
9692    method public long getTotalRadioOnFreqTimeMillis();
9693    method public long getTotalRadioOnTimeMillis();
9694    method public long getTotalRadioRxTimeMillis();
9695    method public long getTotalRadioTxTimeMillis();
9696    method public long getTotalRoamScanTimeMillis();
9697    method public long getTotalRxSuccess();
9698    method public long getTotalScanTimeMillis();
9699    method public long getTotalTxBad();
9700    method public long getTotalTxRetries();
9701    method public long getTotalTxSuccess();
9702    method @NonNull public java.util.List<android.net.wifi.WifiUsabilityStatsEntry.RadioStats> getWifiLinkLayerRadioStats();
9703    method public boolean isCellularDataAvailable();
9704    method public boolean isSameRegisteredCell();
9705    method public boolean isThroughputSufficient();
9706    method public boolean isWifiScoringEnabled();
9707    method public void writeToParcel(android.os.Parcel, int);
9708    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry> CREATOR;
9709    field public static final int NUM_WME_ACCESS_CATEGORIES = 4; // 0x4
9710    field public static final int PROBE_STATUS_FAILURE = 3; // 0x3
9711    field public static final int PROBE_STATUS_NO_PROBE = 1; // 0x1
9712    field public static final int PROBE_STATUS_SUCCESS = 2; // 0x2
9713    field public static final int PROBE_STATUS_UNKNOWN = 0; // 0x0
9714    field public static final int WIFI_BANDWIDTH_10_MHZ = 6; // 0x6
9715    field public static final int WIFI_BANDWIDTH_160_MHZ = 3; // 0x3
9716    field public static final int WIFI_BANDWIDTH_20_MHZ = 0; // 0x0
9717    field public static final int WIFI_BANDWIDTH_40_MHZ = 1; // 0x1
9718    field public static final int WIFI_BANDWIDTH_5_MHZ = 5; // 0x5
9719    field public static final int WIFI_BANDWIDTH_80P80_MHZ = 4; // 0x4
9720    field public static final int WIFI_BANDWIDTH_80_MHZ = 2; // 0x2
9721    field public static final int WIFI_BANDWIDTH_INVALID = -1; // 0xffffffff
9722    field public static final int WIFI_PREAMBLE_CCK = 1; // 0x1
9723    field public static final int WIFI_PREAMBLE_HE = 5; // 0x5
9724    field public static final int WIFI_PREAMBLE_HT = 2; // 0x2
9725    field public static final int WIFI_PREAMBLE_INVALID = -1; // 0xffffffff
9726    field public static final int WIFI_PREAMBLE_OFDM = 0; // 0x0
9727    field public static final int WIFI_PREAMBLE_VHT = 3; // 0x3
9728    field public static final int WIFI_SPATIAL_STREAMS_FOUR = 4; // 0x4
9729    field public static final int WIFI_SPATIAL_STREAMS_INVALID = -1; // 0xffffffff
9730    field public static final int WIFI_SPATIAL_STREAMS_ONE = 1; // 0x1
9731    field public static final int WIFI_SPATIAL_STREAMS_THREE = 3; // 0x3
9732    field public static final int WIFI_SPATIAL_STREAMS_TWO = 2; // 0x2
9733    field public static final int WME_ACCESS_CATEGORY_BE = 0; // 0x0
9734    field public static final int WME_ACCESS_CATEGORY_BK = 1; // 0x1
9735    field public static final int WME_ACCESS_CATEGORY_VI = 2; // 0x2
9736    field public static final int WME_ACCESS_CATEGORY_VO = 3; // 0x3
9737  }
9738
9739  public static final class WifiUsabilityStatsEntry.ContentionTimeStats implements android.os.Parcelable {
9740    ctor public WifiUsabilityStatsEntry.ContentionTimeStats(long, long, long, long);
9741    method public int describeContents();
9742    method public long getContentionNumSamples();
9743    method public long getContentionTimeAvgMicros();
9744    method public long getContentionTimeMaxMicros();
9745    method public long getContentionTimeMinMicros();
9746    method public void writeToParcel(@NonNull android.os.Parcel, int);
9747    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.ContentionTimeStats> CREATOR;
9748  }
9749
9750  public static final class WifiUsabilityStatsEntry.RadioStats implements android.os.Parcelable {
9751    ctor public WifiUsabilityStatsEntry.RadioStats(int, long, long, long, long, long, long, long, long, long);
9752    method public int describeContents();
9753    method public long getRadioId();
9754    method public long getTotalBackgroundScanTimeMillis();
9755    method public long getTotalHotspot2ScanTimeMillis();
9756    method public long getTotalNanScanTimeMillis();
9757    method public long getTotalPnoScanTimeMillis();
9758    method public long getTotalRadioOnTimeMillis();
9759    method public long getTotalRadioRxTimeMillis();
9760    method public long getTotalRadioTxTimeMillis();
9761    method public long getTotalRoamScanTimeMillis();
9762    method public long getTotalScanTimeMillis();
9763    method public void writeToParcel(@NonNull android.os.Parcel, int);
9764    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.RadioStats> CREATOR;
9765  }
9766
9767  public static final class WifiUsabilityStatsEntry.RateStats implements android.os.Parcelable {
9768    ctor public WifiUsabilityStatsEntry.RateStats(int, int, int, int, int, int, int, int, int);
9769    method public int describeContents();
9770    method public int getBandwidthInMhz();
9771    method public int getBitRateInKbps();
9772    method public int getMpduLost();
9773    method public int getNumberOfSpatialStreams();
9774    method public int getPreamble();
9775    method public int getRateMcsIdx();
9776    method public int getRetries();
9777    method public int getRxMpdu();
9778    method public int getTxMpdu();
9779    method public void writeToParcel(@NonNull android.os.Parcel, int);
9780    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.RateStats> CREATOR;
9781  }
9782
9783}
9784
9785package android.net.wifi.aware {
9786
9787  public class DiscoverySession implements java.lang.AutoCloseable {
9788    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPmk(@NonNull android.net.wifi.aware.PeerHandle, @NonNull byte[]);
9789  }
9790
9791  public class WifiAwareManager {
9792    method public void enableInstantCommunicationMode(boolean);
9793  }
9794
9795  public class WifiAwareSession implements java.lang.AutoCloseable {
9796    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPmk(int, @NonNull byte[], @NonNull byte[]);
9797  }
9798
9799}
9800
9801package android.net.wifi.hotspot2 {
9802
9803  public final class OsuProvider implements android.os.Parcelable {
9804    method public int describeContents();
9805    method @Nullable public String getFriendlyName();
9806    method @Nullable public android.net.Uri getServerUri();
9807    method public void writeToParcel(android.os.Parcel, int);
9808    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.OsuProvider> CREATOR;
9809  }
9810
9811  public final class PasspointConfiguration implements android.os.Parcelable {
9812    method public int getMeteredOverride();
9813    method public boolean isAutojoinEnabled();
9814    method public boolean isMacRandomizationEnabled();
9815  }
9816
9817  public abstract class ProvisioningCallback {
9818    ctor public ProvisioningCallback();
9819    method public abstract void onProvisioningComplete();
9820    method public abstract void onProvisioningFailure(int);
9821    method public abstract void onProvisioningStatus(int);
9822    field public static final int OSU_FAILURE_ADD_PASSPOINT_CONFIGURATION = 22; // 0x16
9823    field public static final int OSU_FAILURE_AP_CONNECTION = 1; // 0x1
9824    field public static final int OSU_FAILURE_INVALID_URL_FORMAT_FOR_OSU = 8; // 0x8
9825    field public static final int OSU_FAILURE_NO_AAA_SERVER_TRUST_ROOT_NODE = 17; // 0x11
9826    field public static final int OSU_FAILURE_NO_AAA_TRUST_ROOT_CERTIFICATE = 21; // 0x15
9827    field public static final int OSU_FAILURE_NO_OSU_ACTIVITY_FOUND = 14; // 0xe
9828    field public static final int OSU_FAILURE_NO_POLICY_SERVER_TRUST_ROOT_NODE = 19; // 0x13
9829    field public static final int OSU_FAILURE_NO_PPS_MO = 16; // 0x10
9830    field public static final int OSU_FAILURE_NO_REMEDIATION_SERVER_TRUST_ROOT_NODE = 18; // 0x12
9831    field public static final int OSU_FAILURE_OSU_PROVIDER_NOT_FOUND = 23; // 0x17
9832    field public static final int OSU_FAILURE_PROVISIONING_ABORTED = 6; // 0x6
9833    field public static final int OSU_FAILURE_PROVISIONING_NOT_AVAILABLE = 7; // 0x7
9834    field public static final int OSU_FAILURE_RETRIEVE_TRUST_ROOT_CERTIFICATES = 20; // 0x14
9835    field public static final int OSU_FAILURE_SERVER_CONNECTION = 3; // 0x3
9836    field public static final int OSU_FAILURE_SERVER_URL_INVALID = 2; // 0x2
9837    field public static final int OSU_FAILURE_SERVER_VALIDATION = 4; // 0x4
9838    field public static final int OSU_FAILURE_SERVICE_PROVIDER_VERIFICATION = 5; // 0x5
9839    field public static final int OSU_FAILURE_SOAP_MESSAGE_EXCHANGE = 11; // 0xb
9840    field public static final int OSU_FAILURE_START_REDIRECT_LISTENER = 12; // 0xc
9841    field public static final int OSU_FAILURE_TIMED_OUT_REDIRECT_LISTENER = 13; // 0xd
9842    field public static final int OSU_FAILURE_UNEXPECTED_COMMAND_TYPE = 9; // 0x9
9843    field public static final int OSU_FAILURE_UNEXPECTED_SOAP_MESSAGE_STATUS = 15; // 0xf
9844    field public static final int OSU_FAILURE_UNEXPECTED_SOAP_MESSAGE_TYPE = 10; // 0xa
9845    field public static final int OSU_STATUS_AP_CONNECTED = 2; // 0x2
9846    field public static final int OSU_STATUS_AP_CONNECTING = 1; // 0x1
9847    field public static final int OSU_STATUS_INIT_SOAP_EXCHANGE = 6; // 0x6
9848    field public static final int OSU_STATUS_REDIRECT_RESPONSE_RECEIVED = 8; // 0x8
9849    field public static final int OSU_STATUS_RETRIEVING_TRUST_ROOT_CERTS = 11; // 0xb
9850    field public static final int OSU_STATUS_SECOND_SOAP_EXCHANGE = 9; // 0x9
9851    field public static final int OSU_STATUS_SERVER_CONNECTED = 5; // 0x5
9852    field public static final int OSU_STATUS_SERVER_CONNECTING = 3; // 0x3
9853    field public static final int OSU_STATUS_SERVER_VALIDATED = 4; // 0x4
9854    field public static final int OSU_STATUS_THIRD_SOAP_EXCHANGE = 10; // 0xa
9855    field public static final int OSU_STATUS_WAITING_FOR_REDIRECT_RESPONSE = 7; // 0x7
9856  }
9857
9858}
9859
9860package android.net.wifi.nl80211 {
9861
9862  public final class DeviceWiphyCapabilities implements android.os.Parcelable {
9863    ctor public DeviceWiphyCapabilities();
9864    method public int describeContents();
9865    method public int getMaxNumberRxSpatialStreams();
9866    method public int getMaxNumberTxSpatialStreams();
9867    method public boolean isChannelWidthSupported(int);
9868    method public boolean isWifiStandardSupported(int);
9869    method public void setWifiStandardSupport(int, boolean);
9870    method public void writeToParcel(@NonNull android.os.Parcel, int);
9871    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.DeviceWiphyCapabilities> CREATOR;
9872  }
9873
9874  public final class NativeScanResult implements android.os.Parcelable {
9875    ctor public NativeScanResult();
9876    method public int describeContents();
9877    method @Nullable public android.net.MacAddress getBssid();
9878    method public int getCapabilities();
9879    method public int getFrequencyMhz();
9880    method @NonNull public byte[] getInformationElements();
9881    method @NonNull public java.util.List<android.net.wifi.nl80211.RadioChainInfo> getRadioChainInfos();
9882    method public int getSignalMbm();
9883    method @NonNull public byte[] getSsid();
9884    method public long getTsf();
9885    method public boolean isAssociated();
9886    method public void writeToParcel(@NonNull android.os.Parcel, int);
9887    field public static final int BSS_CAPABILITY_APSD = 2048; // 0x800
9888    field public static final int BSS_CAPABILITY_CF_POLLABLE = 4; // 0x4
9889    field public static final int BSS_CAPABILITY_CF_POLL_REQUEST = 8; // 0x8
9890    field public static final int BSS_CAPABILITY_CHANNEL_AGILITY = 128; // 0x80
9891    field public static final int BSS_CAPABILITY_DELAYED_BLOCK_ACK = 16384; // 0x4000
9892    field public static final int BSS_CAPABILITY_DMG_ESS = 3; // 0x3
9893    field public static final int BSS_CAPABILITY_DMG_IBSS = 1; // 0x1
9894    field public static final int BSS_CAPABILITY_DSSS_OFDM = 8192; // 0x2000
9895    field public static final int BSS_CAPABILITY_ESS = 1; // 0x1
9896    field public static final int BSS_CAPABILITY_IBSS = 2; // 0x2
9897    field public static final int BSS_CAPABILITY_IMMEDIATE_BLOCK_ACK = 32768; // 0x8000
9898    field public static final int BSS_CAPABILITY_PBCC = 64; // 0x40
9899    field public static final int BSS_CAPABILITY_PRIVACY = 16; // 0x10
9900    field public static final int BSS_CAPABILITY_QOS = 512; // 0x200
9901    field public static final int BSS_CAPABILITY_RADIO_MANAGEMENT = 4096; // 0x1000
9902    field public static final int BSS_CAPABILITY_SHORT_PREAMBLE = 32; // 0x20
9903    field public static final int BSS_CAPABILITY_SHORT_SLOT_TIME = 1024; // 0x400
9904    field public static final int BSS_CAPABILITY_SPECTRUM_MANAGEMENT = 256; // 0x100
9905    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.NativeScanResult> CREATOR;
9906  }
9907
9908  public final class NativeWifiClient implements android.os.Parcelable {
9909    ctor public NativeWifiClient(@Nullable android.net.MacAddress);
9910    method public int describeContents();
9911    method @Nullable public android.net.MacAddress getMacAddress();
9912    method public void writeToParcel(@NonNull android.os.Parcel, int);
9913    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.NativeWifiClient> CREATOR;
9914  }
9915
9916  public final class PnoNetwork implements android.os.Parcelable {
9917    ctor public PnoNetwork();
9918    method public int describeContents();
9919    method @NonNull public int[] getFrequenciesMhz();
9920    method @NonNull public byte[] getSsid();
9921    method public boolean isHidden();
9922    method public void setFrequenciesMhz(@NonNull int[]);
9923    method public void setHidden(boolean);
9924    method public void setSsid(@NonNull byte[]);
9925    method public void writeToParcel(@NonNull android.os.Parcel, int);
9926    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.PnoNetwork> CREATOR;
9927  }
9928
9929  public final class PnoSettings implements android.os.Parcelable {
9930    ctor public PnoSettings();
9931    method public int describeContents();
9932    method public long getIntervalMillis();
9933    method public int getMin2gRssiDbm();
9934    method public int getMin5gRssiDbm();
9935    method public int getMin6gRssiDbm();
9936    method @NonNull public java.util.List<android.net.wifi.nl80211.PnoNetwork> getPnoNetworks();
9937    method public void setIntervalMillis(long);
9938    method public void setMin2gRssiDbm(int);
9939    method public void setMin5gRssiDbm(int);
9940    method public void setMin6gRssiDbm(int);
9941    method public void setPnoNetworks(@NonNull java.util.List<android.net.wifi.nl80211.PnoNetwork>);
9942    method public void writeToParcel(@NonNull android.os.Parcel, int);
9943    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.PnoSettings> CREATOR;
9944  }
9945
9946  public final class RadioChainInfo implements android.os.Parcelable {
9947    ctor public RadioChainInfo(int, int);
9948    method public int describeContents();
9949    method public int getChainId();
9950    method public int getLevelDbm();
9951    method public void writeToParcel(@NonNull android.os.Parcel, int);
9952    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.RadioChainInfo> CREATOR;
9953  }
9954
9955  public class WifiNl80211Manager {
9956    method public void abortScan(@NonNull String);
9957    method public void enableVerboseLogging(boolean);
9958    method @NonNull public int[] getChannelsMhzForBand(int);
9959    method @Nullable public android.net.wifi.nl80211.DeviceWiphyCapabilities getDeviceWiphyCapabilities(@NonNull String);
9960    method @NonNull public java.util.List<android.net.wifi.nl80211.NativeScanResult> getScanResults(@NonNull String, int);
9961    method @Nullable public android.net.wifi.nl80211.WifiNl80211Manager.TxPacketCounters getTxPacketCounters(@NonNull String);
9962    method @Nullable public static android.net.wifi.nl80211.WifiNl80211Manager.OemSecurityType parseOemSecurityTypeElement(int, int, @NonNull byte[]);
9963    method @Deprecated public boolean registerApCallback(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.SoftApCallback);
9964    method public boolean registerCountryCodeChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.CountryCodeChangedListener);
9965    method public void sendMgmtFrame(@NonNull String, @NonNull byte[], int, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.SendMgmtFrameCallback);
9966    method public void setOnServiceDeadCallback(@NonNull Runnable);
9967    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);
9968    method public boolean setupInterfaceForSoftApMode(@NonNull String);
9969    method @Nullable public android.net.wifi.nl80211.WifiNl80211Manager.SignalPollResult signalPoll(@NonNull String);
9970    method public boolean startPnoScan(@NonNull String, @NonNull android.net.wifi.nl80211.PnoSettings, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.PnoScanRequestCallback);
9971    method @Deprecated public boolean startScan(@NonNull String, int, @Nullable java.util.Set<java.lang.Integer>, @Nullable java.util.List<byte[]>);
9972    method public boolean startScan(@NonNull String, int, @Nullable java.util.Set<java.lang.Integer>, @Nullable java.util.List<byte[]>, @Nullable android.os.Bundle);
9973    method public boolean stopPnoScan(@NonNull String);
9974    method public boolean tearDownClientInterface(@NonNull String);
9975    method public boolean tearDownInterfaces();
9976    method public boolean tearDownSoftApInterface(@NonNull String);
9977    method public void unregisterCountryCodeChangedListener(@NonNull android.net.wifi.nl80211.WifiNl80211Manager.CountryCodeChangedListener);
9978    field public static final String SCANNING_PARAM_ENABLE_6GHZ_RNR = "android.net.wifi.nl80211.SCANNING_PARAM_ENABLE_6GHZ_RNR";
9979    field public static final int SCAN_TYPE_PNO_SCAN = 1; // 0x1
9980    field public static final int SCAN_TYPE_SINGLE_SCAN = 0; // 0x0
9981    field public static final int SEND_MGMT_FRAME_ERROR_ALREADY_STARTED = 5; // 0x5
9982    field public static final int SEND_MGMT_FRAME_ERROR_MCS_UNSUPPORTED = 2; // 0x2
9983    field public static final int SEND_MGMT_FRAME_ERROR_NO_ACK = 3; // 0x3
9984    field public static final int SEND_MGMT_FRAME_ERROR_TIMEOUT = 4; // 0x4
9985    field public static final int SEND_MGMT_FRAME_ERROR_UNKNOWN = 1; // 0x1
9986  }
9987
9988  public static interface WifiNl80211Manager.CountryCodeChangedListener {
9989    method public void onCountryCodeChanged(@NonNull String);
9990  }
9991
9992  public static class WifiNl80211Manager.OemSecurityType {
9993    ctor public WifiNl80211Manager.OemSecurityType(int, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>, int);
9994    field public final int groupCipher;
9995    field @NonNull public final java.util.List<java.lang.Integer> keyManagement;
9996    field @NonNull public final java.util.List<java.lang.Integer> pairwiseCipher;
9997    field public final int protocol;
9998  }
9999
10000  public static interface WifiNl80211Manager.PnoScanRequestCallback {
10001    method public void onPnoRequestFailed();
10002    method public void onPnoRequestSucceeded();
10003  }
10004
10005  public static interface WifiNl80211Manager.ScanEventCallback {
10006    method public void onScanFailed();
10007    method public void onScanResultReady();
10008  }
10009
10010  public static interface WifiNl80211Manager.SendMgmtFrameCallback {
10011    method public void onAck(int);
10012    method public void onFailure(int);
10013  }
10014
10015  public static class WifiNl80211Manager.SignalPollResult {
10016    field public final int associationFrequencyMHz;
10017    field public final int currentRssiDbm;
10018    field public final int rxBitrateMbps;
10019    field public final int txBitrateMbps;
10020  }
10021
10022  @Deprecated public static interface WifiNl80211Manager.SoftApCallback {
10023    method @Deprecated public void onConnectedClientsChanged(@NonNull android.net.wifi.nl80211.NativeWifiClient, boolean);
10024    method @Deprecated public void onFailure();
10025    method @Deprecated public void onSoftApChannelSwitched(int, int);
10026  }
10027
10028  public static class WifiNl80211Manager.TxPacketCounters {
10029    field public final int txPacketFailed;
10030    field public final int txPacketSucceeded;
10031  }
10032
10033}
10034
10035package android.net.wifi.p2p {
10036
10037  public final class WifiP2pGroupList implements android.os.Parcelable {
10038    method public int describeContents();
10039    method @NonNull public java.util.List<android.net.wifi.p2p.WifiP2pGroup> getGroupList();
10040    method public void writeToParcel(@NonNull android.os.Parcel, int);
10041    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pGroupList> CREATOR;
10042  }
10043
10044  public class WifiP2pManager {
10045    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);
10046    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void factoryReset(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
10047    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.READ_WIFI_CREDENTIAL}) public void requestPersistentGroupInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.PersistentGroupInfoListener);
10048    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);
10049    method @RequiresPermission(android.Manifest.permission.CONFIGURE_WIFI_DISPLAY) public void setMiracastMode(int);
10050    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);
10051    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);
10052    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void startListening(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
10053    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void stopListening(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
10054    field public static final String ACTION_WIFI_P2P_PERSISTENT_GROUPS_CHANGED = "android.net.wifi.p2p.action.WIFI_P2P_PERSISTENT_GROUPS_CHANGED";
10055    field public static final int MIRACAST_DISABLED = 0; // 0x0
10056    field public static final int MIRACAST_SINK = 2; // 0x2
10057    field public static final int MIRACAST_SOURCE = 1; // 0x1
10058  }
10059
10060  public static interface WifiP2pManager.PersistentGroupInfoListener {
10061    method public void onPersistentGroupInfoAvailable(@NonNull android.net.wifi.p2p.WifiP2pGroupList);
10062  }
10063
10064}
10065
10066package android.net.wifi.rtt {
10067
10068  public final class RangingRequest implements android.os.Parcelable {
10069    method @NonNull public java.util.List<android.net.wifi.rtt.ResponderConfig> getRttResponders();
10070  }
10071
10072  public static final class RangingRequest.Builder {
10073    method public android.net.wifi.rtt.RangingRequest.Builder addResponder(@NonNull android.net.wifi.rtt.ResponderConfig);
10074  }
10075
10076  public final class RangingResult implements android.os.Parcelable {
10077    method @NonNull public byte[] getLci();
10078    method @NonNull public byte[] getLcr();
10079  }
10080
10081  public final class ResponderConfig implements android.os.Parcelable {
10082    ctor public ResponderConfig(@NonNull android.net.MacAddress, int, boolean, int, int, int, int, int);
10083    ctor public ResponderConfig(@NonNull android.net.wifi.aware.PeerHandle, int, boolean, int, int, int, int, int);
10084    method public int describeContents();
10085    method public static android.net.wifi.rtt.ResponderConfig fromScanResult(android.net.wifi.ScanResult);
10086    method public static android.net.wifi.rtt.ResponderConfig fromWifiAwarePeerHandleWithDefaults(android.net.wifi.aware.PeerHandle);
10087    method public static android.net.wifi.rtt.ResponderConfig fromWifiAwarePeerMacAddressWithDefaults(android.net.MacAddress);
10088    method public void writeToParcel(android.os.Parcel, int);
10089    field public static final int CHANNEL_WIDTH_160MHZ = 3; // 0x3
10090    field public static final int CHANNEL_WIDTH_20MHZ = 0; // 0x0
10091    field public static final int CHANNEL_WIDTH_40MHZ = 1; // 0x1
10092    field public static final int CHANNEL_WIDTH_80MHZ = 2; // 0x2
10093    field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 4; // 0x4
10094    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.ResponderConfig> CREATOR;
10095    field public static final int PREAMBLE_HE = 3; // 0x3
10096    field public static final int PREAMBLE_HT = 1; // 0x1
10097    field public static final int PREAMBLE_LEGACY = 0; // 0x0
10098    field public static final int PREAMBLE_VHT = 2; // 0x2
10099    field public static final int RESPONDER_AP = 0; // 0x0
10100    field public static final int RESPONDER_AWARE = 4; // 0x4
10101    field public static final int RESPONDER_P2P_CLIENT = 3; // 0x3
10102    field public static final int RESPONDER_P2P_GO = 2; // 0x2
10103    field public static final int RESPONDER_STA = 1; // 0x1
10104    field public final int centerFreq0;
10105    field public final int centerFreq1;
10106    field public final int channelWidth;
10107    field public final int frequency;
10108    field public final android.net.MacAddress macAddress;
10109    field public final android.net.wifi.aware.PeerHandle peerHandle;
10110    field public final int preamble;
10111    field public final int responderType;
10112    field public final boolean supports80211mc;
10113  }
10114
10115  public final class ResponderLocation implements android.os.Parcelable {
10116    method public boolean getExtraInfoOnAssociationIndication();
10117  }
10118
10119  public class WifiRttManager {
10120    method @RequiresPermission(allOf={android.Manifest.permission.LOCATION_HARDWARE}) public void cancelRanging(@Nullable android.os.WorkSource);
10121    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}) public void startRanging(@Nullable android.os.WorkSource, @NonNull android.net.wifi.rtt.RangingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.rtt.RangingResultCallback);
10122  }
10123
10124}
10125
10126package android.nfc {
10127
10128  public final class NfcAdapter {
10129    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean addNfcUnlockHandler(android.nfc.NfcAdapter.NfcUnlockHandler, String[]);
10130    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disable();
10131    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disable(boolean);
10132    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disableNdefPush();
10133    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enable();
10134    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableNdefPush();
10135    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableSecureNfc(boolean);
10136    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean isControllerAlwaysOn();
10137    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean isControllerAlwaysOnSupported();
10138    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void registerControllerAlwaysOnListener(@NonNull java.util.concurrent.Executor, @NonNull android.nfc.NfcAdapter.ControllerAlwaysOnListener);
10139    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean removeNfcUnlockHandler(android.nfc.NfcAdapter.NfcUnlockHandler);
10140    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean setControllerAlwaysOn(boolean);
10141    method public void setNdefPushMessage(android.nfc.NdefMessage, android.app.Activity, int);
10142    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void unregisterControllerAlwaysOnListener(@NonNull android.nfc.NfcAdapter.ControllerAlwaysOnListener);
10143    field public static final int FLAG_NDEF_PUSH_NO_CONFIRM = 1; // 0x1
10144  }
10145
10146  public static interface NfcAdapter.ControllerAlwaysOnListener {
10147    method public void onControllerAlwaysOnChanged(boolean);
10148  }
10149
10150  public static interface NfcAdapter.NfcUnlockHandler {
10151    method public boolean onUnlockAttempted(android.nfc.Tag);
10152  }
10153
10154}
10155
10156package android.os {
10157
10158  public class BatteryManager {
10159    method @RequiresPermission(android.Manifest.permission.POWER_SAVER) public boolean setChargingStateUpdateDelayMillis(int);
10160    field public static final String EXTRA_EVENTS = "android.os.extra.EVENTS";
10161    field public static final String EXTRA_EVENT_TIMESTAMP = "android.os.extra.EVENT_TIMESTAMP";
10162  }
10163
10164  public final class BatterySaverPolicyConfig implements android.os.Parcelable {
10165    method public int describeContents();
10166    method public float getAdjustBrightnessFactor();
10167    method public boolean getAdvertiseIsEnabled();
10168    method public boolean getDeferFullBackup();
10169    method public boolean getDeferKeyValueBackup();
10170    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getDeviceSpecificSettings();
10171    method public boolean getDisableAnimation();
10172    method public boolean getDisableAod();
10173    method public boolean getDisableLaunchBoost();
10174    method public boolean getDisableOptionalSensors();
10175    method @Deprecated public boolean getDisableSoundTrigger();
10176    method public boolean getDisableVibration();
10177    method public boolean getEnableAdjustBrightness();
10178    method public boolean getEnableDataSaver();
10179    method public boolean getEnableFirewall();
10180    method public boolean getEnableNightMode();
10181    method public boolean getEnableQuickDoze();
10182    method public boolean getForceAllAppsStandby();
10183    method public boolean getForceBackgroundCheck();
10184    method public int getLocationMode();
10185    method public int getSoundTriggerMode();
10186    method public void writeToParcel(android.os.Parcel, int);
10187    field @NonNull public static final android.os.Parcelable.Creator<android.os.BatterySaverPolicyConfig> CREATOR;
10188  }
10189
10190  public static final class BatterySaverPolicyConfig.Builder {
10191    ctor public BatterySaverPolicyConfig.Builder();
10192    ctor public BatterySaverPolicyConfig.Builder(@NonNull android.os.BatterySaverPolicyConfig);
10193    method @NonNull public android.os.BatterySaverPolicyConfig.Builder addDeviceSpecificSetting(@NonNull String, @NonNull String);
10194    method @NonNull public android.os.BatterySaverPolicyConfig build();
10195    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setAdjustBrightnessFactor(float);
10196    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setAdvertiseIsEnabled(boolean);
10197    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDeferFullBackup(boolean);
10198    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDeferKeyValueBackup(boolean);
10199    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableAnimation(boolean);
10200    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableAod(boolean);
10201    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableLaunchBoost(boolean);
10202    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableOptionalSensors(boolean);
10203    method @Deprecated @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableSoundTrigger(boolean);
10204    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableVibration(boolean);
10205    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableAdjustBrightness(boolean);
10206    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableDataSaver(boolean);
10207    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableFirewall(boolean);
10208    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableNightMode(boolean);
10209    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableQuickDoze(boolean);
10210    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setForceAllAppsStandby(boolean);
10211    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setForceBackgroundCheck(boolean);
10212    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setLocationMode(int);
10213    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setSoundTriggerMode(int);
10214  }
10215
10216  public final class BatteryStatsManager {
10217    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.os.connectivity.CellularBatteryStats getCellularBatteryStats();
10218    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.os.connectivity.WifiBatteryStats getWifiBatteryStats();
10219    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockAcquiredFromSource(@NonNull android.os.WorkSource);
10220    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockReleasedFromSource(@NonNull android.os.WorkSource);
10221    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportMobileRadioPowerState(boolean, int);
10222    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStartedFromSource(@NonNull android.os.WorkSource, @IntRange(from=0) int);
10223    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStoppedFromSource(@NonNull android.os.WorkSource);
10224    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiMulticastDisabled(@NonNull android.os.WorkSource);
10225    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiMulticastEnabled(@NonNull android.os.WorkSource);
10226    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiOff();
10227    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiOn();
10228    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiRadioPowerState(boolean, int);
10229    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiRssiChanged(@IntRange(from=0xffffff81, to=0) int);
10230    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStartedFromSource(@NonNull android.os.WorkSource);
10231    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStoppedFromSource(@NonNull android.os.WorkSource);
10232    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiState(int, @Nullable String);
10233    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiSupplicantStateChanged(int, boolean);
10234    field public static final int WIFI_STATE_OFF = 0; // 0x0
10235    field public static final int WIFI_STATE_OFF_SCANNING = 1; // 0x1
10236    field public static final int WIFI_STATE_ON_CONNECTED_P2P = 5; // 0x5
10237    field public static final int WIFI_STATE_ON_CONNECTED_STA = 4; // 0x4
10238    field public static final int WIFI_STATE_ON_CONNECTED_STA_P2P = 6; // 0x6
10239    field public static final int WIFI_STATE_ON_DISCONNECTED = 3; // 0x3
10240    field public static final int WIFI_STATE_ON_NO_NETWORKS = 2; // 0x2
10241    field public static final int WIFI_STATE_SOFT_AP = 7; // 0x7
10242    field public static final int WIFI_SUPPL_STATE_ASSOCIATED = 7; // 0x7
10243    field public static final int WIFI_SUPPL_STATE_ASSOCIATING = 6; // 0x6
10244    field public static final int WIFI_SUPPL_STATE_AUTHENTICATING = 5; // 0x5
10245    field public static final int WIFI_SUPPL_STATE_COMPLETED = 10; // 0xa
10246    field public static final int WIFI_SUPPL_STATE_DISCONNECTED = 1; // 0x1
10247    field public static final int WIFI_SUPPL_STATE_DORMANT = 11; // 0xb
10248    field public static final int WIFI_SUPPL_STATE_FOUR_WAY_HANDSHAKE = 8; // 0x8
10249    field public static final int WIFI_SUPPL_STATE_GROUP_HANDSHAKE = 9; // 0x9
10250    field public static final int WIFI_SUPPL_STATE_INACTIVE = 3; // 0x3
10251    field public static final int WIFI_SUPPL_STATE_INTERFACE_DISABLED = 2; // 0x2
10252    field public static final int WIFI_SUPPL_STATE_INVALID = 0; // 0x0
10253    field public static final int WIFI_SUPPL_STATE_SCANNING = 4; // 0x4
10254    field public static final int WIFI_SUPPL_STATE_UNINITIALIZED = 12; // 0xc
10255  }
10256
10257  public class Binder implements android.os.IBinder {
10258    method public int handleShellCommand(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.ParcelFileDescriptor, @NonNull android.os.ParcelFileDescriptor, @NonNull String[]);
10259    method public static void setProxyTransactListener(@Nullable android.os.Binder.ProxyTransactListener);
10260  }
10261
10262  public static interface Binder.ProxyTransactListener {
10263    method public void onTransactEnded(@Nullable Object);
10264    method @Nullable public Object onTransactStarted(@NonNull android.os.IBinder, int);
10265  }
10266
10267  public final class BugreportManager {
10268    method @RequiresPermission(android.Manifest.permission.DUMP) public void requestBugreport(@NonNull android.os.BugreportParams, @Nullable CharSequence, @Nullable CharSequence);
10269    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);
10270  }
10271
10272  public final class BugreportParams {
10273    ctor public BugreportParams(int);
10274    method public int getMode();
10275    field public static final int BUGREPORT_MODE_FULL = 0; // 0x0
10276    field public static final int BUGREPORT_MODE_INTERACTIVE = 1; // 0x1
10277    field public static final int BUGREPORT_MODE_REMOTE = 2; // 0x2
10278    field public static final int BUGREPORT_MODE_TELEPHONY = 4; // 0x4
10279    field public static final int BUGREPORT_MODE_WEAR = 3; // 0x3
10280    field public static final int BUGREPORT_MODE_WIFI = 5; // 0x5
10281  }
10282
10283  public static class Build.VERSION {
10284    field @NonNull public static final String PREVIEW_SDK_FINGERPRINT;
10285  }
10286
10287  public final class ConfigUpdate {
10288    field public static final String ACTION_UPDATE_CARRIER_ID_DB = "android.os.action.UPDATE_CARRIER_ID_DB";
10289    field public static final String ACTION_UPDATE_CARRIER_PROVISIONING_URLS = "android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS";
10290    field public static final String ACTION_UPDATE_CONVERSATION_ACTIONS = "android.intent.action.UPDATE_CONVERSATION_ACTIONS";
10291    field public static final String ACTION_UPDATE_CT_LOGS = "android.intent.action.UPDATE_CT_LOGS";
10292    field public static final String ACTION_UPDATE_EMERGENCY_NUMBER_DB = "android.os.action.UPDATE_EMERGENCY_NUMBER_DB";
10293    field public static final String ACTION_UPDATE_INTENT_FIREWALL = "android.intent.action.UPDATE_INTENT_FIREWALL";
10294    field public static final String ACTION_UPDATE_LANG_ID = "android.intent.action.UPDATE_LANG_ID";
10295    field public static final String ACTION_UPDATE_NETWORK_WATCHLIST = "android.intent.action.UPDATE_NETWORK_WATCHLIST";
10296    field public static final String ACTION_UPDATE_PINS = "android.intent.action.UPDATE_PINS";
10297    field public static final String ACTION_UPDATE_SMART_SELECTION = "android.intent.action.UPDATE_SMART_SELECTION";
10298    field public static final String ACTION_UPDATE_SMS_SHORT_CODES = "android.intent.action.UPDATE_SMS_SHORT_CODES";
10299    field public static final String EXTRA_REQUIRED_HASH = "android.os.extra.REQUIRED_HASH";
10300    field public static final String EXTRA_VERSION = "android.os.extra.VERSION";
10301  }
10302
10303  public class DeviceIdleManager {
10304    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void endIdle(@NonNull String);
10305  }
10306
10307  public class Environment {
10308    method @NonNull public static java.util.Collection<java.io.File> getInternalMediaDirectories();
10309    method @NonNull public static java.io.File getOdmDirectory();
10310    method @NonNull public static java.io.File getOemDirectory();
10311    method @NonNull public static java.io.File getProductDirectory();
10312    method @Deprecated @NonNull public static java.io.File getProductServicesDirectory();
10313    method @NonNull public static java.io.File getSystemExtDirectory();
10314    method @NonNull public static java.io.File getVendorDirectory();
10315  }
10316
10317  public class HidlMemory implements java.io.Closeable {
10318    ctor public HidlMemory(@NonNull String, @IntRange(from=0) long, @Nullable android.os.NativeHandle);
10319    method public void close() throws java.io.IOException;
10320    method @NonNull public android.os.HidlMemory dup() throws java.io.IOException;
10321    method protected void finalize();
10322    method @Nullable public android.os.NativeHandle getHandle();
10323    method @NonNull public String getName();
10324    method public long getSize();
10325    method @Nullable public android.os.NativeHandle releaseHandle();
10326  }
10327
10328  public class HidlSupport {
10329    method public static boolean deepEquals(Object, Object);
10330    method public static int deepHashCode(Object);
10331    method public static int getPidIfSharable();
10332    method public static boolean interfacesEqual(android.os.IHwInterface, Object);
10333  }
10334
10335  public abstract class HwBinder implements android.os.IHwBinder {
10336    ctor public HwBinder();
10337    method public static final void configureRpcThreadpool(long, boolean);
10338    method public static void enableInstrumentation();
10339    method public static final android.os.IHwBinder getService(String, String) throws java.util.NoSuchElementException, android.os.RemoteException;
10340    method public static final android.os.IHwBinder getService(String, String, boolean) throws java.util.NoSuchElementException, android.os.RemoteException;
10341    method public static final void joinRpcThreadpool();
10342    method public abstract void onTransact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
10343    method public final void registerService(String) throws android.os.RemoteException;
10344    method public final void transact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
10345  }
10346
10347  public class HwBlob {
10348    ctor public HwBlob(int);
10349    method public final void copyToBoolArray(long, boolean[], int);
10350    method public final void copyToDoubleArray(long, double[], int);
10351    method public final void copyToFloatArray(long, float[], int);
10352    method public final void copyToInt16Array(long, short[], int);
10353    method public final void copyToInt32Array(long, int[], int);
10354    method public final void copyToInt64Array(long, long[], int);
10355    method public final void copyToInt8Array(long, byte[], int);
10356    method public final boolean getBool(long);
10357    method public final double getDouble(long);
10358    method public final long getFieldHandle(long);
10359    method public final float getFloat(long);
10360    method public final short getInt16(long);
10361    method public final int getInt32(long);
10362    method public final long getInt64(long);
10363    method public final byte getInt8(long);
10364    method public final String getString(long);
10365    method public final long handle();
10366    method public final void putBlob(long, android.os.HwBlob);
10367    method public final void putBool(long, boolean);
10368    method public final void putBoolArray(long, boolean[]);
10369    method public final void putDouble(long, double);
10370    method public final void putDoubleArray(long, double[]);
10371    method public final void putFloat(long, float);
10372    method public final void putFloatArray(long, float[]);
10373    method public final void putHidlMemory(long, @NonNull android.os.HidlMemory);
10374    method public final void putInt16(long, short);
10375    method public final void putInt16Array(long, short[]);
10376    method public final void putInt32(long, int);
10377    method public final void putInt32Array(long, int[]);
10378    method public final void putInt64(long, long);
10379    method public final void putInt64Array(long, long[]);
10380    method public final void putInt8(long, byte);
10381    method public final void putInt8Array(long, byte[]);
10382    method public final void putNativeHandle(long, @Nullable android.os.NativeHandle);
10383    method public final void putString(long, String);
10384    method public static Boolean[] wrapArray(@NonNull boolean[]);
10385    method public static Long[] wrapArray(@NonNull long[]);
10386    method public static Byte[] wrapArray(@NonNull byte[]);
10387    method public static Short[] wrapArray(@NonNull short[]);
10388    method public static Integer[] wrapArray(@NonNull int[]);
10389    method public static Float[] wrapArray(@NonNull float[]);
10390    method public static Double[] wrapArray(@NonNull double[]);
10391  }
10392
10393  public class HwParcel {
10394    ctor public HwParcel();
10395    method public final void enforceInterface(String);
10396    method public final boolean readBool();
10397    method public final java.util.ArrayList<java.lang.Boolean> readBoolVector();
10398    method public final android.os.HwBlob readBuffer(long);
10399    method public final double readDouble();
10400    method public final java.util.ArrayList<java.lang.Double> readDoubleVector();
10401    method public final android.os.HwBlob readEmbeddedBuffer(long, long, long, boolean);
10402    method @NonNull @Nullable public final android.os.HidlMemory readEmbeddedHidlMemory(long, long, long);
10403    method @Nullable public final android.os.NativeHandle readEmbeddedNativeHandle(long, long);
10404    method public final float readFloat();
10405    method public final java.util.ArrayList<java.lang.Float> readFloatVector();
10406    method @NonNull public final android.os.HidlMemory readHidlMemory();
10407    method public final short readInt16();
10408    method public final java.util.ArrayList<java.lang.Short> readInt16Vector();
10409    method public final int readInt32();
10410    method public final java.util.ArrayList<java.lang.Integer> readInt32Vector();
10411    method public final long readInt64();
10412    method public final java.util.ArrayList<java.lang.Long> readInt64Vector();
10413    method public final byte readInt8();
10414    method public final java.util.ArrayList<java.lang.Byte> readInt8Vector();
10415    method @Nullable public final android.os.NativeHandle readNativeHandle();
10416    method @NonNull public final java.util.ArrayList<android.os.NativeHandle> readNativeHandleVector();
10417    method public final String readString();
10418    method public final java.util.ArrayList<java.lang.String> readStringVector();
10419    method public final android.os.IHwBinder readStrongBinder();
10420    method public final void release();
10421    method public final void releaseTemporaryStorage();
10422    method public final void send();
10423    method public final void verifySuccess();
10424    method public final void writeBool(boolean);
10425    method public final void writeBoolVector(java.util.ArrayList<java.lang.Boolean>);
10426    method public final void writeBuffer(android.os.HwBlob);
10427    method public final void writeDouble(double);
10428    method public final void writeDoubleVector(java.util.ArrayList<java.lang.Double>);
10429    method public final void writeFloat(float);
10430    method public final void writeFloatVector(java.util.ArrayList<java.lang.Float>);
10431    method public final void writeHidlMemory(@NonNull android.os.HidlMemory);
10432    method public final void writeInt16(short);
10433    method public final void writeInt16Vector(java.util.ArrayList<java.lang.Short>);
10434    method public final void writeInt32(int);
10435    method public final void writeInt32Vector(java.util.ArrayList<java.lang.Integer>);
10436    method public final void writeInt64(long);
10437    method public final void writeInt64Vector(java.util.ArrayList<java.lang.Long>);
10438    method public final void writeInt8(byte);
10439    method public final void writeInt8Vector(java.util.ArrayList<java.lang.Byte>);
10440    method public final void writeInterfaceToken(String);
10441    method public final void writeNativeHandle(@Nullable android.os.NativeHandle);
10442    method public final void writeNativeHandleVector(@NonNull java.util.ArrayList<android.os.NativeHandle>);
10443    method public final void writeStatus(int);
10444    method public final void writeString(String);
10445    method public final void writeStringVector(java.util.ArrayList<java.lang.String>);
10446    method public final void writeStrongBinder(android.os.IHwBinder);
10447    field public static final int STATUS_SUCCESS = 0; // 0x0
10448  }
10449
10450  public interface IHwBinder {
10451    method public boolean linkToDeath(android.os.IHwBinder.DeathRecipient, long);
10452    method public android.os.IHwInterface queryLocalInterface(String);
10453    method public void transact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
10454    method public boolean unlinkToDeath(android.os.IHwBinder.DeathRecipient);
10455  }
10456
10457  public static interface IHwBinder.DeathRecipient {
10458    method public void serviceDied(long);
10459  }
10460
10461  public interface IHwInterface {
10462    method public android.os.IHwBinder asBinder();
10463  }
10464
10465  public class IncidentManager {
10466    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public void approveReport(android.net.Uri);
10467    method @RequiresPermission("android.permission.REQUEST_INCIDENT_REPORT_APPROVAL") public void cancelAuthorization(android.os.IncidentManager.AuthListener);
10468    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void deleteIncidentReports(android.net.Uri);
10469    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public void denyReport(android.net.Uri);
10470    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public android.os.IncidentManager.IncidentReport getIncidentReport(android.net.Uri);
10471    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public java.util.List<android.net.Uri> getIncidentReportList(String);
10472    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public java.util.List<android.os.IncidentManager.PendingReport> getPendingReports();
10473    method public void registerSection(int, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.os.IncidentManager.DumpCallback);
10474    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void reportIncident(android.os.IncidentReportArgs);
10475    method @RequiresPermission("android.permission.REQUEST_INCIDENT_REPORT_APPROVAL") public void requestAuthorization(int, String, int, android.os.IncidentManager.AuthListener);
10476    method public void unregisterSection(int);
10477    field public static final int FLAG_CONFIRMATION_DIALOG = 1; // 0x1
10478    field public static final int PRIVACY_POLICY_AUTO = 200; // 0xc8
10479    field public static final int PRIVACY_POLICY_EXPLICIT = 100; // 0x64
10480    field public static final int PRIVACY_POLICY_LOCAL = 0; // 0x0
10481  }
10482
10483  public static class IncidentManager.AuthListener {
10484    ctor public IncidentManager.AuthListener();
10485    method public void onReportApproved();
10486    method public void onReportDenied();
10487  }
10488
10489  public static class IncidentManager.DumpCallback {
10490    ctor public IncidentManager.DumpCallback();
10491    method public void onDumpSection(int, @NonNull java.io.OutputStream);
10492  }
10493
10494  public static class IncidentManager.IncidentReport implements java.io.Closeable android.os.Parcelable {
10495    ctor public IncidentManager.IncidentReport(android.os.Parcel);
10496    method public void close();
10497    method public int describeContents();
10498    method public java.io.InputStream getInputStream() throws java.io.IOException;
10499    method public long getPrivacyPolicy();
10500    method public long getTimestamp();
10501    method public void writeToParcel(android.os.Parcel, int);
10502    field @NonNull public static final android.os.Parcelable.Creator<android.os.IncidentManager.IncidentReport> CREATOR;
10503  }
10504
10505  public static class IncidentManager.PendingReport {
10506    ctor public IncidentManager.PendingReport(@NonNull android.net.Uri);
10507    method public int getFlags();
10508    method @NonNull public String getRequestingPackage();
10509    method public long getTimestamp();
10510    method @NonNull public android.net.Uri getUri();
10511  }
10512
10513  public final class IncidentReportArgs implements android.os.Parcelable {
10514    ctor public IncidentReportArgs();
10515    ctor public IncidentReportArgs(android.os.Parcel);
10516    method public void addHeader(byte[]);
10517    method public void addSection(int);
10518    method public boolean containsSection(int);
10519    method public int describeContents();
10520    method public boolean isAll();
10521    method public void readFromParcel(android.os.Parcel);
10522    method public int sectionCount();
10523    method public void setAll(boolean);
10524    method public void setPrivacyPolicy(int);
10525    method public void writeToParcel(android.os.Parcel, int);
10526    field @NonNull public static final android.os.Parcelable.Creator<android.os.IncidentReportArgs> CREATOR;
10527  }
10528
10529  public final class NativeHandle implements java.io.Closeable {
10530    ctor public NativeHandle();
10531    ctor public NativeHandle(@NonNull java.io.FileDescriptor, boolean);
10532    ctor public NativeHandle(@NonNull java.io.FileDescriptor[], @NonNull int[], boolean);
10533    method public void close() throws java.io.IOException;
10534    method @NonNull public android.os.NativeHandle dup() throws java.io.IOException;
10535    method @NonNull public java.io.FileDescriptor getFileDescriptor();
10536    method @NonNull public java.io.FileDescriptor[] getFileDescriptors();
10537    method @NonNull public int[] getInts();
10538    method public boolean hasSingleFileDescriptor();
10539  }
10540
10541  public interface Parcelable {
10542    field public static final int PARCELABLE_STABILITY_LOCAL = 0; // 0x0
10543    field public static final int PARCELABLE_STABILITY_VINTF = 1; // 0x1
10544  }
10545
10546  public final class ParcelableHolder implements android.os.Parcelable {
10547    ctor public ParcelableHolder(int);
10548    method public int describeContents();
10549    method @Nullable public <T extends android.os.Parcelable> T getParcelable(@NonNull Class<T>);
10550    method public int getStability();
10551    method public void readFromParcel(@NonNull android.os.Parcel);
10552    method public void setParcelable(@Nullable android.os.Parcelable);
10553    method public void writeToParcel(@NonNull android.os.Parcel, int);
10554    field @NonNull public static final android.os.Parcelable.Creator<android.os.ParcelableHolder> CREATOR;
10555  }
10556
10557  public class PowerExemptionManager {
10558    method @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void addToTemporaryAllowList(@NonNull String, int, @Nullable String, long);
10559    method @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long addToTemporaryAllowListForEvent(@NonNull String, int, @Nullable String, int);
10560    field public static final int EVENT_MMS = 2; // 0x2
10561    field public static final int EVENT_SMS = 1; // 0x1
10562    field public static final int EVENT_UNSPECIFIED = 0; // 0x0
10563    field public static final int REASON_ACCOUNT_TRANSFER = 104; // 0x68
10564    field public static final int REASON_ACTIVITY_RECOGNITION = 103; // 0x67
10565    field public static final int REASON_GEOFENCING = 100; // 0x64
10566    field public static final int REASON_LOCATION_PROVIDER = 312; // 0x138
10567    field public static final int REASON_OTHER = 1; // 0x1
10568    field public static final int REASON_PUSH_MESSAGING = 101; // 0x65
10569    field public static final int REASON_PUSH_MESSAGING_OVER_QUOTA = 102; // 0x66
10570    field public static final int REASON_UNKNOWN = 0; // 0x0
10571    field public static final int TEMPORARY_ALLOW_LIST_TYPE_FOREGROUND_SERVICE_ALLOWED = 0; // 0x0
10572    field public static final int TEMPORARY_ALLOW_LIST_TYPE_FOREGROUND_SERVICE_NOT_ALLOWED = 1; // 0x1
10573    field public static final int TEMPORARY_ALLOW_LIST_TYPE_NONE = -1; // 0xffffffff
10574  }
10575
10576  public final class PowerManager {
10577    method @RequiresPermission(allOf={android.Manifest.permission.READ_DREAM_STATE, android.Manifest.permission.WRITE_DREAM_STATE}) public void dream(long);
10578    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public boolean forceSuspend();
10579    method @NonNull public android.os.BatterySaverPolicyConfig getFullPowerSavePolicy();
10580    method public int getPowerSaveModeTrigger();
10581    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplayAvailable();
10582    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplaySuppressed();
10583    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplaySuppressedForToken(@NonNull String);
10584    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setAdaptivePowerSaveEnabled(boolean);
10585    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setAdaptivePowerSavePolicy(@NonNull android.os.BatterySaverPolicyConfig);
10586    method @RequiresPermission(anyOf={android.Manifest.permission.BATTERY_PREDICTION, android.Manifest.permission.DEVICE_POWER}) public void setBatteryDischargePrediction(@NonNull java.time.Duration, boolean);
10587    method @RequiresPermission(android.Manifest.permission.POWER_SAVER) public boolean setDynamicPowerSaveHint(boolean, int);
10588    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setFullPowerSavePolicy(@NonNull android.os.BatterySaverPolicyConfig);
10589    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setPowerSaveModeEnabled(boolean);
10590    method @RequiresPermission(android.Manifest.permission.WRITE_DREAM_STATE) public void suppressAmbientDisplay(@NonNull String, boolean);
10591    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.USER_ACTIVITY}) public void userActivity(long, int, int);
10592    field public static final int POWER_SAVE_MODE_TRIGGER_DYNAMIC = 1; // 0x1
10593    field public static final int POWER_SAVE_MODE_TRIGGER_PERCENTAGE = 0; // 0x0
10594    field public static final String REBOOT_USERSPACE = "userspace";
10595    field public static final int SOUND_TRIGGER_MODE_ALL_DISABLED = 2; // 0x2
10596    field public static final int SOUND_TRIGGER_MODE_ALL_ENABLED = 0; // 0x0
10597    field public static final int SOUND_TRIGGER_MODE_CRITICAL_ONLY = 1; // 0x1
10598    field public static final int USER_ACTIVITY_EVENT_ACCESSIBILITY = 3; // 0x3
10599    field public static final int USER_ACTIVITY_EVENT_BUTTON = 1; // 0x1
10600    field public static final int USER_ACTIVITY_EVENT_OTHER = 0; // 0x0
10601    field public static final int USER_ACTIVITY_EVENT_TOUCH = 2; // 0x2
10602    field public static final int USER_ACTIVITY_FLAG_INDIRECT = 2; // 0x2
10603    field public static final int USER_ACTIVITY_FLAG_NO_CHANGE_LIGHTS = 1; // 0x1
10604  }
10605
10606  @Deprecated public class PowerWhitelistManager {
10607    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void addToWhitelist(@NonNull String);
10608    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void addToWhitelist(@NonNull java.util.List<java.lang.String>);
10609    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void removeFromWhitelist(@NonNull String);
10610    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(@NonNull String, long, int, @Nullable String);
10611    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(@NonNull String, long);
10612    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long whitelistAppTemporarilyForEvent(@NonNull String, int, @Nullable String);
10613    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long whitelistAppTemporarilyForEvent(@NonNull String, int, int, @Nullable String);
10614    field @Deprecated public static final int EVENT_MMS = 2; // 0x2
10615    field @Deprecated public static final int EVENT_SMS = 1; // 0x1
10616    field @Deprecated public static final int EVENT_UNSPECIFIED = 0; // 0x0
10617    field @Deprecated public static final int REASON_ACTIVITY_RECOGNITION = 103; // 0x67
10618    field @Deprecated public static final int REASON_GEOFENCING = 100; // 0x64
10619    field @Deprecated public static final int REASON_LOCATION_PROVIDER = 312; // 0x138
10620    field @Deprecated public static final int REASON_OTHER = 1; // 0x1
10621    field @Deprecated public static final int REASON_PUSH_MESSAGING = 101; // 0x65
10622    field @Deprecated public static final int REASON_PUSH_MESSAGING_OVER_QUOTA = 102; // 0x66
10623    field @Deprecated public static final int REASON_UNKNOWN = 0; // 0x0
10624    field @Deprecated public static final int TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_ALLOWED = 0; // 0x0
10625    field @Deprecated public static final int TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_NOT_ALLOWED = 1; // 0x1
10626  }
10627
10628  public class RecoverySystem {
10629    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void cancelScheduledUpdate(android.content.Context) throws java.io.IOException;
10630    method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static void clearPrepareForUnattendedUpdate(@NonNull android.content.Context) throws java.io.IOException;
10631    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void installPackage(android.content.Context, java.io.File, boolean) throws java.io.IOException;
10632    method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static boolean isPreparedForUnattendedUpdate(@NonNull android.content.Context) throws java.io.IOException;
10633    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;
10634    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;
10635    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void processPackage(android.content.Context, java.io.File, android.os.RecoverySystem.ProgressListener) throws java.io.IOException;
10636    method @Deprecated @RequiresPermission(android.Manifest.permission.RECOVERY) public static void rebootAndApply(@NonNull android.content.Context, @NonNull String, @NonNull String) throws java.io.IOException;
10637    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;
10638    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;
10639    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void scheduleUpdateOnBoot(android.content.Context, java.io.File) throws java.io.IOException;
10640    method public static boolean verifyPackageCompatibility(java.io.File) throws java.io.IOException;
10641    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_INVALID_PACKAGE_NAME = 2000; // 0x7d0
10642    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_LSKF_NOT_CAPTURED = 3000; // 0xbb8
10643    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_PROVIDER_PREPARATION_FAILURE = 5000; // 0x1388
10644    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_SLOT_MISMATCH = 4000; // 0xfa0
10645    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_UNSPECIFIED = 1000; // 0x3e8
10646  }
10647
10648  public final class RemoteCallback implements android.os.Parcelable {
10649    ctor public RemoteCallback(android.os.RemoteCallback.OnResultListener);
10650    ctor public RemoteCallback(@NonNull android.os.RemoteCallback.OnResultListener, @Nullable android.os.Handler);
10651    method public int describeContents();
10652    method public void sendResult(@Nullable android.os.Bundle);
10653    method public void writeToParcel(android.os.Parcel, int);
10654    field @NonNull public static final android.os.Parcelable.Creator<android.os.RemoteCallback> CREATOR;
10655  }
10656
10657  public static interface RemoteCallback.OnResultListener {
10658    method public void onResult(@Nullable android.os.Bundle);
10659  }
10660
10661  public class ServiceSpecificException extends java.lang.RuntimeException {
10662    ctor public ServiceSpecificException(int, @Nullable String);
10663    ctor public ServiceSpecificException(int);
10664    field public final int errorCode;
10665  }
10666
10667  public final class StatsDimensionsValue implements android.os.Parcelable {
10668    method public int describeContents();
10669    method public boolean getBooleanValue();
10670    method public int getField();
10671    method public float getFloatValue();
10672    method public int getIntValue();
10673    method public long getLongValue();
10674    method public String getStringValue();
10675    method public java.util.List<android.os.StatsDimensionsValue> getTupleValueList();
10676    method public int getValueType();
10677    method public boolean isValueType(int);
10678    method public void writeToParcel(android.os.Parcel, int);
10679    field public static final int BOOLEAN_VALUE_TYPE = 5; // 0x5
10680    field @NonNull public static final android.os.Parcelable.Creator<android.os.StatsDimensionsValue> CREATOR;
10681    field public static final int FLOAT_VALUE_TYPE = 6; // 0x6
10682    field public static final int INT_VALUE_TYPE = 3; // 0x3
10683    field public static final int LONG_VALUE_TYPE = 4; // 0x4
10684    field public static final int STRING_VALUE_TYPE = 2; // 0x2
10685    field public static final int TUPLE_VALUE_TYPE = 7; // 0x7
10686  }
10687
10688  public class SystemConfigManager {
10689    method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Set<java.lang.String> getDisabledUntilUsedPreinstalledCarrierApps();
10690    method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getDisabledUntilUsedPreinstalledCarrierAssociatedApps();
10691    method @NonNull @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSIONS) public int[] getSystemPermissionUids(@NonNull String);
10692  }
10693
10694  public class SystemProperties {
10695    method @NonNull public static String get(@NonNull String);
10696    method @NonNull public static String get(@NonNull String, @Nullable String);
10697    method public static boolean getBoolean(@NonNull String, boolean);
10698    method public static int getInt(@NonNull String, int);
10699    method public static long getLong(@NonNull String, long);
10700  }
10701
10702  public class SystemUpdateManager {
10703    method @RequiresPermission(anyOf={android.Manifest.permission.READ_SYSTEM_UPDATE_INFO, android.Manifest.permission.RECOVERY}) public android.os.Bundle retrieveSystemUpdateInfo();
10704    method @RequiresPermission(android.Manifest.permission.RECOVERY) public void updateSystemUpdateInfo(android.os.PersistableBundle);
10705    field public static final String KEY_IS_SECURITY_UPDATE = "is_security_update";
10706    field public static final String KEY_STATUS = "status";
10707    field public static final String KEY_TARGET_BUILD_FINGERPRINT = "target_build_fingerprint";
10708    field public static final String KEY_TARGET_SECURITY_PATCH_LEVEL = "target_security_patch_level";
10709    field public static final String KEY_TITLE = "title";
10710    field public static final int STATUS_IDLE = 1; // 0x1
10711    field public static final int STATUS_IN_PROGRESS = 3; // 0x3
10712    field public static final int STATUS_UNKNOWN = 0; // 0x0
10713    field public static final int STATUS_WAITING_DOWNLOAD = 2; // 0x2
10714    field public static final int STATUS_WAITING_INSTALL = 4; // 0x4
10715    field public static final int STATUS_WAITING_REBOOT = 5; // 0x5
10716  }
10717
10718  public class UpdateEngine {
10719    ctor public UpdateEngine();
10720    method @NonNull @WorkerThread public android.os.UpdateEngine.AllocateSpaceResult allocateSpace(@NonNull String, @NonNull String[]);
10721    method public void applyPayload(String, long, long, String[]);
10722    method public void applyPayload(@NonNull android.content.res.AssetFileDescriptor, @NonNull String[]);
10723    method public boolean bind(android.os.UpdateEngineCallback, android.os.Handler);
10724    method public boolean bind(android.os.UpdateEngineCallback);
10725    method public void cancel();
10726    method @WorkerThread public int cleanupAppliedPayload();
10727    method public void resetStatus();
10728    method public void resume();
10729    method public void suspend();
10730    method public boolean unbind();
10731    method public boolean verifyPayloadMetadata(String);
10732  }
10733
10734  public static final class UpdateEngine.AllocateSpaceResult {
10735    method public int getErrorCode();
10736    method public long getFreeSpaceRequired();
10737  }
10738
10739  public static final class UpdateEngine.ErrorCodeConstants {
10740    ctor public UpdateEngine.ErrorCodeConstants();
10741    field public static final int DEVICE_CORRUPTED = 61; // 0x3d
10742    field public static final int DOWNLOAD_PAYLOAD_VERIFICATION_ERROR = 12; // 0xc
10743    field public static final int DOWNLOAD_TRANSFER_ERROR = 9; // 0x9
10744    field public static final int ERROR = 1; // 0x1
10745    field public static final int FILESYSTEM_COPIER_ERROR = 4; // 0x4
10746    field public static final int INSTALL_DEVICE_OPEN_ERROR = 7; // 0x7
10747    field public static final int KERNEL_DEVICE_OPEN_ERROR = 8; // 0x8
10748    field public static final int NOT_ENOUGH_SPACE = 60; // 0x3c
10749    field public static final int PAYLOAD_HASH_MISMATCH_ERROR = 10; // 0xa
10750    field public static final int PAYLOAD_MISMATCHED_TYPE_ERROR = 6; // 0x6
10751    field public static final int PAYLOAD_SIZE_MISMATCH_ERROR = 11; // 0xb
10752    field public static final int PAYLOAD_TIMESTAMP_ERROR = 51; // 0x33
10753    field public static final int POST_INSTALL_RUNNER_ERROR = 5; // 0x5
10754    field public static final int SUCCESS = 0; // 0x0
10755    field public static final int UPDATED_BUT_NOT_ACTIVE = 52; // 0x34
10756  }
10757
10758  public static final class UpdateEngine.UpdateStatusConstants {
10759    ctor public UpdateEngine.UpdateStatusConstants();
10760    field public static final int ATTEMPTING_ROLLBACK = 8; // 0x8
10761    field public static final int CHECKING_FOR_UPDATE = 1; // 0x1
10762    field public static final int DISABLED = 9; // 0x9
10763    field public static final int DOWNLOADING = 3; // 0x3
10764    field public static final int FINALIZING = 5; // 0x5
10765    field public static final int IDLE = 0; // 0x0
10766    field public static final int REPORTING_ERROR_EVENT = 7; // 0x7
10767    field public static final int UPDATED_NEED_REBOOT = 6; // 0x6
10768    field public static final int UPDATE_AVAILABLE = 2; // 0x2
10769    field public static final int VERIFYING = 4; // 0x4
10770  }
10771
10772  public abstract class UpdateEngineCallback {
10773    ctor public UpdateEngineCallback();
10774    method public abstract void onPayloadApplicationComplete(int);
10775    method public abstract void onStatusUpdate(int, float);
10776  }
10777
10778  public final class UserHandle implements android.os.Parcelable {
10779    method @NonNull public static String formatUid(int);
10780    method public static int getAppId(int);
10781    method public int getIdentifier();
10782    method public int getUid(int);
10783    method @Deprecated public boolean isOwner();
10784    method public boolean isSystem();
10785    method public static int myUserId();
10786    method public static android.os.UserHandle of(int);
10787    field @NonNull public static final android.os.UserHandle ALL;
10788    field @NonNull public static final android.os.UserHandle CURRENT;
10789    field @NonNull public static final android.os.UserHandle SYSTEM;
10790  }
10791
10792  public class UserManager {
10793    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean canHaveRestrictedProfile();
10794    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void clearSeedAccountData();
10795    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;
10796    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}, conditional=true) public java.util.List<android.os.UserHandle> getAllProfiles();
10797    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}, conditional=true) public java.util.List<android.os.UserHandle> getEnabledProfiles();
10798    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public android.os.UserHandle getProfileParent(@NonNull android.os.UserHandle);
10799    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.os.UserHandle getRestrictedProfileParent();
10800    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountName();
10801    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.PersistableBundle getSeedAccountOptions();
10802    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountType();
10803    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public long[] getSerialNumbersOfUsers(boolean);
10804    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public java.util.List<android.os.UserHandle> getUserHandles(boolean);
10805    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}) public android.graphics.Bitmap getUserIcon();
10806    method @Deprecated @android.os.UserManager.UserRestrictionSource @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public int getUserRestrictionSource(String, android.os.UserHandle);
10807    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public java.util.List<android.os.UserManager.EnforcingUser> getUserRestrictionSources(String, android.os.UserHandle);
10808    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();
10809    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean hasRestrictedProfiles();
10810    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);
10811    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isAdminUser();
10812    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isCloneProfile();
10813    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean isGuestUser();
10814    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isManagedProfile(int);
10815    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isMediaSharedWithParent();
10816    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean isPrimaryUser();
10817    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isProfile();
10818    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isRestrictedProfile();
10819    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean isRestrictedProfile(@NonNull android.os.UserHandle);
10820    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isSameProfileGroup(@NonNull android.os.UserHandle, @NonNull android.os.UserHandle);
10821    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}) public boolean isUserNameSet();
10822    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isUserOfType(@NonNull String);
10823    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isUserUnlockingOrUnlocked(@NonNull android.os.UserHandle);
10824    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean removeUser(@NonNull android.os.UserHandle);
10825    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserIcon(@NonNull android.graphics.Bitmap) throws android.os.UserManager.UserOperationException;
10826    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserName(@Nullable String);
10827    field public static final String ACTION_USER_RESTRICTIONS_CHANGED = "android.os.action.USER_RESTRICTIONS_CHANGED";
10828    field @Deprecated public static final String DISALLOW_OEM_UNLOCK = "no_oem_unlock";
10829    field public static final String DISALLOW_RUN_IN_BACKGROUND = "no_run_in_background";
10830    field public static final int RESTRICTION_NOT_SET = 0; // 0x0
10831    field public static final int RESTRICTION_SOURCE_DEVICE_OWNER = 2; // 0x2
10832    field public static final int RESTRICTION_SOURCE_PROFILE_OWNER = 4; // 0x4
10833    field public static final int RESTRICTION_SOURCE_SYSTEM = 1; // 0x1
10834    field public static final int SWITCHABILITY_STATUS_OK = 0; // 0x0
10835    field public static final int SWITCHABILITY_STATUS_SYSTEM_USER_LOCKED = 4; // 0x4
10836    field public static final int SWITCHABILITY_STATUS_USER_IN_CALL = 1; // 0x1
10837    field public static final int SWITCHABILITY_STATUS_USER_SWITCH_DISALLOWED = 2; // 0x2
10838    field public static final String USER_TYPE_FULL_SECONDARY = "android.os.usertype.full.SECONDARY";
10839    field public static final String USER_TYPE_FULL_SYSTEM = "android.os.usertype.full.SYSTEM";
10840    field public static final String USER_TYPE_PROFILE_CLONE = "android.os.usertype.profile.CLONE";
10841    field public static final String USER_TYPE_PROFILE_MANAGED = "android.os.usertype.profile.MANAGED";
10842    field public static final String USER_TYPE_SYSTEM_HEADLESS = "android.os.usertype.system.HEADLESS";
10843  }
10844
10845  public static final class UserManager.EnforcingUser implements android.os.Parcelable {
10846    method public int describeContents();
10847    method public android.os.UserHandle getUserHandle();
10848    method @android.os.UserManager.UserRestrictionSource public int getUserRestrictionSource();
10849    method public void writeToParcel(android.os.Parcel, int);
10850    field @NonNull public static final android.os.Parcelable.Creator<android.os.UserManager.EnforcingUser> CREATOR;
10851  }
10852
10853  @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 {
10854  }
10855
10856  public abstract class Vibrator {
10857    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void addVibratorStateListener(@NonNull android.os.Vibrator.OnVibratorStateChangedListener);
10858    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void addVibratorStateListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.Vibrator.OnVibratorStateChangedListener);
10859    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public boolean isVibrating();
10860    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void removeVibratorStateListener(@NonNull android.os.Vibrator.OnVibratorStateChangedListener);
10861  }
10862
10863  public static interface Vibrator.OnVibratorStateChangedListener {
10864    method public void onVibratorStateChanged(boolean);
10865  }
10866
10867  public class WorkSource implements android.os.Parcelable {
10868    ctor public WorkSource(int);
10869    ctor public WorkSource(int, @NonNull String);
10870    method public android.os.WorkSource.WorkChain createWorkChain();
10871    method @Nullable public String getPackageName(int);
10872    method public int getUid(int);
10873    method @Nullable public java.util.List<android.os.WorkSource.WorkChain> getWorkChains();
10874    method public boolean isEmpty();
10875    method public int size();
10876    method @NonNull public android.os.WorkSource withoutNames();
10877  }
10878
10879  public static final class WorkSource.WorkChain implements android.os.Parcelable {
10880    ctor public WorkSource.WorkChain();
10881    method public android.os.WorkSource.WorkChain addNode(int, @Nullable String);
10882    method public int describeContents();
10883    method public String getAttributionTag();
10884    method public int getAttributionUid();
10885    method public void writeToParcel(android.os.Parcel, int);
10886    field @NonNull public static final android.os.Parcelable.Creator<android.os.WorkSource.WorkChain> CREATOR;
10887  }
10888
10889}
10890
10891package android.os.connectivity {
10892
10893  public final class CellularBatteryStats implements android.os.Parcelable {
10894    method public int describeContents();
10895    method public long getEnergyConsumedMaMillis();
10896    method public long getIdleTimeMillis();
10897    method public long getKernelActiveTimeMillis();
10898    method public long getLoggingDurationMillis();
10899    method public long getMonitoredRailChargeConsumedMaMillis();
10900    method public long getNumBytesRx();
10901    method public long getNumBytesTx();
10902    method public long getNumPacketsRx();
10903    method public long getNumPacketsTx();
10904    method public long getRxTimeMillis();
10905    method public long getSleepTimeMillis();
10906    method @NonNull public long getTimeInRatMicros(int);
10907    method @NonNull public long getTimeInRxSignalStrengthLevelMicros(@IntRange(from=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN, to=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_GREAT) int);
10908    method public void writeToParcel(@NonNull android.os.Parcel, int);
10909    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.CellularBatteryStats> CREATOR;
10910  }
10911
10912  public final class WifiActivityEnergyInfo implements android.os.Parcelable {
10913    ctor public WifiActivityEnergyInfo(long, int, @IntRange(from=0) long, @IntRange(from=0) long, @IntRange(from=0) long, @IntRange(from=0) long);
10914    method public int describeContents();
10915    method @IntRange(from=0) public long getControllerEnergyUsedMicroJoules();
10916    method @IntRange(from=0) public long getControllerIdleDurationMillis();
10917    method @IntRange(from=0) public long getControllerRxDurationMillis();
10918    method @IntRange(from=0) public long getControllerScanDurationMillis();
10919    method @IntRange(from=0) public long getControllerTxDurationMillis();
10920    method public int getStackState();
10921    method public long getTimeSinceBootMillis();
10922    method public void writeToParcel(@NonNull android.os.Parcel, int);
10923    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.WifiActivityEnergyInfo> CREATOR;
10924    field public static final int STACK_STATE_INVALID = 0; // 0x0
10925    field public static final int STACK_STATE_STATE_ACTIVE = 1; // 0x1
10926    field public static final int STACK_STATE_STATE_IDLE = 3; // 0x3
10927    field public static final int STACK_STATE_STATE_SCANNING = 2; // 0x2
10928  }
10929
10930  public final class WifiBatteryStats implements android.os.Parcelable {
10931    method public int describeContents();
10932    method public long getAppScanRequestCount();
10933    method public long getEnergyConsumedMaMillis();
10934    method public long getIdleTimeMillis();
10935    method public long getKernelActiveTimeMillis();
10936    method public long getLoggingDurationMillis();
10937    method public long getMonitoredRailChargeConsumedMaMillis();
10938    method public long getNumBytesRx();
10939    method public long getNumBytesTx();
10940    method public long getNumPacketsRx();
10941    method public long getNumPacketsTx();
10942    method public long getRxTimeMillis();
10943    method public long getScanTimeMillis();
10944    method public long getSleepTimeMillis();
10945    method public long getTxTimeMillis();
10946    method public void writeToParcel(@NonNull android.os.Parcel, int);
10947    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.WifiBatteryStats> CREATOR;
10948  }
10949
10950}
10951
10952package android.os.ext {
10953
10954  public class SdkExtensions {
10955    method @NonNull public static java.util.Map<java.lang.Integer,java.lang.Integer> getAllExtensionVersions();
10956    method public static int getExtensionVersion(int);
10957  }
10958
10959}
10960
10961package android.os.image {
10962
10963  public class DynamicSystemClient {
10964    ctor public DynamicSystemClient(@NonNull android.content.Context);
10965    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void bind();
10966    method public void setOnStatusChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.image.DynamicSystemClient.OnStatusChangedListener);
10967    method public void setOnStatusChangedListener(@NonNull android.os.image.DynamicSystemClient.OnStatusChangedListener);
10968    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void start(@NonNull android.net.Uri, long);
10969    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void start(@NonNull android.net.Uri, long, long);
10970    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void unbind();
10971    field public static final int CAUSE_ERROR_EXCEPTION = 6; // 0x6
10972    field public static final int CAUSE_ERROR_INVALID_URL = 4; // 0x4
10973    field public static final int CAUSE_ERROR_IO = 3; // 0x3
10974    field public static final int CAUSE_ERROR_IPC = 5; // 0x5
10975    field public static final int CAUSE_INSTALL_CANCELLED = 2; // 0x2
10976    field public static final int CAUSE_INSTALL_COMPLETED = 1; // 0x1
10977    field public static final int CAUSE_NOT_SPECIFIED = 0; // 0x0
10978    field public static final int STATUS_IN_PROGRESS = 2; // 0x2
10979    field public static final int STATUS_IN_USE = 4; // 0x4
10980    field public static final int STATUS_NOT_STARTED = 1; // 0x1
10981    field public static final int STATUS_READY = 3; // 0x3
10982    field public static final int STATUS_UNKNOWN = 0; // 0x0
10983  }
10984
10985  public static interface DynamicSystemClient.OnStatusChangedListener {
10986    method public void onStatusChanged(int, int, long, @Nullable Throwable);
10987  }
10988
10989}
10990
10991package android.os.storage {
10992
10993  public class StorageManager {
10994    method @WorkerThread public void allocateBytes(@NonNull java.util.UUID, long, @RequiresPermission int) throws java.io.IOException;
10995    method @WorkerThread public void allocateBytes(java.io.FileDescriptor, long, @RequiresPermission int) throws java.io.IOException;
10996    method @WorkerThread public long getAllocatableBytes(@NonNull java.util.UUID, @RequiresPermission int) throws java.io.IOException;
10997    method @RequiresPermission(android.Manifest.permission.WRITE_MEDIA_STORAGE) public int getExternalStorageMountMode(int, @NonNull String);
10998    method public static boolean hasIsolatedStorage();
10999    method public void updateExternalStorageFileQuotaType(@NonNull java.io.File, int) throws java.io.IOException;
11000    field @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public static final int FLAG_ALLOCATE_AGGRESSIVE = 1; // 0x1
11001    field public static final int MOUNT_MODE_EXTERNAL_ANDROID_WRITABLE = 4; // 0x4
11002    field public static final int MOUNT_MODE_EXTERNAL_DEFAULT = 1; // 0x1
11003    field public static final int MOUNT_MODE_EXTERNAL_INSTALLER = 2; // 0x2
11004    field public static final int MOUNT_MODE_EXTERNAL_NONE = 0; // 0x0
11005    field public static final int MOUNT_MODE_EXTERNAL_PASS_THROUGH = 3; // 0x3
11006    field public static final int QUOTA_TYPE_MEDIA_AUDIO = 2; // 0x2
11007    field public static final int QUOTA_TYPE_MEDIA_IMAGE = 1; // 0x1
11008    field public static final int QUOTA_TYPE_MEDIA_NONE = 0; // 0x0
11009    field public static final int QUOTA_TYPE_MEDIA_VIDEO = 3; // 0x3
11010  }
11011
11012  public final class StorageVolume implements android.os.Parcelable {
11013    method @NonNull public String getId();
11014  }
11015
11016}
11017
11018package android.permission {
11019
11020  public final class AdminPermissionControlParams implements android.os.Parcelable {
11021    method public boolean canAdminGrantSensorsPermissions();
11022    method public int describeContents();
11023    method public int getGrantState();
11024    method @NonNull public String getGranteePackageName();
11025    method @NonNull public String getPermission();
11026    method public void writeToParcel(@NonNull android.os.Parcel, int);
11027    field @NonNull public static final android.os.Parcelable.Creator<android.permission.AdminPermissionControlParams> CREATOR;
11028  }
11029
11030  public final class PermissionControllerManager {
11031    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>);
11032    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[]>);
11033    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);
11034    method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.RESTORE_RUNTIME_PERMISSIONS}) public void stageAndApplyRuntimePermissionsBackup(@NonNull byte[], @NonNull android.os.UserHandle);
11035    field public static final int COUNT_ONLY_WHEN_GRANTED = 1; // 0x1
11036    field public static final int COUNT_WHEN_SYSTEM = 2; // 0x2
11037    field public static final int REASON_INSTALLER_POLICY_VIOLATION = 2; // 0x2
11038    field public static final int REASON_MALWARE = 1; // 0x1
11039  }
11040
11041  public abstract static class PermissionControllerManager.OnRevokeRuntimePermissionsCallback {
11042    ctor public PermissionControllerManager.OnRevokeRuntimePermissionsCallback();
11043    method public abstract void onRevokeRuntimePermissions(@NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>);
11044  }
11045
11046  public abstract class PermissionControllerService extends android.app.Service {
11047    ctor public PermissionControllerService();
11048    method @NonNull @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public String getPrivilegesDescriptionStringForProfile(@NonNull String);
11049    method @BinderThread public void onApplyStagedRuntimePermissionBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.function.Consumer<java.lang.Boolean>);
11050    method @NonNull public final android.os.IBinder onBind(android.content.Intent);
11051    method @BinderThread public abstract void onCountPermissionApps(@NonNull java.util.List<java.lang.String>, int, @NonNull java.util.function.IntConsumer);
11052    method @BinderThread public abstract void onGetAppPermissions(@NonNull String, @NonNull java.util.function.Consumer<java.util.List<android.permission.RuntimePermissionPresentationInfo>>);
11053    method @BinderThread public void onGetGroupOfPlatformPermission(@NonNull String, @NonNull java.util.function.Consumer<java.lang.String>);
11054    method @BinderThread public abstract void onGetPermissionUsages(boolean, long, @NonNull java.util.function.Consumer<java.util.List<android.permission.RuntimePermissionUsageInfo>>);
11055    method @BinderThread public void onGetPlatformPermissionsForGroup(@NonNull String, @NonNull java.util.function.Consumer<java.util.List<java.lang.String>>);
11056    method @BinderThread public abstract void onGetRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.OutputStream, @NonNull Runnable);
11057    method @BinderThread public abstract void onGrantOrUpgradeDefaultRuntimePermissions(@NonNull Runnable);
11058    method @BinderThread public void onOneTimePermissionSessionTimeout(@NonNull String);
11059    method @Deprecated @BinderThread public void onRestoreDelayedRuntimePermissionsBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.function.Consumer<java.lang.Boolean>);
11060    method @Deprecated @BinderThread public void onRestoreRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable);
11061    method @BinderThread public abstract void onRevokeRuntimePermission(@NonNull String, @NonNull String, @NonNull Runnable);
11062    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>>>);
11063    method @Deprecated @BinderThread public abstract void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String, @NonNull String, @NonNull String, int, @NonNull java.util.function.Consumer<java.lang.Boolean>);
11064    method @BinderThread public void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String, @NonNull android.permission.AdminPermissionControlParams, @NonNull java.util.function.Consumer<java.lang.Boolean>);
11065    method @BinderThread public void onStageAndApplyRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable);
11066    method @BinderThread public void onUpdateUserSensitivePermissionFlags(int, @NonNull java.util.concurrent.Executor, @NonNull Runnable);
11067    method @BinderThread public void onUpdateUserSensitivePermissionFlags(int, @NonNull Runnable);
11068    field public static final String SERVICE_INTERFACE = "android.permission.PermissionControllerService";
11069  }
11070
11071  public final class PermissionManager {
11072    method public int checkDeviceIdentifierAccess(@Nullable String, @Nullable String, @Nullable String, int, int);
11073    method @NonNull @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Set<java.lang.String> getAutoRevokeExemptionGrantedPackages();
11074    method @NonNull @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Set<java.lang.String> getAutoRevokeExemptionRequestedPackages();
11075    method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY, android.Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS}) public int getRuntimePermissionsVersion();
11076    method @NonNull public java.util.List<android.permission.PermissionManager.SplitPermissionInfo> getSplitPermissions();
11077    method @RequiresPermission(anyOf={android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY, android.Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS}) public void setRuntimePermissionsVersion(@IntRange(from=0) int);
11078    method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void startOneTimePermissionSession(@NonNull String, long, int, int);
11079    method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void stopOneTimePermissionSession(@NonNull String);
11080  }
11081
11082  public static final class PermissionManager.SplitPermissionInfo {
11083    method @NonNull public java.util.List<java.lang.String> getNewPermissions();
11084    method @NonNull public String getSplitPermission();
11085    method public int getTargetSdk();
11086  }
11087
11088  public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
11089    ctor public RuntimePermissionPresentationInfo(@NonNull CharSequence, boolean, boolean);
11090    method public int describeContents();
11091    method @NonNull public CharSequence getLabel();
11092    method public boolean isGranted();
11093    method public boolean isStandard();
11094    method public void writeToParcel(android.os.Parcel, int);
11095    field @NonNull public static final android.os.Parcelable.Creator<android.permission.RuntimePermissionPresentationInfo> CREATOR;
11096  }
11097
11098  public final class RuntimePermissionUsageInfo implements android.os.Parcelable {
11099    ctor public RuntimePermissionUsageInfo(@NonNull String, int);
11100    method public int describeContents();
11101    method public int getAppAccessCount();
11102    method @NonNull public String getName();
11103    method public void writeToParcel(android.os.Parcel, int);
11104    field @NonNull public static final android.os.Parcelable.Creator<android.permission.RuntimePermissionUsageInfo> CREATOR;
11105  }
11106
11107}
11108
11109package android.permissionpresenterservice {
11110
11111  @Deprecated public abstract class RuntimePermissionPresenterService extends android.app.Service {
11112    ctor @Deprecated public RuntimePermissionPresenterService();
11113    method @Deprecated public final void attachBaseContext(android.content.Context);
11114    method @Deprecated public final android.os.IBinder onBind(android.content.Intent);
11115    method @Deprecated public abstract java.util.List<android.content.pm.permission.RuntimePermissionPresentationInfo> onGetAppPermissions(@NonNull String);
11116    field @Deprecated public static final String SERVICE_INTERFACE = "android.permissionpresenterservice.RuntimePermissionPresenterService";
11117  }
11118
11119}
11120
11121package android.preference {
11122
11123  @Deprecated public class PreferenceManager {
11124    method @Deprecated public boolean isStorageCredentialProtected();
11125    method @Deprecated public void setStorageCredentialProtected();
11126  }
11127
11128}
11129
11130package android.print {
11131
11132  public final class PrintManager {
11133    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public void addPrintServiceRecommendationsChangeListener(@NonNull android.print.PrintManager.PrintServiceRecommendationsChangeListener, @Nullable android.os.Handler);
11134    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public void addPrintServicesChangeListener(@NonNull android.print.PrintManager.PrintServicesChangeListener, @Nullable android.os.Handler);
11135    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public java.util.List<android.printservice.recommendation.RecommendationInfo> getPrintServiceRecommendations();
11136    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public java.util.List<android.printservice.PrintServiceInfo> getPrintServices(int);
11137    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public void removePrintServiceRecommendationsChangeListener(@NonNull android.print.PrintManager.PrintServiceRecommendationsChangeListener);
11138    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public void removePrintServicesChangeListener(@NonNull android.print.PrintManager.PrintServicesChangeListener);
11139    field public static final int ENABLED_SERVICES = 1; // 0x1
11140  }
11141
11142  public static interface PrintManager.PrintServiceRecommendationsChangeListener {
11143    method public void onPrintServiceRecommendationsChanged();
11144  }
11145
11146  public static interface PrintManager.PrintServicesChangeListener {
11147    method public void onPrintServicesChanged();
11148  }
11149
11150}
11151
11152package android.printservice {
11153
11154  public final class PrintServiceInfo implements android.os.Parcelable {
11155    method public int describeContents();
11156    method @NonNull public android.content.ComponentName getComponentName();
11157    method public void writeToParcel(android.os.Parcel, int);
11158    field @NonNull public static final android.os.Parcelable.Creator<android.printservice.PrintServiceInfo> CREATOR;
11159  }
11160
11161}
11162
11163package android.printservice.recommendation {
11164
11165  public final class RecommendationInfo implements android.os.Parcelable {
11166    ctor public RecommendationInfo(@NonNull CharSequence, @NonNull CharSequence, @NonNull java.util.List<java.net.InetAddress>, boolean);
11167    ctor @Deprecated public RecommendationInfo(@NonNull CharSequence, @NonNull CharSequence, @IntRange(from=0) int, boolean);
11168    method public int describeContents();
11169    method @NonNull public java.util.List<java.net.InetAddress> getDiscoveredPrinters();
11170    method public CharSequence getName();
11171    method public int getNumDiscoveredPrinters();
11172    method public CharSequence getPackageName();
11173    method public boolean recommendsMultiVendorService();
11174    method public void writeToParcel(android.os.Parcel, int);
11175    field @NonNull public static final android.os.Parcelable.Creator<android.printservice.recommendation.RecommendationInfo> CREATOR;
11176  }
11177
11178  public abstract class RecommendationService extends android.app.Service {
11179    ctor public RecommendationService();
11180    method public final android.os.IBinder onBind(android.content.Intent);
11181    method public abstract void onConnected();
11182    method public abstract void onDisconnected();
11183    method public final void updateRecommendations(@Nullable java.util.List<android.printservice.recommendation.RecommendationInfo>);
11184    field public static final String SERVICE_INTERFACE = "android.printservice.recommendation.RecommendationService";
11185  }
11186
11187}
11188
11189package android.provider {
11190
11191  public class CallLog {
11192    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>);
11193  }
11194
11195  public static class CallLog.CallComposerLoggingException extends java.lang.Throwable {
11196    ctor public CallLog.CallComposerLoggingException(int);
11197    method public int getErrorCode();
11198    field public static final int ERROR_INPUT_CLOSED = 3; // 0x3
11199    field public static final int ERROR_REMOTE_END_CLOSED = 1; // 0x1
11200    field public static final int ERROR_STORAGE_FULL = 2; // 0x2
11201    field public static final int ERROR_UNKNOWN = 0; // 0x0
11202  }
11203
11204  @Deprecated public static final class ContactsContract.MetadataSync implements android.provider.BaseColumns android.provider.ContactsContract.MetadataSyncColumns {
11205    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_metadata";
11206    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_metadata";
11207    field @Deprecated public static final android.net.Uri CONTENT_URI;
11208    field @Deprecated public static final String METADATA_AUTHORITY = "com.android.contacts.metadata";
11209    field @Deprecated public static final android.net.Uri METADATA_AUTHORITY_URI;
11210  }
11211
11212  @Deprecated protected static interface ContactsContract.MetadataSyncColumns {
11213    field @Deprecated public static final String ACCOUNT_NAME = "account_name";
11214    field @Deprecated public static final String ACCOUNT_TYPE = "account_type";
11215    field @Deprecated public static final String DATA = "data";
11216    field @Deprecated public static final String DATA_SET = "data_set";
11217    field @Deprecated public static final String DELETED = "deleted";
11218    field @Deprecated public static final String RAW_CONTACT_BACKUP_ID = "raw_contact_backup_id";
11219  }
11220
11221  @Deprecated public static final class ContactsContract.MetadataSyncState implements android.provider.BaseColumns android.provider.ContactsContract.MetadataSyncStateColumns {
11222    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_metadata_sync_state";
11223    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_metadata_sync_state";
11224    field @Deprecated public static final android.net.Uri CONTENT_URI;
11225  }
11226
11227  @Deprecated protected static interface ContactsContract.MetadataSyncStateColumns {
11228    field @Deprecated public static final String ACCOUNT_NAME = "account_name";
11229    field @Deprecated public static final String ACCOUNT_TYPE = "account_type";
11230    field @Deprecated public static final String DATA_SET = "data_set";
11231    field @Deprecated public static final String STATE = "state";
11232  }
11233
11234  public static final class ContactsContract.SimContacts {
11235    method @RequiresPermission("android.contacts.permission.MANAGE_SIM_ACCOUNTS") public static void addSimAccount(@NonNull android.content.ContentResolver, @NonNull String, @NonNull String, int, int);
11236    method @RequiresPermission("android.contacts.permission.MANAGE_SIM_ACCOUNTS") public static void removeSimAccounts(@NonNull android.content.ContentResolver, int);
11237  }
11238
11239  public final class DeviceConfig {
11240    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static void addOnPropertiesChangedListener(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.provider.DeviceConfig.OnPropertiesChangedListener);
11241    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static boolean getBoolean(@NonNull String, @NonNull String, boolean);
11242    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static float getFloat(@NonNull String, @NonNull String, float);
11243    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static int getInt(@NonNull String, @NonNull String, int);
11244    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static long getLong(@NonNull String, @NonNull String, long);
11245    method @NonNull @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static android.provider.DeviceConfig.Properties getProperties(@NonNull String, @NonNull java.lang.String...);
11246    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static String getProperty(@NonNull String, @NonNull String);
11247    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static String getString(@NonNull String, @NonNull String, @Nullable String);
11248    method public static void removeOnPropertiesChangedListener(@NonNull android.provider.DeviceConfig.OnPropertiesChangedListener);
11249    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static void resetToDefaults(int, @Nullable String);
11250    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static boolean setProperties(@NonNull android.provider.DeviceConfig.Properties) throws android.provider.DeviceConfig.BadConfigException;
11251    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static boolean setProperty(@NonNull String, @NonNull String, @Nullable String, boolean);
11252    field public static final String NAMESPACE_ACTIVITY_MANAGER = "activity_manager";
11253    field public static final String NAMESPACE_ACTIVITY_MANAGER_NATIVE_BOOT = "activity_manager_native_boot";
11254    field public static final String NAMESPACE_APPSEARCH = "appsearch";
11255    field public static final String NAMESPACE_APP_COMPAT = "app_compat";
11256    field public static final String NAMESPACE_APP_HIBERNATION = "app_hibernation";
11257    field public static final String NAMESPACE_ATTENTION_MANAGER_SERVICE = "attention_manager_service";
11258    field public static final String NAMESPACE_AUTOFILL = "autofill";
11259    field public static final String NAMESPACE_BATTERY_SAVER = "battery_saver";
11260    field public static final String NAMESPACE_BIOMETRICS = "biometrics";
11261    field public static final String NAMESPACE_BLOBSTORE = "blobstore";
11262    field public static final String NAMESPACE_BLUETOOTH = "bluetooth";
11263    field public static final String NAMESPACE_CLIPBOARD = "clipboard";
11264    field public static final String NAMESPACE_CONNECTIVITY = "connectivity";
11265    field public static final String NAMESPACE_CONTENT_CAPTURE = "content_capture";
11266    field @Deprecated public static final String NAMESPACE_DEX_BOOT = "dex_boot";
11267    field public static final String NAMESPACE_DISPLAY_MANAGER = "display_manager";
11268    field public static final String NAMESPACE_GAME_DRIVER = "game_driver";
11269    field public static final String NAMESPACE_INPUT_NATIVE_BOOT = "input_native_boot";
11270    field public static final String NAMESPACE_INTELLIGENCE_ATTENTION = "intelligence_attention";
11271    field public static final String NAMESPACE_LOCATION = "location";
11272    field public static final String NAMESPACE_MEDIA = "media";
11273    field public static final String NAMESPACE_MEDIA_NATIVE = "media_native";
11274    field public static final String NAMESPACE_NETD_NATIVE = "netd_native";
11275    field public static final String NAMESPACE_OTA = "ota";
11276    field public static final String NAMESPACE_PACKAGE_MANAGER_SERVICE = "package_manager_service";
11277    field public static final String NAMESPACE_PERMISSIONS = "permissions";
11278    field public static final String NAMESPACE_PRIVACY = "privacy";
11279    field public static final String NAMESPACE_PROFCOLLECT_NATIVE_BOOT = "profcollect_native_boot";
11280    field public static final String NAMESPACE_REBOOT_READINESS = "reboot_readiness";
11281    field public static final String NAMESPACE_ROLLBACK = "rollback";
11282    field public static final String NAMESPACE_ROLLBACK_BOOT = "rollback_boot";
11283    field public static final String NAMESPACE_RUNTIME = "runtime";
11284    field public static final String NAMESPACE_RUNTIME_NATIVE = "runtime_native";
11285    field public static final String NAMESPACE_RUNTIME_NATIVE_BOOT = "runtime_native_boot";
11286    field public static final String NAMESPACE_SCHEDULER = "scheduler";
11287    field public static final String NAMESPACE_STATSD_JAVA = "statsd_java";
11288    field public static final String NAMESPACE_STATSD_JAVA_BOOT = "statsd_java_boot";
11289    field public static final String NAMESPACE_STATSD_NATIVE = "statsd_native";
11290    field public static final String NAMESPACE_STATSD_NATIVE_BOOT = "statsd_native_boot";
11291    field @Deprecated public static final String NAMESPACE_STORAGE = "storage";
11292    field public static final String NAMESPACE_STORAGE_NATIVE_BOOT = "storage_native_boot";
11293    field public static final String NAMESPACE_SYSTEMUI = "systemui";
11294    field public static final String NAMESPACE_SYSTEM_TIME = "system_time";
11295    field public static final String NAMESPACE_TELEPHONY = "telephony";
11296    field public static final String NAMESPACE_TEXTCLASSIFIER = "textclassifier";
11297    field public static final String NAMESPACE_WINDOW_MANAGER_NATIVE_BOOT = "window_manager_native_boot";
11298  }
11299
11300  public static class DeviceConfig.BadConfigException extends java.lang.Exception {
11301    ctor public DeviceConfig.BadConfigException();
11302  }
11303
11304  public static interface DeviceConfig.OnPropertiesChangedListener {
11305    method public void onPropertiesChanged(@NonNull android.provider.DeviceConfig.Properties);
11306  }
11307
11308  public static class DeviceConfig.Properties {
11309    method public boolean getBoolean(@NonNull String, boolean);
11310    method public float getFloat(@NonNull String, float);
11311    method public int getInt(@NonNull String, int);
11312    method @NonNull public java.util.Set<java.lang.String> getKeyset();
11313    method public long getLong(@NonNull String, long);
11314    method @NonNull public String getNamespace();
11315    method @Nullable public String getString(@NonNull String, @Nullable String);
11316  }
11317
11318  public static final class DeviceConfig.Properties.Builder {
11319    ctor public DeviceConfig.Properties.Builder(@NonNull String);
11320    method @NonNull public android.provider.DeviceConfig.Properties build();
11321    method @NonNull public android.provider.DeviceConfig.Properties.Builder setBoolean(@NonNull String, boolean);
11322    method @NonNull public android.provider.DeviceConfig.Properties.Builder setFloat(@NonNull String, float);
11323    method @NonNull public android.provider.DeviceConfig.Properties.Builder setInt(@NonNull String, int);
11324    method @NonNull public android.provider.DeviceConfig.Properties.Builder setLong(@NonNull String, long);
11325    method @NonNull public android.provider.DeviceConfig.Properties.Builder setString(@NonNull String, @Nullable String);
11326  }
11327
11328  public final class DocumentsContract {
11329    method @NonNull public static android.net.Uri buildDocumentUriAsUser(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
11330    method public static boolean isManageMode(@NonNull android.net.Uri);
11331    method @NonNull public static android.net.Uri setManageMode(@NonNull android.net.Uri);
11332    field public static final String ACTION_DOCUMENT_ROOT_SETTINGS = "android.provider.action.DOCUMENT_ROOT_SETTINGS";
11333    field public static final String ACTION_MANAGE_DOCUMENT = "android.provider.action.MANAGE_DOCUMENT";
11334    field public static final String DOWNLOADS_PROVIDER_AUTHORITY = "downloads";
11335    field public static final String EXTERNAL_STORAGE_PROVIDER_AUTHORITY = "com.android.externalstorage.documents";
11336    field public static final String EXTRA_SHOW_ADVANCED = "android.provider.extra.SHOW_ADVANCED";
11337  }
11338
11339  public static final class DocumentsContract.Root {
11340    field public static final int FLAG_ADVANCED = 65536; // 0x10000
11341    field public static final int FLAG_HAS_SETTINGS = 131072; // 0x20000
11342    field public static final int FLAG_REMOVABLE_SD = 262144; // 0x40000
11343    field public static final int FLAG_REMOVABLE_USB = 524288; // 0x80000
11344  }
11345
11346  public final class MediaStore {
11347    method @NonNull public static android.net.Uri rewriteToLegacy(@NonNull android.net.Uri);
11348    method @NonNull @WorkerThread public static android.net.Uri scanFile(@NonNull android.content.ContentResolver, @NonNull java.io.File);
11349    method @WorkerThread public static void scanVolume(@NonNull android.content.ContentResolver, @NonNull String);
11350    method @WorkerThread public static void waitForIdle(@NonNull android.content.ContentResolver);
11351    field public static final String AUTHORITY_LEGACY = "media_legacy";
11352    field @NonNull public static final android.net.Uri AUTHORITY_LEGACY_URI;
11353    field public static final String QUERY_ARG_DEFER_SCAN = "android:query-arg-defer-scan";
11354  }
11355
11356  public abstract class SearchIndexableData {
11357    ctor public SearchIndexableData();
11358    ctor public SearchIndexableData(android.content.Context);
11359    field public String className;
11360    field public android.content.Context context;
11361    field public boolean enabled;
11362    field public int iconResId;
11363    field public String intentAction;
11364    field public String intentTargetClass;
11365    field public String intentTargetPackage;
11366    field public String key;
11367    field public java.util.Locale locale;
11368    field public String packageName;
11369    field public int rank;
11370    field public int userId;
11371  }
11372
11373  public class SearchIndexableResource extends android.provider.SearchIndexableData {
11374    ctor public SearchIndexableResource(int, int, String, int);
11375    ctor public SearchIndexableResource(android.content.Context);
11376    field public int xmlResId;
11377  }
11378
11379  public class SearchIndexablesContract {
11380    ctor public SearchIndexablesContract();
11381    field public static final int COLUMN_INDEX_NON_INDEXABLE_KEYS_KEY_VALUE = 0; // 0x0
11382    field public static final int COLUMN_INDEX_RAW_CLASS_NAME = 7; // 0x7
11383    field public static final int COLUMN_INDEX_RAW_ENTRIES = 4; // 0x4
11384    field public static final int COLUMN_INDEX_RAW_ICON_RESID = 8; // 0x8
11385    field public static final int COLUMN_INDEX_RAW_INTENT_ACTION = 9; // 0x9
11386    field public static final int COLUMN_INDEX_RAW_INTENT_TARGET_CLASS = 11; // 0xb
11387    field public static final int COLUMN_INDEX_RAW_INTENT_TARGET_PACKAGE = 10; // 0xa
11388    field public static final int COLUMN_INDEX_RAW_KEY = 12; // 0xc
11389    field public static final int COLUMN_INDEX_RAW_KEYWORDS = 5; // 0x5
11390    field public static final int COLUMN_INDEX_RAW_RANK = 0; // 0x0
11391    field public static final int COLUMN_INDEX_RAW_SCREEN_TITLE = 6; // 0x6
11392    field public static final int COLUMN_INDEX_RAW_SUMMARY_OFF = 3; // 0x3
11393    field public static final int COLUMN_INDEX_RAW_SUMMARY_ON = 2; // 0x2
11394    field public static final int COLUMN_INDEX_RAW_TITLE = 1; // 0x1
11395    field public static final int COLUMN_INDEX_RAW_USER_ID = 13; // 0xd
11396    field public static final int COLUMN_INDEX_XML_RES_CLASS_NAME = 2; // 0x2
11397    field public static final int COLUMN_INDEX_XML_RES_ICON_RESID = 3; // 0x3
11398    field public static final int COLUMN_INDEX_XML_RES_INTENT_ACTION = 4; // 0x4
11399    field public static final int COLUMN_INDEX_XML_RES_INTENT_TARGET_CLASS = 6; // 0x6
11400    field public static final int COLUMN_INDEX_XML_RES_INTENT_TARGET_PACKAGE = 5; // 0x5
11401    field public static final int COLUMN_INDEX_XML_RES_RANK = 0; // 0x0
11402    field public static final int COLUMN_INDEX_XML_RES_RESID = 1; // 0x1
11403    field public static final String DYNAMIC_INDEXABLES_RAW = "dynamic_indexables_raw";
11404    field public static final String DYNAMIC_INDEXABLES_RAW_PATH = "settings/dynamic_indexables_raw";
11405    field public static final String INDEXABLES_RAW = "indexables_raw";
11406    field public static final String[] INDEXABLES_RAW_COLUMNS;
11407    field public static final String INDEXABLES_RAW_PATH = "settings/indexables_raw";
11408    field public static final String INDEXABLES_XML_RES = "indexables_xml_res";
11409    field public static final String[] INDEXABLES_XML_RES_COLUMNS;
11410    field public static final String INDEXABLES_XML_RES_PATH = "settings/indexables_xml_res";
11411    field public static final String NON_INDEXABLES_KEYS = "non_indexables_key";
11412    field public static final String[] NON_INDEXABLES_KEYS_COLUMNS;
11413    field public static final String NON_INDEXABLES_KEYS_PATH = "settings/non_indexables_key";
11414    field public static final String PROVIDER_INTERFACE = "android.content.action.SEARCH_INDEXABLES_PROVIDER";
11415    field public static final String SLICE_URI_PAIRS = "slice_uri_pairs";
11416    field @NonNull public static final String[] SLICE_URI_PAIRS_COLUMNS;
11417    field public static final String SLICE_URI_PAIRS_PATH = "settings/slice_uri_pairs";
11418  }
11419
11420  public static class SearchIndexablesContract.BaseColumns {
11421    field public static final String COLUMN_CLASS_NAME = "className";
11422    field public static final String COLUMN_ICON_RESID = "iconResId";
11423    field public static final String COLUMN_INTENT_ACTION = "intentAction";
11424    field public static final String COLUMN_INTENT_TARGET_CLASS = "intentTargetClass";
11425    field public static final String COLUMN_INTENT_TARGET_PACKAGE = "intentTargetPackage";
11426    field public static final String COLUMN_RANK = "rank";
11427  }
11428
11429  public static final class SearchIndexablesContract.NonIndexableKey extends android.provider.SearchIndexablesContract.BaseColumns {
11430    field public static final String COLUMN_KEY_VALUE = "key";
11431    field public static final String MIME_TYPE = "vnd.android.cursor.dir/non_indexables_key";
11432  }
11433
11434  public static final class SearchIndexablesContract.RawData extends android.provider.SearchIndexablesContract.BaseColumns {
11435    field public static final String COLUMN_ENTRIES = "entries";
11436    field public static final String COLUMN_KEY = "key";
11437    field public static final String COLUMN_KEYWORDS = "keywords";
11438    field public static final String COLUMN_SCREEN_TITLE = "screenTitle";
11439    field public static final String COLUMN_SUMMARY_OFF = "summaryOff";
11440    field public static final String COLUMN_SUMMARY_ON = "summaryOn";
11441    field public static final String COLUMN_TITLE = "title";
11442    field public static final String COLUMN_USER_ID = "user_id";
11443    field public static final String MIME_TYPE = "vnd.android.cursor.dir/indexables_raw";
11444  }
11445
11446  public static final class SearchIndexablesContract.SliceUriPairColumns {
11447    field public static final String KEY = "key";
11448    field public static final String SLICE_URI = "slice_uri";
11449  }
11450
11451  public static final class SearchIndexablesContract.XmlResource extends android.provider.SearchIndexablesContract.BaseColumns {
11452    field public static final String COLUMN_XML_RESID = "xmlResId";
11453    field public static final String MIME_TYPE = "vnd.android.cursor.dir/indexables_xml_res";
11454  }
11455
11456  public abstract class SearchIndexablesProvider extends android.content.ContentProvider {
11457    ctor public SearchIndexablesProvider();
11458    method public final int delete(android.net.Uri, String, String[]);
11459    method public String getType(android.net.Uri);
11460    method public final android.net.Uri insert(android.net.Uri, android.content.ContentValues);
11461    method public android.database.Cursor query(android.net.Uri, String[], String, String[], String);
11462    method @Nullable public android.database.Cursor queryDynamicRawData(@Nullable String[]);
11463    method public abstract android.database.Cursor queryNonIndexableKeys(String[]);
11464    method public abstract android.database.Cursor queryRawData(String[]);
11465    method @Nullable public android.database.Cursor querySliceUriPairs();
11466    method public abstract android.database.Cursor queryXmlResources(String[]);
11467    method public final int update(android.net.Uri, android.content.ContentValues, String, String[]);
11468  }
11469
11470  public final class Settings {
11471    method @Deprecated public static boolean checkAndNoteWriteSettingsOperation(@NonNull android.content.Context, int, @NonNull String, boolean);
11472    method public static boolean checkAndNoteWriteSettingsOperation(@NonNull android.content.Context, int, @NonNull String, @Nullable String, boolean);
11473    field public static final String ACTION_ACCESSIBILITY_DETAILS_SETTINGS = "android.settings.ACCESSIBILITY_DETAILS_SETTINGS";
11474    field public static final String ACTION_BUGREPORT_HANDLER_SETTINGS = "android.settings.BUGREPORT_HANDLER_SETTINGS";
11475    field public static final String ACTION_ENTERPRISE_PRIVACY_SETTINGS = "android.settings.ENTERPRISE_PRIVACY_SETTINGS";
11476    field public static final String ACTION_LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS = "android.settings.LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS";
11477    field public static final String ACTION_MANAGE_APP_OVERLAY_PERMISSION = "android.settings.MANAGE_APP_OVERLAY_PERMISSION";
11478    field public static final String ACTION_MANAGE_DOMAIN_URLS = "android.settings.MANAGE_DOMAIN_URLS";
11479    field public static final String ACTION_MANAGE_MORE_DEFAULT_APPS_SETTINGS = "android.settings.MANAGE_MORE_DEFAULT_APPS_SETTINGS";
11480    field public static final String ACTION_NOTIFICATION_POLICY_ACCESS_DETAIL_SETTINGS = "android.settings.NOTIFICATION_POLICY_ACCESS_DETAIL_SETTINGS";
11481    field public static final String ACTION_REQUEST_ENABLE_CONTENT_CAPTURE = "android.settings.REQUEST_ENABLE_CONTENT_CAPTURE";
11482    field public static final String ACTION_SHOW_ADMIN_SUPPORT_DETAILS = "android.settings.SHOW_ADMIN_SUPPORT_DETAILS";
11483    field public static final String ACTION_TETHER_PROVISIONING_UI = "android.settings.TETHER_PROVISIONING_UI";
11484    field public static final String ACTION_TETHER_SETTINGS = "android.settings.TETHER_SETTINGS";
11485  }
11486
11487  public static final class Settings.Global extends android.provider.Settings.NameValueTable {
11488    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, @Nullable String, boolean);
11489    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String);
11490    field public static final String AIRPLANE_MODE_TOGGLEABLE_RADIOS = "airplane_mode_toggleable_radios";
11491    field public static final String APP_STANDBY_ENABLED = "app_standby_enabled";
11492    field public static final String AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES = "autofill_compat_mode_allowed_packages";
11493    field public static final String CARRIER_APP_NAMES = "carrier_app_names";
11494    field public static final String CARRIER_APP_WHITELIST = "carrier_app_whitelist";
11495    field public static final String DEFAULT_SM_DP_PLUS = "default_sm_dp_plus";
11496    field public static final String DEVICE_DEMO_MODE = "device_demo_mode";
11497    field public static final String DEVICE_PROVISIONING_MOBILE_DATA_ENABLED = "device_provisioning_mobile_data";
11498    field public static final String EUICC_PROVISIONED = "euicc_provisioned";
11499    field public static final String EUICC_SUPPORTED_COUNTRIES = "euicc_supported_countries";
11500    field public static final String EUICC_UNSUPPORTED_COUNTRIES = "euicc_unsupported_countries";
11501    field public static final String INSTALL_CARRIER_APP_NOTIFICATION_PERSISTENT = "install_carrier_app_notification_persistent";
11502    field public static final String INSTALL_CARRIER_APP_NOTIFICATION_SLEEP_MILLIS = "install_carrier_app_notification_sleep_millis";
11503    field public static final String OTA_DISABLE_AUTOMATIC_UPDATE = "ota_disable_automatic_update";
11504    field public static final String REQUIRE_PASSWORD_TO_DECRYPT = "require_password_to_decrypt";
11505    field public static final String TETHER_OFFLOAD_DISABLED = "tether_offload_disabled";
11506    field public static final String TETHER_SUPPORTED = "tether_supported";
11507    field public static final String THEATER_MODE_ON = "theater_mode_on";
11508    field public static final String WEBVIEW_MULTIPROCESS = "webview_multiprocess";
11509    field public static final String WIFI_BADGING_THRESHOLDS = "wifi_badging_thresholds";
11510    field @Deprecated public static final String WIFI_WAKEUP_ENABLED = "wifi_wakeup_enabled";
11511  }
11512
11513  public static final class Settings.Secure extends android.provider.Settings.NameValueTable {
11514    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, @Nullable String, boolean);
11515    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String);
11516    field @Deprecated public static final String ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED = "accessibility_display_magnification_navbar_enabled";
11517    field public static final String ASSIST_GESTURE_SETUP_COMPLETE = "assist_gesture_setup_complete";
11518    field public static final String AUTOFILL_FEATURE_FIELD_CLASSIFICATION = "autofill_field_classification";
11519    field public static final String AUTOFILL_USER_DATA_MAX_CATEGORY_COUNT = "autofill_user_data_max_category_count";
11520    field public static final String AUTOFILL_USER_DATA_MAX_FIELD_CLASSIFICATION_IDS_SIZE = "autofill_user_data_max_field_classification_size";
11521    field public static final String AUTOFILL_USER_DATA_MAX_USER_DATA_SIZE = "autofill_user_data_max_user_data_size";
11522    field public static final String AUTOFILL_USER_DATA_MAX_VALUE_LENGTH = "autofill_user_data_max_value_length";
11523    field public static final String AUTOFILL_USER_DATA_MIN_VALUE_LENGTH = "autofill_user_data_min_value_length";
11524    field public static final String AUTO_REVOKE_DISABLED = "auto_revoke_disabled";
11525    field public static final String COMPLETED_CATEGORY_PREFIX = "suggested.completed_category.";
11526    field public static final String DOZE_ALWAYS_ON = "doze_always_on";
11527    field public static final String HUSH_GESTURE_USED = "hush_gesture_used";
11528    field public static final String INSTANT_APPS_ENABLED = "instant_apps_enabled";
11529    field public static final String LAST_SETUP_SHOWN = "last_setup_shown";
11530    field public static final String LOCATION_ACCESS_CHECK_DELAY_MILLIS = "location_access_check_delay_millis";
11531    field public static final String LOCATION_ACCESS_CHECK_INTERVAL_MILLIS = "location_access_check_interval_millis";
11532    field public static final int LOCATION_MODE_ON = 3; // 0x3
11533    field @Deprecated public static final String LOCATION_PERMISSIONS_UPGRADE_TO_Q_MODE = "location_permissions_upgrade_to_q_mode";
11534    field public static final String LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS = "lock_screen_allow_private_notifications";
11535    field public static final String LOCK_SCREEN_SHOW_NOTIFICATIONS = "lock_screen_show_notifications";
11536    field public static final String ODI_CAPTIONS_ENABLED = "odi_captions_enabled";
11537    field public static final String THEME_CUSTOMIZATION_OVERLAY_PACKAGES = "theme_customization_overlay_packages";
11538    field public static final String UI_TRANSLATION_ENABLED = "ui_translation_enabled";
11539    field public static final String USER_SETUP_COMPLETE = "user_setup_complete";
11540    field public static final int USER_SETUP_PERSONALIZATION_COMPLETE = 10; // 0xa
11541    field public static final int USER_SETUP_PERSONALIZATION_NOT_STARTED = 0; // 0x0
11542    field public static final int USER_SETUP_PERSONALIZATION_PAUSED = 2; // 0x2
11543    field public static final int USER_SETUP_PERSONALIZATION_STARTED = 1; // 0x1
11544    field public static final String USER_SETUP_PERSONALIZATION_STATE = "user_setup_personalization_state";
11545    field public static final String VOLUME_HUSH_GESTURE = "volume_hush_gesture";
11546    field public static final int VOLUME_HUSH_MUTE = 2; // 0x2
11547    field public static final int VOLUME_HUSH_OFF = 0; // 0x0
11548    field public static final int VOLUME_HUSH_VIBRATE = 1; // 0x1
11549  }
11550
11551  public static final class Settings.System extends android.provider.Settings.NameValueTable {
11552    method @RequiresPermission(android.Manifest.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, boolean);
11553  }
11554
11555  public static final class SimPhonebookContract.SimRecords {
11556    field public static final String QUERY_ARG_PIN2 = "android:query-arg-pin2";
11557  }
11558
11559  public static final class Telephony.Carriers implements android.provider.BaseColumns {
11560    field public static final String APN_SET_ID = "apn_set_id";
11561    field public static final int CARRIER_EDITED = 4; // 0x4
11562    field public static final String EDITED_STATUS = "edited";
11563    field public static final int MATCH_ALL_APN_SET_ID = -1; // 0xffffffff
11564    field public static final String MAX_CONNECTIONS = "max_conns";
11565    field public static final String MODEM_PERSIST = "modem_cognitive";
11566    field public static final String MTU = "mtu";
11567    field public static final int NO_APN_SET_ID = 0; // 0x0
11568    field public static final String TIME_LIMIT_FOR_MAX_CONNECTIONS = "max_conns_time";
11569    field public static final int UNEDITED = 0; // 0x0
11570    field public static final int USER_DELETED = 2; // 0x2
11571    field public static final String USER_EDITABLE = "user_editable";
11572    field public static final int USER_EDITED = 1; // 0x1
11573    field public static final String USER_VISIBLE = "user_visible";
11574    field public static final String WAIT_TIME_RETRY = "wait_time";
11575  }
11576
11577  public static final class Telephony.CellBroadcasts implements android.provider.BaseColumns {
11578    field @NonNull public static final String AUTHORITY_LEGACY = "cellbroadcast-legacy";
11579    field @NonNull public static final android.net.Uri AUTHORITY_LEGACY_URI;
11580    field @NonNull public static final String CALL_METHOD_GET_PREFERENCE = "get_preference";
11581    field public static final String CID = "cid";
11582    field public static final String CMAS_CATEGORY = "cmas_category";
11583    field public static final String CMAS_CERTAINTY = "cmas_certainty";
11584    field public static final String CMAS_MESSAGE_CLASS = "cmas_message_class";
11585    field public static final String CMAS_RESPONSE_TYPE = "cmas_response_type";
11586    field public static final String CMAS_SEVERITY = "cmas_severity";
11587    field public static final String CMAS_URGENCY = "cmas_urgency";
11588    field @NonNull public static final android.net.Uri CONTENT_URI;
11589    field public static final String DATA_CODING_SCHEME = "dcs";
11590    field public static final String DEFAULT_SORT_ORDER = "date DESC";
11591    field public static final String DELIVERY_TIME = "date";
11592    field public static final String ETWS_IS_PRIMARY = "etws_is_primary";
11593    field public static final String ETWS_WARNING_TYPE = "etws_warning_type";
11594    field public static final String GEOGRAPHICAL_SCOPE = "geo_scope";
11595    field public static final String GEOMETRIES = "geometries";
11596    field public static final String LAC = "lac";
11597    field public static final String LANGUAGE_CODE = "language";
11598    field public static final String LOCATION_CHECK_TIME = "location_check_time";
11599    field public static final String MAXIMUM_WAIT_TIME = "maximum_wait_time";
11600    field public static final String MESSAGE_BODY = "body";
11601    field public static final String MESSAGE_BROADCASTED = "message_broadcasted";
11602    field public static final String MESSAGE_DISPLAYED = "message_displayed";
11603    field public static final String MESSAGE_FORMAT = "format";
11604    field @NonNull @RequiresPermission(android.Manifest.permission.READ_CELL_BROADCASTS) public static final android.net.Uri MESSAGE_HISTORY_URI;
11605    field public static final String MESSAGE_PRIORITY = "priority";
11606    field public static final String MESSAGE_READ = "read";
11607    field public static final String PLMN = "plmn";
11608    field public static final String RECEIVED_TIME = "received_time";
11609    field public static final String SERIAL_NUMBER = "serial_number";
11610    field public static final String SERVICE_CATEGORY = "service_category";
11611    field public static final String SLOT_INDEX = "slot_index";
11612    field public static final String SUBSCRIPTION_ID = "sub_id";
11613  }
11614
11615  public static final class Telephony.CellBroadcasts.Preference {
11616    field @NonNull public static final String ENABLE_ALERT_VIBRATION_PREF = "enable_alert_vibrate";
11617    field @NonNull public static final String ENABLE_AREA_UPDATE_INFO_PREF = "enable_area_update_info_alerts";
11618    field @NonNull public static final String ENABLE_CMAS_AMBER_PREF = "enable_cmas_amber_alerts";
11619    field @NonNull public static final String ENABLE_CMAS_EXTREME_THREAT_PREF = "enable_cmas_extreme_threat_alerts";
11620    field @NonNull public static final String ENABLE_CMAS_IN_SECOND_LANGUAGE_PREF = "receive_cmas_in_second_language";
11621    field @NonNull public static final String ENABLE_CMAS_PRESIDENTIAL_PREF = "enable_cmas_presidential_alerts";
11622    field @NonNull public static final String ENABLE_CMAS_SEVERE_THREAT_PREF = "enable_cmas_severe_threat_alerts";
11623    field @NonNull public static final String ENABLE_EMERGENCY_PERF = "enable_emergency_alerts";
11624    field @NonNull public static final String ENABLE_PUBLIC_SAFETY_PREF = "enable_public_safety_messages";
11625    field @NonNull public static final String ENABLE_STATE_LOCAL_TEST_PREF = "enable_state_local_test_alerts";
11626    field @NonNull public static final String ENABLE_TEST_ALERT_PREF = "enable_test_alerts";
11627  }
11628
11629  public static final class Telephony.Sms.Intents {
11630    field public static final String ACTION_SMS_EMERGENCY_CB_RECEIVED = "android.provider.action.SMS_EMERGENCY_CB_RECEIVED";
11631  }
11632
11633  public final class TimeZoneRulesDataContract {
11634    field public static final String AUTHORITY = "com.android.timezone";
11635  }
11636
11637  public static final class TimeZoneRulesDataContract.Operation {
11638    field public static final String COLUMN_DISTRO_MAJOR_VERSION = "distro_major_version";
11639    field public static final String COLUMN_DISTRO_MINOR_VERSION = "distro_minor_version";
11640    field public static final String COLUMN_REVISION = "revision";
11641    field public static final String COLUMN_RULES_VERSION = "rules_version";
11642    field public static final String COLUMN_TYPE = "type";
11643    field public static final android.net.Uri CONTENT_URI;
11644    field public static final String TYPE_INSTALL = "INSTALL";
11645    field public static final String TYPE_NO_OP = "NOOP";
11646    field public static final String TYPE_UNINSTALL = "UNINSTALL";
11647  }
11648
11649}
11650
11651package android.scheduling {
11652
11653  public final class RebootReadinessManager {
11654    method @RequiresPermission(android.Manifest.permission.SIGNAL_REBOOT_READINESS) public void addRequestRebootReadinessStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.scheduling.RebootReadinessManager.RequestRebootReadinessStatusListener);
11655    method @RequiresPermission(android.Manifest.permission.REBOOT) public void cancelPendingReboot();
11656    method @RequiresPermission(android.Manifest.permission.REBOOT) public boolean isReadyToReboot();
11657    method @RequiresPermission(android.Manifest.permission.REBOOT) public void markRebootPending();
11658    method @RequiresPermission(android.Manifest.permission.SIGNAL_REBOOT_READINESS) public void removeRequestRebootReadinessStatusListener(@NonNull android.scheduling.RebootReadinessManager.RequestRebootReadinessStatusListener);
11659    field public static final String ACTION_REBOOT_READY = "android.scheduling.action.REBOOT_READY";
11660    field public static final String EXTRA_IS_READY_TO_REBOOT = "android.scheduling.extra.IS_READY_TO_REBOOT";
11661  }
11662
11663  public static final class RebootReadinessManager.RebootReadinessStatus {
11664    ctor public RebootReadinessManager.RebootReadinessStatus(boolean, long, @NonNull String);
11665    method public long getEstimatedFinishTime();
11666    method @NonNull public String getLogSubsystemName();
11667    method public boolean isReadyToReboot();
11668  }
11669
11670  public static interface RebootReadinessManager.RequestRebootReadinessStatusListener {
11671    method @NonNull public android.scheduling.RebootReadinessManager.RebootReadinessStatus onRequestRebootReadinessStatus();
11672  }
11673
11674}
11675
11676package android.se.omapi {
11677
11678  public final class Reader {
11679    method @RequiresPermission(android.Manifest.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION) public boolean reset();
11680  }
11681
11682}
11683
11684package android.security {
11685
11686  public final class KeyChain {
11687    method @Nullable @WorkerThread public static String getWifiKeyGrantAsUser(@NonNull android.content.Context, @NonNull android.os.UserHandle, @NonNull String);
11688    method @WorkerThread public static boolean hasWifiKeyGrantAsUser(@NonNull android.content.Context, @NonNull android.os.UserHandle, @NonNull String);
11689  }
11690
11691}
11692
11693package android.security.keystore {
11694
11695  public class AndroidKeyStoreProvider extends java.security.Provider {
11696    method @NonNull public static java.security.KeyStore getKeyStoreForUid(int) throws java.security.KeyStoreException, java.security.NoSuchProviderException;
11697  }
11698
11699  public abstract class AttestationUtils {
11700    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;
11701    field public static final int ID_TYPE_IMEI = 2; // 0x2
11702    field public static final int ID_TYPE_MEID = 3; // 0x3
11703    field public static final int ID_TYPE_SERIAL = 1; // 0x1
11704    field public static final int USE_INDIVIDUAL_ATTESTATION = 4; // 0x4
11705  }
11706
11707  public class DeviceIdAttestationException extends java.lang.Exception {
11708    ctor public DeviceIdAttestationException(@Nullable String);
11709    ctor public DeviceIdAttestationException(@Nullable String, @Nullable Throwable);
11710  }
11711
11712  public final class KeyGenParameterSpec implements java.security.spec.AlgorithmParameterSpec {
11713    method @NonNull public int[] getAttestationIds();
11714    method public int getNamespace();
11715  }
11716
11717  public static final class KeyGenParameterSpec.Builder {
11718    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setAttestationIds(@NonNull int[]);
11719    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setNamespace(int);
11720    method @Deprecated @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUid(int);
11721  }
11722
11723  public abstract class KeyProperties {
11724    field public static final int NAMESPACE_APPLICATION = -1; // 0xffffffff
11725    field public static final int NAMESPACE_WIFI = 102; // 0x66
11726  }
11727
11728}
11729
11730package android.security.keystore.recovery {
11731
11732  public class DecryptionFailedException extends java.security.GeneralSecurityException {
11733    ctor public DecryptionFailedException(String);
11734  }
11735
11736  public class InternalRecoveryServiceException extends java.security.GeneralSecurityException {
11737    ctor public InternalRecoveryServiceException(String);
11738    ctor public InternalRecoveryServiceException(String, Throwable);
11739  }
11740
11741  public final class KeyChainProtectionParams implements android.os.Parcelable {
11742    method public void clearSecret();
11743    method public int describeContents();
11744    method @NonNull public android.security.keystore.recovery.KeyDerivationParams getKeyDerivationParams();
11745    method public int getLockScreenUiFormat();
11746    method @NonNull public byte[] getSecret();
11747    method public int getUserSecretType();
11748    method public void writeToParcel(android.os.Parcel, int);
11749    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyChainProtectionParams> CREATOR;
11750    field public static final int TYPE_LOCKSCREEN = 100; // 0x64
11751    field public static final int UI_FORMAT_PASSWORD = 2; // 0x2
11752    field public static final int UI_FORMAT_PATTERN = 3; // 0x3
11753    field public static final int UI_FORMAT_PIN = 1; // 0x1
11754  }
11755
11756  public static class KeyChainProtectionParams.Builder {
11757    ctor public KeyChainProtectionParams.Builder();
11758    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams build();
11759    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setKeyDerivationParams(@NonNull android.security.keystore.recovery.KeyDerivationParams);
11760    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setLockScreenUiFormat(int);
11761    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setSecret(@NonNull byte[]);
11762    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setUserSecretType(int);
11763  }
11764
11765  public final class KeyChainSnapshot implements android.os.Parcelable {
11766    method public int describeContents();
11767    method public long getCounterId();
11768    method @NonNull public byte[] getEncryptedRecoveryKeyBlob();
11769    method @NonNull public java.util.List<android.security.keystore.recovery.KeyChainProtectionParams> getKeyChainProtectionParams();
11770    method public int getMaxAttempts();
11771    method @NonNull public byte[] getServerParams();
11772    method public int getSnapshotVersion();
11773    method @NonNull public java.security.cert.CertPath getTrustedHardwareCertPath();
11774    method @NonNull public java.util.List<android.security.keystore.recovery.WrappedApplicationKey> getWrappedApplicationKeys();
11775    method public void writeToParcel(android.os.Parcel, int);
11776    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyChainSnapshot> CREATOR;
11777  }
11778
11779  public final class KeyDerivationParams implements android.os.Parcelable {
11780    method @NonNull public static android.security.keystore.recovery.KeyDerivationParams createScryptParams(@NonNull byte[], int);
11781    method @NonNull public static android.security.keystore.recovery.KeyDerivationParams createSha256Params(@NonNull byte[]);
11782    method public int describeContents();
11783    method public int getAlgorithm();
11784    method public int getMemoryDifficulty();
11785    method @NonNull public byte[] getSalt();
11786    method public void writeToParcel(android.os.Parcel, int);
11787    field public static final int ALGORITHM_SCRYPT = 2; // 0x2
11788    field public static final int ALGORITHM_SHA256 = 1; // 0x1
11789    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyDerivationParams> CREATOR;
11790  }
11791
11792  public class LockScreenRequiredException extends java.security.GeneralSecurityException {
11793    ctor public LockScreenRequiredException(String);
11794  }
11795
11796  public class RecoveryController {
11797    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public android.security.keystore.recovery.RecoverySession createRecoverySession();
11798    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;
11799    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;
11800    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.util.List<java.lang.String> getAliases() throws android.security.keystore.recovery.InternalRecoveryServiceException;
11801    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public static android.security.keystore.recovery.RecoveryController getInstance(@NonNull android.content.Context);
11802    method @Nullable @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.security.Key getKey(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException, java.security.UnrecoverableKeyException;
11803    method @Nullable @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public android.security.keystore.recovery.KeyChainSnapshot getKeyChainSnapshot() throws android.security.keystore.recovery.InternalRecoveryServiceException;
11804    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public int[] getRecoverySecretTypes() throws android.security.keystore.recovery.InternalRecoveryServiceException;
11805    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public int getRecoveryStatus(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException;
11806    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.util.Map<java.lang.String,java.security.cert.X509Certificate> getRootCertificates();
11807    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;
11808    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;
11809    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;
11810    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public static boolean isRecoverableKeyStoreEnabled(@NonNull android.content.Context);
11811    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void removeKey(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException;
11812    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setRecoverySecretTypes(@NonNull int[]) throws android.security.keystore.recovery.InternalRecoveryServiceException;
11813    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setRecoveryStatus(@NonNull String, int) throws android.security.keystore.recovery.InternalRecoveryServiceException;
11814    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setServerParams(@NonNull byte[]) throws android.security.keystore.recovery.InternalRecoveryServiceException;
11815    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setSnapshotCreatedPendingIntent(@Nullable android.app.PendingIntent) throws android.security.keystore.recovery.InternalRecoveryServiceException;
11816    field public static final int RECOVERY_STATUS_PERMANENT_FAILURE = 3; // 0x3
11817    field public static final int RECOVERY_STATUS_SYNCED = 0; // 0x0
11818    field public static final int RECOVERY_STATUS_SYNC_IN_PROGRESS = 1; // 0x1
11819  }
11820
11821  public class RecoverySession implements java.lang.AutoCloseable {
11822    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void close();
11823    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;
11824    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;
11825  }
11826
11827  public class SessionExpiredException extends java.security.GeneralSecurityException {
11828    ctor public SessionExpiredException(String);
11829  }
11830
11831  public final class WrappedApplicationKey implements android.os.Parcelable {
11832    method public int describeContents();
11833    method @NonNull public String getAlias();
11834    method @NonNull public byte[] getEncryptedKeyMaterial();
11835    method @Nullable public byte[] getMetadata();
11836    method public void writeToParcel(android.os.Parcel, int);
11837    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.WrappedApplicationKey> CREATOR;
11838  }
11839
11840  public static class WrappedApplicationKey.Builder {
11841    ctor public WrappedApplicationKey.Builder();
11842    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey build();
11843    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setAlias(@NonNull String);
11844    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setEncryptedKeyMaterial(@NonNull byte[]);
11845    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setMetadata(@Nullable byte[]);
11846  }
11847
11848}
11849
11850package android.service.appprediction {
11851
11852  public abstract class AppPredictionService extends android.app.Service {
11853    ctor public AppPredictionService();
11854    method @MainThread public abstract void onAppTargetEvent(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull android.app.prediction.AppTargetEvent);
11855    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
11856    method public void onCreatePredictionSession(@NonNull android.app.prediction.AppPredictionContext, @NonNull android.app.prediction.AppPredictionSessionId);
11857    method @MainThread public void onDestroyPredictionSession(@NonNull android.app.prediction.AppPredictionSessionId);
11858    method @MainThread public abstract void onLaunchLocationShown(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull String, @NonNull java.util.List<android.app.prediction.AppTargetId>);
11859    method @MainThread public abstract void onRequestPredictionUpdate(@NonNull android.app.prediction.AppPredictionSessionId);
11860    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>>);
11861    method @MainThread public void onStartPredictionUpdates();
11862    method @MainThread public void onStopPredictionUpdates();
11863    method public final void updatePredictions(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull java.util.List<android.app.prediction.AppTarget>);
11864  }
11865
11866}
11867
11868package android.service.attention {
11869
11870  public abstract class AttentionService extends android.app.Service {
11871    ctor public AttentionService();
11872    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
11873    method public abstract void onCancelAttentionCheck(@NonNull android.service.attention.AttentionService.AttentionCallback);
11874    method public abstract void onCheckAttention(@NonNull android.service.attention.AttentionService.AttentionCallback);
11875    field public static final int ATTENTION_FAILURE_CAMERA_PERMISSION_ABSENT = 6; // 0x6
11876    field public static final int ATTENTION_FAILURE_CANCELLED = 3; // 0x3
11877    field public static final int ATTENTION_FAILURE_PREEMPTED = 4; // 0x4
11878    field public static final int ATTENTION_FAILURE_TIMED_OUT = 5; // 0x5
11879    field public static final int ATTENTION_FAILURE_UNKNOWN = 2; // 0x2
11880    field public static final int ATTENTION_SUCCESS_ABSENT = 0; // 0x0
11881    field public static final int ATTENTION_SUCCESS_PRESENT = 1; // 0x1
11882    field public static final String SERVICE_INTERFACE = "android.service.attention.AttentionService";
11883  }
11884
11885  public static final class AttentionService.AttentionCallback {
11886    method public void onFailure(int);
11887    method public void onSuccess(int, long);
11888  }
11889
11890}
11891
11892package android.service.autofill {
11893
11894  public abstract class AutofillFieldClassificationService extends android.app.Service {
11895    ctor public AutofillFieldClassificationService();
11896    method public android.os.IBinder onBind(android.content.Intent);
11897    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);
11898    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>);
11899    field public static final String REQUIRED_ALGORITHM_CREDIT_CARD = "CREDIT_CARD";
11900    field public static final String REQUIRED_ALGORITHM_EDIT_DISTANCE = "EDIT_DISTANCE";
11901    field public static final String REQUIRED_ALGORITHM_EXACT_MATCH = "EXACT_MATCH";
11902    field public static final String SERVICE_INTERFACE = "android.service.autofill.AutofillFieldClassificationService";
11903    field public static final String SERVICE_META_DATA_KEY_AVAILABLE_ALGORITHMS = "android.autofill.field_classification.available_algorithms";
11904    field public static final String SERVICE_META_DATA_KEY_DEFAULT_ALGORITHM = "android.autofill.field_classification.default_algorithm";
11905  }
11906
11907  public static final class Dataset.Builder {
11908    ctor public Dataset.Builder(@NonNull android.service.autofill.InlinePresentation);
11909    method @NonNull public android.service.autofill.Dataset.Builder setContent(@NonNull android.view.autofill.AutofillId, @Nullable android.content.ClipData);
11910    method @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);
11911  }
11912
11913  public abstract class InlineSuggestionRenderService extends android.app.Service {
11914    ctor public InlineSuggestionRenderService();
11915    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
11916    method @NonNull public android.os.Bundle onGetInlineSuggestionsRendererInfo();
11917    method @Nullable public android.view.View onRenderSuggestion(@NonNull android.service.autofill.InlinePresentation, int, int);
11918    method public final void startIntentSender(@NonNull android.content.IntentSender);
11919    field public static final String SERVICE_INTERFACE = "android.service.autofill.InlineSuggestionRenderService";
11920  }
11921
11922}
11923
11924package android.service.autofill.augmented {
11925
11926  public abstract class AugmentedAutofillService extends android.app.Service {
11927    ctor public AugmentedAutofillService();
11928    method protected final void dump(java.io.FileDescriptor, java.io.PrintWriter, String[]);
11929    method protected void dump(@NonNull java.io.PrintWriter, @NonNull String[]);
11930    method @Nullable public final android.service.autofill.FillEventHistory getFillEventHistory();
11931    method public void onConnected();
11932    method public void onDisconnected();
11933    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);
11934    method public final boolean requestAutofill(@NonNull android.content.ComponentName, @NonNull android.view.autofill.AutofillId);
11935    field public static final String SERVICE_INTERFACE = "android.service.autofill.augmented.AugmentedAutofillService";
11936  }
11937
11938  public final class FillCallback {
11939    method public void onSuccess(@Nullable android.service.autofill.augmented.FillResponse);
11940  }
11941
11942  public final class FillController {
11943    method public void autofill(@NonNull java.util.List<android.util.Pair<android.view.autofill.AutofillId,android.view.autofill.AutofillValue>>);
11944  }
11945
11946  public final class FillRequest {
11947    method @NonNull public android.content.ComponentName getActivityComponent();
11948    method @NonNull public android.view.autofill.AutofillId getFocusedId();
11949    method @NonNull public android.view.autofill.AutofillValue getFocusedValue();
11950    method @Nullable public android.app.assist.AssistStructure.ViewNode getFocusedViewNode();
11951    method @Nullable public android.view.inputmethod.InlineSuggestionsRequest getInlineSuggestionsRequest();
11952    method @Nullable public android.service.autofill.augmented.PresentationParams getPresentationParams();
11953    method public int getTaskId();
11954  }
11955
11956  public final class FillResponse {
11957  }
11958
11959  public static final class FillResponse.Builder {
11960    ctor public FillResponse.Builder();
11961    method @NonNull public android.service.autofill.augmented.FillResponse build();
11962    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setClientState(@NonNull android.os.Bundle);
11963    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setFillWindow(@NonNull android.service.autofill.augmented.FillWindow);
11964    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setInlineSuggestions(@NonNull java.util.List<android.service.autofill.Dataset>);
11965  }
11966
11967  public final class FillWindow implements java.lang.AutoCloseable {
11968    ctor public FillWindow();
11969    method public void destroy();
11970    method public boolean update(@NonNull android.service.autofill.augmented.PresentationParams.Area, @NonNull android.view.View, long);
11971  }
11972
11973  public abstract class PresentationParams {
11974    method @Nullable public android.service.autofill.augmented.PresentationParams.Area getSuggestionArea();
11975  }
11976
11977  public abstract static class PresentationParams.Area {
11978    method @NonNull public android.graphics.Rect getBounds();
11979  }
11980
11981}
11982
11983package android.service.carrier {
11984
11985  public abstract class ApnService extends android.app.Service {
11986    ctor public ApnService();
11987    method @NonNull public android.os.IBinder onBind(@Nullable android.content.Intent);
11988    method @NonNull @WorkerThread public abstract java.util.List<android.content.ContentValues> onRestoreApns(int);
11989  }
11990
11991  public final class CarrierMessagingServiceWrapper implements java.lang.AutoCloseable {
11992    ctor public CarrierMessagingServiceWrapper();
11993    method public boolean bindToCarrierMessagingService(@NonNull android.content.Context, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull Runnable);
11994    method public void disconnect();
11995    method public void downloadMms(@NonNull android.net.Uri, int, @NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
11996    method public void receiveSms(@NonNull android.service.carrier.MessagePdu, @NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
11997    method public void sendDataSms(@NonNull byte[], int, @NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
11998    method public void sendMms(@NonNull android.net.Uri, int, @NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
11999    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);
12000    method public void sendTextSms(@NonNull String, int, @NonNull String, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
12001  }
12002
12003  public static interface CarrierMessagingServiceWrapper.CarrierMessagingCallback {
12004    method public default void onDownloadMmsComplete(int);
12005    method public default void onReceiveSmsComplete(int);
12006    method public default void onSendMmsComplete(int, @Nullable byte[]);
12007    method public default void onSendMultipartSmsComplete(int, @Nullable int[]);
12008    method public default void onSendSmsComplete(int, int);
12009  }
12010
12011}
12012
12013package android.service.contentcapture {
12014
12015  public final class ActivityEvent implements android.os.Parcelable {
12016    method public int describeContents();
12017    method @NonNull public android.content.ComponentName getComponentName();
12018    method public int getEventType();
12019    method public void writeToParcel(@NonNull android.os.Parcel, int);
12020    field @NonNull public static final android.os.Parcelable.Creator<android.service.contentcapture.ActivityEvent> CREATOR;
12021    field public static final int TYPE_ACTIVITY_DESTROYED = 24; // 0x18
12022    field public static final int TYPE_ACTIVITY_PAUSED = 2; // 0x2
12023    field public static final int TYPE_ACTIVITY_RESUMED = 1; // 0x1
12024    field public static final int TYPE_ACTIVITY_STOPPED = 23; // 0x17
12025  }
12026
12027  public abstract class ContentCaptureService extends android.app.Service {
12028    ctor public ContentCaptureService();
12029    method public final void disableSelf();
12030    method public void onActivityEvent(@NonNull android.service.contentcapture.ActivityEvent);
12031    method public void onActivitySnapshot(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.service.contentcapture.SnapshotData);
12032    method public void onConnected();
12033    method public void onContentCaptureEvent(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.view.contentcapture.ContentCaptureEvent);
12034    method public void onCreateContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureContext, @NonNull android.view.contentcapture.ContentCaptureSessionId);
12035    method public void onDataRemovalRequest(@NonNull android.view.contentcapture.DataRemovalRequest);
12036    method public void onDataShareRequest(@NonNull android.view.contentcapture.DataShareRequest, @NonNull android.service.contentcapture.DataShareCallback);
12037    method public void onDestroyContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureSessionId);
12038    method public void onDisconnected();
12039    method public final void setContentCaptureConditions(@NonNull String, @Nullable java.util.Set<android.view.contentcapture.ContentCaptureCondition>);
12040    method public final void setContentCaptureWhitelist(@Nullable java.util.Set<java.lang.String>, @Nullable java.util.Set<android.content.ComponentName>);
12041    field public static final String SERVICE_INTERFACE = "android.service.contentcapture.ContentCaptureService";
12042    field public static final String SERVICE_META_DATA = "android.content_capture";
12043  }
12044
12045  public interface DataShareCallback {
12046    method public void onAccept(@NonNull java.util.concurrent.Executor, @NonNull android.service.contentcapture.DataShareReadAdapter);
12047    method public void onReject();
12048  }
12049
12050  public interface DataShareReadAdapter {
12051    method public void onError(int);
12052    method public void onStart(@NonNull android.os.ParcelFileDescriptor);
12053  }
12054
12055  public final class SnapshotData implements android.os.Parcelable {
12056    method public int describeContents();
12057    method @Nullable public android.app.assist.AssistContent getAssistContent();
12058    method @NonNull public android.os.Bundle getAssistData();
12059    method @NonNull public android.app.assist.AssistStructure getAssistStructure();
12060    method public void writeToParcel(@NonNull android.os.Parcel, int);
12061    field @NonNull public static final android.os.Parcelable.Creator<android.service.contentcapture.SnapshotData> CREATOR;
12062  }
12063
12064}
12065
12066package android.service.contentsuggestions {
12067
12068  public abstract class ContentSuggestionsService extends android.app.Service {
12069    ctor public ContentSuggestionsService();
12070    method public abstract void onClassifyContentSelections(@NonNull android.app.contentsuggestions.ClassificationsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.ClassificationsCallback);
12071    method public abstract void onNotifyInteraction(@NonNull String, @NonNull android.os.Bundle);
12072    method public abstract void onProcessContextImage(int, @Nullable android.graphics.Bitmap, @NonNull android.os.Bundle);
12073    method public abstract void onSuggestContentSelections(@NonNull android.app.contentsuggestions.SelectionsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.SelectionsCallback);
12074    field public static final String SERVICE_INTERFACE = "android.service.contentsuggestions.ContentSuggestionsService";
12075  }
12076
12077}
12078
12079package android.service.dataloader {
12080
12081  public abstract class DataLoaderService extends android.app.Service {
12082    ctor public DataLoaderService();
12083    method @Nullable public android.service.dataloader.DataLoaderService.DataLoader onCreateDataLoader(@NonNull android.content.pm.DataLoaderParams);
12084  }
12085
12086  public static interface DataLoaderService.DataLoader {
12087    method public boolean onCreate(@NonNull android.content.pm.DataLoaderParams, @NonNull android.service.dataloader.DataLoaderService.FileSystemConnector);
12088    method public boolean onPrepareImage(@NonNull java.util.Collection<android.content.pm.InstallationFile>, @NonNull java.util.Collection<java.lang.String>);
12089  }
12090
12091  public static final class DataLoaderService.FileSystemConnector {
12092    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void writeData(@NonNull String, long, long, @NonNull android.os.ParcelFileDescriptor) throws java.io.IOException;
12093  }
12094
12095}
12096
12097package android.service.displayhash {
12098
12099  public final class DisplayHashParams implements android.os.Parcelable {
12100    method public int describeContents();
12101    method @Nullable public android.util.Size getBufferSize();
12102    method public boolean isGrayscaleBuffer();
12103    method public void writeToParcel(@NonNull android.os.Parcel, int);
12104    field @NonNull public static final android.os.Parcelable.Creator<android.service.displayhash.DisplayHashParams> CREATOR;
12105  }
12106
12107  public static final class DisplayHashParams.Builder {
12108    ctor public DisplayHashParams.Builder();
12109    method @NonNull public android.service.displayhash.DisplayHashParams build();
12110    method @NonNull public android.service.displayhash.DisplayHashParams.Builder setBufferSize(int, int);
12111    method @NonNull public android.service.displayhash.DisplayHashParams.Builder setGrayscaleBuffer(boolean);
12112  }
12113
12114  public abstract class DisplayHashingService extends android.app.Service {
12115    ctor public DisplayHashingService();
12116    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
12117    method public abstract void onGenerateDisplayHash(@NonNull byte[], @NonNull android.hardware.HardwareBuffer, @NonNull android.graphics.Rect, @NonNull String, @NonNull android.view.displayhash.DisplayHashResultCallback);
12118    method @NonNull public abstract java.util.Map<java.lang.String,android.service.displayhash.DisplayHashParams> onGetDisplayHashAlgorithms();
12119    method public abstract int onGetIntervalBetweenRequestsMillis();
12120    method @Nullable public abstract android.view.displayhash.VerifiedDisplayHash onVerifyDisplayHash(@NonNull byte[], @NonNull android.view.displayhash.DisplayHash);
12121    field public static final String SERVICE_INTERFACE = "android.service.displayhash.DisplayHashingService";
12122  }
12123
12124}
12125
12126package android.service.euicc {
12127
12128  public final class DownloadSubscriptionResult implements android.os.Parcelable {
12129    ctor public DownloadSubscriptionResult(int, int, int);
12130    method public int describeContents();
12131    method public int getCardId();
12132    method public int getResolvableErrors();
12133    method public int getResult();
12134    method public void writeToParcel(android.os.Parcel, int);
12135    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.DownloadSubscriptionResult> CREATOR;
12136  }
12137
12138  public final class EuiccProfileInfo implements android.os.Parcelable {
12139    method public int describeContents();
12140    method public android.service.carrier.CarrierIdentifier getCarrierIdentifier();
12141    method public String getIccid();
12142    method @Nullable public String getNickname();
12143    method @android.service.euicc.EuiccProfileInfo.PolicyRule public int getPolicyRules();
12144    method @android.service.euicc.EuiccProfileInfo.ProfileClass public int getProfileClass();
12145    method public String getProfileName();
12146    method public String getServiceProviderName();
12147    method @android.service.euicc.EuiccProfileInfo.ProfileState public int getState();
12148    method @Nullable public java.util.List<android.telephony.UiccAccessRule> getUiccAccessRules();
12149    method public boolean hasPolicyRule(@android.service.euicc.EuiccProfileInfo.PolicyRule int);
12150    method public boolean hasPolicyRules();
12151    method public void writeToParcel(android.os.Parcel, int);
12152    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.EuiccProfileInfo> CREATOR;
12153    field public static final int POLICY_RULE_DELETE_AFTER_DISABLING = 4; // 0x4
12154    field public static final int POLICY_RULE_DO_NOT_DELETE = 2; // 0x2
12155    field public static final int POLICY_RULE_DO_NOT_DISABLE = 1; // 0x1
12156    field public static final int PROFILE_CLASS_OPERATIONAL = 2; // 0x2
12157    field public static final int PROFILE_CLASS_PROVISIONING = 1; // 0x1
12158    field public static final int PROFILE_CLASS_TESTING = 0; // 0x0
12159    field public static final int PROFILE_STATE_DISABLED = 0; // 0x0
12160    field public static final int PROFILE_STATE_ENABLED = 1; // 0x1
12161  }
12162
12163  public static final class EuiccProfileInfo.Builder {
12164    ctor public EuiccProfileInfo.Builder(String);
12165    ctor public EuiccProfileInfo.Builder(android.service.euicc.EuiccProfileInfo);
12166    method public android.service.euicc.EuiccProfileInfo build();
12167    method public android.service.euicc.EuiccProfileInfo.Builder setCarrierIdentifier(android.service.carrier.CarrierIdentifier);
12168    method public android.service.euicc.EuiccProfileInfo.Builder setIccid(String);
12169    method public android.service.euicc.EuiccProfileInfo.Builder setNickname(String);
12170    method public android.service.euicc.EuiccProfileInfo.Builder setPolicyRules(@android.service.euicc.EuiccProfileInfo.PolicyRule int);
12171    method public android.service.euicc.EuiccProfileInfo.Builder setProfileClass(@android.service.euicc.EuiccProfileInfo.ProfileClass int);
12172    method public android.service.euicc.EuiccProfileInfo.Builder setProfileName(String);
12173    method public android.service.euicc.EuiccProfileInfo.Builder setServiceProviderName(String);
12174    method public android.service.euicc.EuiccProfileInfo.Builder setState(@android.service.euicc.EuiccProfileInfo.ProfileState int);
12175    method public android.service.euicc.EuiccProfileInfo.Builder setUiccAccessRule(@Nullable java.util.List<android.telephony.UiccAccessRule>);
12176  }
12177
12178  @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 {
12179  }
12180
12181  @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 {
12182  }
12183
12184  @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 {
12185  }
12186
12187  public abstract class EuiccService extends android.app.Service {
12188    ctor public EuiccService();
12189    method public void dump(@NonNull java.io.PrintWriter);
12190    method public int encodeSmdxSubjectAndReasonCode(@Nullable String, @Nullable String);
12191    method @CallSuper public android.os.IBinder onBind(android.content.Intent);
12192    method public abstract int onDeleteSubscription(int, String);
12193    method public android.service.euicc.DownloadSubscriptionResult onDownloadSubscription(int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean, @Nullable android.os.Bundle);
12194    method @Deprecated public int onDownloadSubscription(int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean);
12195    method @Deprecated public abstract int onEraseSubscriptions(int);
12196    method public int onEraseSubscriptions(int, @android.telephony.euicc.EuiccCardManager.ResetOption int);
12197    method public abstract android.service.euicc.GetDefaultDownloadableSubscriptionListResult onGetDefaultDownloadableSubscriptionList(int, boolean);
12198    method public abstract android.service.euicc.GetDownloadableSubscriptionMetadataResult onGetDownloadableSubscriptionMetadata(int, android.telephony.euicc.DownloadableSubscription, boolean);
12199    method public abstract String onGetEid(int);
12200    method @NonNull public abstract android.telephony.euicc.EuiccInfo onGetEuiccInfo(int);
12201    method @NonNull public abstract android.service.euicc.GetEuiccProfileInfoListResult onGetEuiccProfileInfoList(int);
12202    method @android.telephony.euicc.EuiccManager.OtaStatus public abstract int onGetOtaStatus(int);
12203    method public abstract int onRetainSubscriptionsForFactoryReset(int);
12204    method public abstract void onStartOtaIfNecessary(int, android.service.euicc.EuiccService.OtaStatusChangedCallback);
12205    method public abstract int onSwitchToSubscription(int, @Nullable String, boolean);
12206    method public abstract int onUpdateSubscriptionNickname(int, String, String);
12207    field public static final String ACTION_BIND_CARRIER_PROVISIONING_SERVICE = "android.service.euicc.action.BIND_CARRIER_PROVISIONING_SERVICE";
12208    field public static final String ACTION_DELETE_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.DELETE_SUBSCRIPTION_PRIVILEGED";
12209    field public static final String ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS = "android.service.euicc.action.MANAGE_EMBEDDED_SUBSCRIPTIONS";
12210    field public static final String ACTION_PROVISION_EMBEDDED_SUBSCRIPTION = "android.service.euicc.action.PROVISION_EMBEDDED_SUBSCRIPTION";
12211    field public static final String ACTION_RENAME_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.RENAME_SUBSCRIPTION_PRIVILEGED";
12212    field @Deprecated public static final String ACTION_RESOLVE_CONFIRMATION_CODE = "android.service.euicc.action.RESOLVE_CONFIRMATION_CODE";
12213    field public static final String ACTION_RESOLVE_DEACTIVATE_SIM = "android.service.euicc.action.RESOLVE_DEACTIVATE_SIM";
12214    field public static final String ACTION_RESOLVE_NO_PRIVILEGES = "android.service.euicc.action.RESOLVE_NO_PRIVILEGES";
12215    field public static final String ACTION_RESOLVE_RESOLVABLE_ERRORS = "android.service.euicc.action.RESOLVE_RESOLVABLE_ERRORS";
12216    field public static final String ACTION_START_CARRIER_ACTIVATION = "android.service.euicc.action.START_CARRIER_ACTIVATION";
12217    field public static final String ACTION_START_EUICC_ACTIVATION = "android.service.euicc.action.START_EUICC_ACTIVATION";
12218    field public static final String ACTION_TOGGLE_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.TOGGLE_SUBSCRIPTION_PRIVILEGED";
12219    field public static final String CATEGORY_EUICC_UI = "android.service.euicc.category.EUICC_UI";
12220    field public static final String EUICC_SERVICE_INTERFACE = "android.service.euicc.EuiccService";
12221    field public static final String EXTRA_RESOLUTION_ALLOW_POLICY_RULES = "android.service.euicc.extra.RESOLUTION_ALLOW_POLICY_RULES";
12222    field public static final String EXTRA_RESOLUTION_CALLING_PACKAGE = "android.service.euicc.extra.RESOLUTION_CALLING_PACKAGE";
12223    field public static final String EXTRA_RESOLUTION_CARD_ID = "android.service.euicc.extra.RESOLUTION_CARD_ID";
12224    field public static final String EXTRA_RESOLUTION_CONFIRMATION_CODE = "android.service.euicc.extra.RESOLUTION_CONFIRMATION_CODE";
12225    field public static final String EXTRA_RESOLUTION_CONFIRMATION_CODE_RETRIED = "android.service.euicc.extra.RESOLUTION_CONFIRMATION_CODE_RETRIED";
12226    field public static final String EXTRA_RESOLUTION_CONSENT = "android.service.euicc.extra.RESOLUTION_CONSENT";
12227    field public static final String EXTRA_RESOLVABLE_ERRORS = "android.service.euicc.extra.RESOLVABLE_ERRORS";
12228    field public static final int RESOLVABLE_ERROR_CONFIRMATION_CODE = 1; // 0x1
12229    field public static final int RESOLVABLE_ERROR_POLICY_RULES = 2; // 0x2
12230    field public static final int RESULT_FIRST_USER = 1; // 0x1
12231    field public static final int RESULT_MUST_DEACTIVATE_SIM = -1; // 0xffffffff
12232    field @Deprecated public static final int RESULT_NEED_CONFIRMATION_CODE = -2; // 0xfffffffe
12233    field public static final int RESULT_OK = 0; // 0x0
12234    field public static final int RESULT_RESOLVABLE_ERRORS = -2; // 0xfffffffe
12235  }
12236
12237  public abstract static class EuiccService.OtaStatusChangedCallback {
12238    ctor public EuiccService.OtaStatusChangedCallback();
12239    method public abstract void onOtaStatusChanged(int);
12240  }
12241
12242  public final class GetDefaultDownloadableSubscriptionListResult implements android.os.Parcelable {
12243    ctor public GetDefaultDownloadableSubscriptionListResult(int, @Nullable android.telephony.euicc.DownloadableSubscription[]);
12244    method public int describeContents();
12245    method @Nullable public java.util.List<android.telephony.euicc.DownloadableSubscription> getDownloadableSubscriptions();
12246    method public int getResult();
12247    method public void writeToParcel(android.os.Parcel, int);
12248    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetDefaultDownloadableSubscriptionListResult> CREATOR;
12249  }
12250
12251  public final class GetDownloadableSubscriptionMetadataResult implements android.os.Parcelable {
12252    ctor public GetDownloadableSubscriptionMetadataResult(int, @Nullable android.telephony.euicc.DownloadableSubscription);
12253    method public int describeContents();
12254    method @Nullable public android.telephony.euicc.DownloadableSubscription getDownloadableSubscription();
12255    method public int getResult();
12256    method public void writeToParcel(android.os.Parcel, int);
12257    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetDownloadableSubscriptionMetadataResult> CREATOR;
12258  }
12259
12260  public final class GetEuiccProfileInfoListResult implements android.os.Parcelable {
12261    ctor public GetEuiccProfileInfoListResult(int, @Nullable android.service.euicc.EuiccProfileInfo[], boolean);
12262    method public int describeContents();
12263    method public boolean getIsRemovable();
12264    method @Nullable public java.util.List<android.service.euicc.EuiccProfileInfo> getProfiles();
12265    method public int getResult();
12266    method public void writeToParcel(android.os.Parcel, int);
12267    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetEuiccProfileInfoListResult> CREATOR;
12268  }
12269
12270}
12271
12272package android.service.notification {
12273
12274  public final class Adjustment implements android.os.Parcelable {
12275    ctor public Adjustment(String, String, android.os.Bundle, CharSequence, int);
12276    ctor public Adjustment(@NonNull String, @NonNull String, @NonNull android.os.Bundle, @NonNull CharSequence, @NonNull android.os.UserHandle);
12277    ctor protected Adjustment(android.os.Parcel);
12278    method public int describeContents();
12279    method @NonNull public CharSequence getExplanation();
12280    method @NonNull public String getKey();
12281    method @NonNull public String getPackage();
12282    method @NonNull public android.os.Bundle getSignals();
12283    method public int getUser();
12284    method @NonNull public android.os.UserHandle getUserHandle();
12285    method public void writeToParcel(android.os.Parcel, int);
12286    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.Adjustment> CREATOR;
12287    field public static final String KEY_CONTEXTUAL_ACTIONS = "key_contextual_actions";
12288    field public static final String KEY_IMPORTANCE = "key_importance";
12289    field public static final String KEY_NOT_CONVERSATION = "key_not_conversation";
12290    field public static final String KEY_PEOPLE = "key_people";
12291    field public static final String KEY_RANKING_SCORE = "key_ranking_score";
12292    field public static final String KEY_SNOOZE_CRITERIA = "key_snooze_criteria";
12293    field public static final String KEY_TEXT_REPLIES = "key_text_replies";
12294    field public static final String KEY_USER_SENTIMENT = "key_user_sentiment";
12295  }
12296
12297  public abstract class NotificationAssistantService extends android.service.notification.NotificationListenerService {
12298    ctor public NotificationAssistantService();
12299    method public final void adjustNotification(@NonNull android.service.notification.Adjustment);
12300    method public final void adjustNotifications(@NonNull java.util.List<android.service.notification.Adjustment>);
12301    method public void onActionInvoked(@NonNull String, @NonNull android.app.Notification.Action, int);
12302    method public void onAllowedAdjustmentsChanged();
12303    method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent);
12304    method public void onNotificationClicked(@NonNull String);
12305    method public void onNotificationDirectReplied(@NonNull String);
12306    method @Nullable public abstract android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification);
12307    method @Nullable public android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification, @NonNull android.app.NotificationChannel);
12308    method @Nullable public android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification, @NonNull android.app.NotificationChannel, @NonNull android.service.notification.NotificationListenerService.RankingMap);
12309    method public void onNotificationExpansionChanged(@NonNull String, boolean, boolean);
12310    method public void onNotificationFeedbackReceived(@NonNull String, @NonNull android.service.notification.NotificationListenerService.RankingMap, @NonNull android.os.Bundle);
12311    method public abstract void onNotificationSnoozedUntilContext(@NonNull android.service.notification.StatusBarNotification, @NonNull String);
12312    method public void onNotificationVisibilityChanged(@NonNull String, boolean);
12313    method public void onNotificationsSeen(@NonNull java.util.List<java.lang.String>);
12314    method public void onPanelHidden();
12315    method public void onPanelRevealed(int);
12316    method public void onSuggestedReplySent(@NonNull String, @NonNull CharSequence, int);
12317    method public final void unsnoozeNotification(@NonNull String);
12318    field public static final String FEEDBACK_RATING = "feedback.rating";
12319    field public static final String SERVICE_INTERFACE = "android.service.notification.NotificationAssistantService";
12320    field public static final int SOURCE_FROM_APP = 0; // 0x0
12321    field public static final int SOURCE_FROM_ASSISTANT = 1; // 0x1
12322  }
12323
12324  public abstract class NotificationListenerService extends android.app.Service {
12325    method public void onNotificationRemoved(@NonNull android.service.notification.StatusBarNotification, @NonNull android.service.notification.NotificationListenerService.RankingMap, @NonNull android.service.notification.NotificationStats, int);
12326  }
12327
12328  public final class NotificationStats implements android.os.Parcelable {
12329    ctor public NotificationStats();
12330    ctor protected NotificationStats(android.os.Parcel);
12331    method public int describeContents();
12332    method public int getDismissalSentiment();
12333    method public int getDismissalSurface();
12334    method public boolean hasDirectReplied();
12335    method public boolean hasExpanded();
12336    method public boolean hasInteracted();
12337    method public boolean hasSeen();
12338    method public boolean hasSnoozed();
12339    method public boolean hasViewedSettings();
12340    method public void setDirectReplied();
12341    method public void setDismissalSentiment(int);
12342    method public void setDismissalSurface(int);
12343    method public void setExpanded();
12344    method public void setSeen();
12345    method public void setSnoozed();
12346    method public void setViewedSettings();
12347    method public void writeToParcel(android.os.Parcel, int);
12348    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.NotificationStats> CREATOR;
12349    field public static final int DISMISSAL_AOD = 2; // 0x2
12350    field public static final int DISMISSAL_NOT_DISMISSED = -1; // 0xffffffff
12351    field public static final int DISMISSAL_OTHER = 0; // 0x0
12352    field public static final int DISMISSAL_PEEK = 1; // 0x1
12353    field public static final int DISMISSAL_SHADE = 3; // 0x3
12354    field public static final int DISMISS_SENTIMENT_NEGATIVE = 0; // 0x0
12355    field public static final int DISMISS_SENTIMENT_NEUTRAL = 1; // 0x1
12356    field public static final int DISMISS_SENTIMENT_POSITIVE = 2; // 0x2
12357    field public static final int DISMISS_SENTIMENT_UNKNOWN = -1000; // 0xfffffc18
12358  }
12359
12360  public final class SnoozeCriterion implements android.os.Parcelable {
12361    ctor public SnoozeCriterion(String, CharSequence, CharSequence);
12362    ctor protected SnoozeCriterion(android.os.Parcel);
12363    method public int describeContents();
12364    method public CharSequence getConfirmation();
12365    method public CharSequence getExplanation();
12366    method public String getId();
12367    method public void writeToParcel(android.os.Parcel, int);
12368    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.SnoozeCriterion> CREATOR;
12369  }
12370
12371}
12372
12373package android.service.oemlock {
12374
12375  public class OemLockManager {
12376    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public String getLockName();
12377    method @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public boolean isOemUnlockAllowedByCarrier();
12378    method @RequiresPermission(android.Manifest.permission.MANAGE_USER_OEM_UNLOCK_STATE) public boolean isOemUnlockAllowedByUser();
12379    method @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public void setOemUnlockAllowedByCarrier(boolean, @Nullable byte[]);
12380    method @RequiresPermission(android.Manifest.permission.MANAGE_USER_OEM_UNLOCK_STATE) public void setOemUnlockAllowedByUser(boolean);
12381  }
12382
12383}
12384
12385package android.service.persistentdata {
12386
12387  public class PersistentDataBlockManager {
12388    method @RequiresPermission("android.permission.ACCESS_PDB_STATE") public int getDataBlockSize();
12389    method @android.service.persistentdata.PersistentDataBlockManager.FlashLockState @RequiresPermission(anyOf={android.Manifest.permission.READ_OEM_UNLOCK_STATE, "android.permission.OEM_UNLOCK_STATE"}) public int getFlashLockState();
12390    method public long getMaximumDataBlockSize();
12391    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_OEM_UNLOCK_STATE, "android.permission.OEM_UNLOCK_STATE"}) public boolean getOemUnlockEnabled();
12392    method public byte[] read();
12393    method @Deprecated @RequiresPermission("android.permission.OEM_UNLOCK_STATE") public void setOemUnlockEnabled(boolean);
12394    method @RequiresPermission("android.permission.OEM_UNLOCK_STATE") public void wipe();
12395    method public int write(byte[]);
12396    field public static final int FLASH_LOCK_LOCKED = 1; // 0x1
12397    field public static final int FLASH_LOCK_UNKNOWN = -1; // 0xffffffff
12398    field public static final int FLASH_LOCK_UNLOCKED = 0; // 0x0
12399  }
12400
12401  @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 {
12402  }
12403
12404}
12405
12406package android.service.quicksettings {
12407
12408  public class TileService extends android.app.Service {
12409    method public final void setStatusIcon(android.graphics.drawable.Icon, String);
12410  }
12411
12412}
12413
12414package android.service.resolver {
12415
12416  public abstract class ResolverRankerService extends android.app.Service {
12417    ctor public ResolverRankerService();
12418    method public android.os.IBinder onBind(android.content.Intent);
12419    method public void onPredictSharingProbabilities(java.util.List<android.service.resolver.ResolverTarget>);
12420    method public void onTrainRankingModel(java.util.List<android.service.resolver.ResolverTarget>, int);
12421    field public static final String BIND_PERMISSION = "android.permission.BIND_RESOLVER_RANKER_SERVICE";
12422    field public static final String HOLD_PERMISSION = "android.permission.PROVIDE_RESOLVER_RANKER_SERVICE";
12423    field public static final String SERVICE_INTERFACE = "android.service.resolver.ResolverRankerService";
12424  }
12425
12426  public final class ResolverTarget implements android.os.Parcelable {
12427    ctor public ResolverTarget();
12428    method public int describeContents();
12429    method public float getChooserScore();
12430    method public float getLaunchScore();
12431    method public float getRecencyScore();
12432    method public float getSelectProbability();
12433    method public float getTimeSpentScore();
12434    method public void setChooserScore(float);
12435    method public void setLaunchScore(float);
12436    method public void setRecencyScore(float);
12437    method public void setSelectProbability(float);
12438    method public void setTimeSpentScore(float);
12439    method public void writeToParcel(android.os.Parcel, int);
12440    field @NonNull public static final android.os.Parcelable.Creator<android.service.resolver.ResolverTarget> CREATOR;
12441  }
12442
12443}
12444
12445package android.service.resumeonreboot {
12446
12447  public abstract class ResumeOnRebootService extends android.app.Service {
12448    ctor public ResumeOnRebootService();
12449    method @Nullable public android.os.IBinder onBind(@Nullable android.content.Intent);
12450    method @NonNull public abstract byte[] onUnwrap(@NonNull byte[]) throws java.io.IOException;
12451    method @NonNull public abstract byte[] onWrap(@NonNull byte[], long) throws java.io.IOException;
12452    field public static final String SERVICE_INTERFACE = "android.service.resumeonreboot.ResumeOnRebootService";
12453  }
12454
12455}
12456
12457package android.service.rotationresolver {
12458
12459  public final class RotationResolutionRequest implements android.os.Parcelable {
12460    ctor public RotationResolutionRequest(@NonNull String, int, int, boolean, long);
12461    method public int describeContents();
12462    method public int getCurrentRotation();
12463    method @NonNull public String getForegroundPackageName();
12464    method public int getProposedRotation();
12465    method public long getTimeoutMillis();
12466    method public boolean shouldUseCamera();
12467    method public void writeToParcel(@NonNull android.os.Parcel, int);
12468    field @NonNull public static final android.os.Parcelable.Creator<android.service.rotationresolver.RotationResolutionRequest> CREATOR;
12469  }
12470
12471  public abstract class RotationResolverService extends android.app.Service {
12472    ctor public RotationResolverService();
12473    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
12474    method public abstract void onResolveRotation(@NonNull android.service.rotationresolver.RotationResolutionRequest, @Nullable android.os.CancellationSignal, @NonNull android.service.rotationresolver.RotationResolverService.RotationResolverCallback);
12475    field public static final int ROTATION_RESULT_FAILURE_CANCELLED = 0; // 0x0
12476    field public static final int ROTATION_RESULT_FAILURE_NOT_SUPPORTED = 4; // 0x4
12477    field public static final int ROTATION_RESULT_FAILURE_PREEMPTED = 2; // 0x2
12478    field public static final int ROTATION_RESULT_FAILURE_TIMED_OUT = 1; // 0x1
12479    field public static final int ROTATION_RESULT_FAILURE_UNKNOWN = 3; // 0x3
12480    field public static final String SERVICE_INTERFACE = "android.service.rotationresolver.RotationResolverService";
12481  }
12482
12483  public static interface RotationResolverService.RotationResolverCallback {
12484    method public void onFailure(int);
12485    method public void onSuccess(int);
12486  }
12487
12488}
12489
12490package android.service.search {
12491
12492  public abstract class SearchUiService extends android.app.Service {
12493    ctor public SearchUiService();
12494    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
12495    method @MainThread public abstract void onDestroy(@NonNull android.app.search.SearchSessionId);
12496    method @MainThread public abstract void onNotifyEvent(@NonNull android.app.search.SearchSessionId, @NonNull android.app.search.Query, @NonNull android.app.search.SearchTargetEvent);
12497    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>>);
12498    method public void onSearchSessionCreated(@NonNull android.app.search.SearchContext, @NonNull android.app.search.SearchSessionId);
12499  }
12500
12501}
12502
12503package android.service.settings.suggestions {
12504
12505  public final class Suggestion implements android.os.Parcelable {
12506    method public int describeContents();
12507    method public int getFlags();
12508    method public android.graphics.drawable.Icon getIcon();
12509    method public String getId();
12510    method public android.app.PendingIntent getPendingIntent();
12511    method public CharSequence getSummary();
12512    method public CharSequence getTitle();
12513    method public void writeToParcel(android.os.Parcel, int);
12514    field @NonNull public static final android.os.Parcelable.Creator<android.service.settings.suggestions.Suggestion> CREATOR;
12515    field public static final int FLAG_HAS_BUTTON = 1; // 0x1
12516  }
12517
12518  public static class Suggestion.Builder {
12519    ctor public Suggestion.Builder(String);
12520    method public android.service.settings.suggestions.Suggestion build();
12521    method public android.service.settings.suggestions.Suggestion.Builder setFlags(int);
12522    method public android.service.settings.suggestions.Suggestion.Builder setIcon(android.graphics.drawable.Icon);
12523    method public android.service.settings.suggestions.Suggestion.Builder setPendingIntent(android.app.PendingIntent);
12524    method public android.service.settings.suggestions.Suggestion.Builder setSummary(CharSequence);
12525    method public android.service.settings.suggestions.Suggestion.Builder setTitle(CharSequence);
12526  }
12527
12528  public abstract class SuggestionService extends android.app.Service {
12529    ctor public SuggestionService();
12530    method public android.os.IBinder onBind(android.content.Intent);
12531    method public abstract java.util.List<android.service.settings.suggestions.Suggestion> onGetSuggestions();
12532    method public abstract void onSuggestionDismissed(android.service.settings.suggestions.Suggestion);
12533    method public abstract void onSuggestionLaunched(android.service.settings.suggestions.Suggestion);
12534  }
12535
12536}
12537
12538package android.service.smartspace {
12539
12540  public abstract class SmartspaceService extends android.app.Service {
12541    ctor public SmartspaceService();
12542    method @MainThread public abstract void notifySmartspaceEvent(@NonNull android.app.smartspace.SmartspaceSessionId, @NonNull android.app.smartspace.SmartspaceTargetEvent);
12543    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
12544    method public abstract void onCreateSmartspaceSession(@NonNull android.app.smartspace.SmartspaceConfig, @NonNull android.app.smartspace.SmartspaceSessionId);
12545    method @MainThread public abstract void onDestroy(@NonNull android.app.smartspace.SmartspaceSessionId);
12546    method public abstract void onDestroySmartspaceSession(@NonNull android.app.smartspace.SmartspaceSessionId);
12547    method @MainThread public abstract void onRequestSmartspaceUpdate(@NonNull android.app.smartspace.SmartspaceSessionId);
12548    method public final void updateSmartspaceTargets(@NonNull android.app.smartspace.SmartspaceSessionId, @NonNull java.util.List<android.app.smartspace.SmartspaceTarget>);
12549  }
12550
12551}
12552
12553package android.service.storage {
12554
12555  public abstract class ExternalStorageService extends android.app.Service {
12556    ctor public ExternalStorageService();
12557    method public void onAnrDelayStarted(@NonNull String, int, int, int);
12558    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
12559    method public abstract void onEndSession(@NonNull String) throws java.io.IOException;
12560    method public void onFreeCache(@NonNull java.util.UUID, long) throws java.io.IOException;
12561    method public abstract void onStartSession(@NonNull String, int, @NonNull android.os.ParcelFileDescriptor, @NonNull java.io.File, @NonNull java.io.File) throws java.io.IOException;
12562    method public abstract void onVolumeStateChanged(@NonNull android.os.storage.StorageVolume) throws java.io.IOException;
12563    field public static final int FLAG_SESSION_ATTRIBUTE_INDEXABLE = 2; // 0x2
12564    field public static final int FLAG_SESSION_TYPE_FUSE = 1; // 0x1
12565    field public static final String SERVICE_INTERFACE = "android.service.storage.ExternalStorageService";
12566  }
12567
12568}
12569
12570package android.service.textclassifier {
12571
12572  public abstract class TextClassifierService extends android.app.Service {
12573    ctor public TextClassifierService();
12574    method @NonNull public static android.view.textclassifier.TextClassifier getDefaultTextClassifierImplementation(@NonNull android.content.Context);
12575    method @Deprecated public final android.view.textclassifier.TextClassifier getLocalTextClassifier();
12576    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
12577    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>);
12578    method public void onConnected();
12579    method @MainThread public void onCreateTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationContext, @NonNull android.view.textclassifier.TextClassificationSessionId);
12580    method @MainThread public void onDestroyTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationSessionId);
12581    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>);
12582    method public void onDisconnected();
12583    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>);
12584    method @Deprecated @MainThread public void onSelectionEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.SelectionEvent);
12585    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>);
12586    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>);
12587    method @MainThread public void onTextClassifierEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextClassifierEvent);
12588    field public static final String SERVICE_INTERFACE = "android.service.textclassifier.TextClassifierService";
12589  }
12590
12591  public static interface TextClassifierService.Callback<T> {
12592    method public void onFailure(@NonNull CharSequence);
12593    method public void onSuccess(T);
12594  }
12595
12596}
12597
12598package android.service.timezone {
12599
12600  public abstract class TimeZoneProviderService extends android.app.Service {
12601    ctor public TimeZoneProviderService();
12602    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
12603    method public abstract void onStartUpdates(long);
12604    method public abstract void onStopUpdates();
12605    method public final void reportPermanentFailure(@NonNull Throwable);
12606    method public final void reportSuggestion(@NonNull android.service.timezone.TimeZoneProviderSuggestion);
12607    method public final void reportUncertain();
12608    field public static final String PRIMARY_LOCATION_TIME_ZONE_PROVIDER_SERVICE_INTERFACE = "android.service.timezone.PrimaryLocationTimeZoneProviderService";
12609    field public static final String SECONDARY_LOCATION_TIME_ZONE_PROVIDER_SERVICE_INTERFACE = "android.service.timezone.SecondaryLocationTimeZoneProviderService";
12610  }
12611
12612  public final class TimeZoneProviderSuggestion implements android.os.Parcelable {
12613    method public int describeContents();
12614    method public long getElapsedRealtimeMillis();
12615    method @NonNull public java.util.List<java.lang.String> getTimeZoneIds();
12616    method public void writeToParcel(@NonNull android.os.Parcel, int);
12617    field @NonNull public static final android.os.Parcelable.Creator<android.service.timezone.TimeZoneProviderSuggestion> CREATOR;
12618  }
12619
12620  public static final class TimeZoneProviderSuggestion.Builder {
12621    ctor public TimeZoneProviderSuggestion.Builder();
12622    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion build();
12623    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion.Builder setElapsedRealtimeMillis(long);
12624    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion.Builder setTimeZoneIds(@NonNull java.util.List<java.lang.String>);
12625  }
12626
12627}
12628
12629package android.service.translation {
12630
12631  public abstract class TranslationService extends android.app.Service {
12632    ctor public TranslationService();
12633    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
12634    method public void onConnected();
12635    method public abstract void onCreateTranslationSession(@NonNull android.view.translation.TranslationContext, int, @NonNull java.util.function.Consumer<java.lang.Boolean>);
12636    method public void onDisconnected();
12637    method public abstract void onFinishTranslationSession(int);
12638    method public abstract void onTranslationCapabilitiesRequest(int, int, @NonNull java.util.function.Consumer<java.util.Set<android.view.translation.TranslationCapability>>);
12639    method public abstract void onTranslationRequest(@NonNull android.view.translation.TranslationRequest, int, @Nullable android.os.CancellationSignal, @NonNull java.util.function.Consumer<android.view.translation.TranslationResponse>);
12640    method public final void updateTranslationCapability(@NonNull android.view.translation.TranslationCapability);
12641    field public static final String SERVICE_INTERFACE = "android.service.translation.TranslationService";
12642    field public static final String SERVICE_META_DATA = "android.translation_service";
12643  }
12644
12645}
12646
12647package android.service.trust {
12648
12649  public class TrustAgentService extends android.app.Service {
12650    ctor public TrustAgentService();
12651    method public final void addEscrowToken(byte[], android.os.UserHandle);
12652    method @Deprecated public final void grantTrust(CharSequence, long, boolean);
12653    method public final void grantTrust(CharSequence, long, int);
12654    method public final void isEscrowTokenActive(long, android.os.UserHandle);
12655    method public final android.os.IBinder onBind(android.content.Intent);
12656    method public boolean onConfigure(java.util.List<android.os.PersistableBundle>);
12657    method public void onDeviceLocked();
12658    method public void onDeviceUnlockLockout(long);
12659    method public void onDeviceUnlocked();
12660    method public void onEscrowTokenAdded(byte[], long, android.os.UserHandle);
12661    method public void onEscrowTokenRemoved(long, boolean);
12662    method public void onEscrowTokenStateReceived(long, int);
12663    method public void onTrustTimeout();
12664    method public void onUnlockAttempt(boolean);
12665    method public final void removeEscrowToken(long, android.os.UserHandle);
12666    method public final void revokeTrust();
12667    method public final void setManagingTrust(boolean);
12668    method public final void showKeyguardErrorMessage(@NonNull CharSequence);
12669    method public final void unlockUserWithToken(long, byte[], android.os.UserHandle);
12670    field public static final int FLAG_GRANT_TRUST_DISMISS_KEYGUARD = 2; // 0x2
12671    field public static final int FLAG_GRANT_TRUST_INITIATED_BY_USER = 1; // 0x1
12672    field public static final String SERVICE_INTERFACE = "android.service.trust.TrustAgentService";
12673    field public static final int TOKEN_STATE_ACTIVE = 1; // 0x1
12674    field public static final int TOKEN_STATE_INACTIVE = 0; // 0x0
12675    field public static final String TRUST_AGENT_META_DATA = "android.service.trust.trustagent";
12676  }
12677
12678}
12679
12680package android.service.voice {
12681
12682  public class AlwaysOnHotwordDetector implements android.service.voice.HotwordDetector {
12683    method @Nullable public android.content.Intent createEnrollIntent();
12684    method @Nullable public android.content.Intent createReEnrollIntent();
12685    method @Nullable public android.content.Intent createUnEnrollIntent();
12686    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public int getParameter(int);
12687    method public int getSupportedAudioCapabilities();
12688    method public int getSupportedRecognitionModes();
12689    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public android.service.voice.AlwaysOnHotwordDetector.ModelParamRange queryParameter(int);
12690    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public int setParameter(int, int);
12691    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition(int);
12692    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition();
12693    method public boolean startRecognition(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle);
12694    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean stopRecognition();
12695    method public final void updateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory);
12696    field public static final int AUDIO_CAPABILITY_ECHO_CANCELLATION = 1; // 0x1
12697    field public static final int AUDIO_CAPABILITY_NOISE_SUPPRESSION = 2; // 0x2
12698    field public static final int MODEL_PARAM_THRESHOLD_FACTOR = 0; // 0x0
12699    field public static final int RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS = 2; // 0x2
12700    field public static final int RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO = 1; // 0x1
12701    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_ECHO_CANCELLATION = 4; // 0x4
12702    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_NOISE_SUPPRESSION = 8; // 0x8
12703    field public static final int RECOGNITION_FLAG_RUN_IN_BATTERY_SAVER = 16; // 0x10
12704    field public static final int RECOGNITION_MODE_USER_IDENTIFICATION = 2; // 0x2
12705    field public static final int RECOGNITION_MODE_VOICE_TRIGGER = 1; // 0x1
12706    field public static final int STATE_ERROR = 3; // 0x3
12707    field public static final int STATE_HARDWARE_UNAVAILABLE = -2; // 0xfffffffe
12708    field public static final int STATE_KEYPHRASE_ENROLLED = 2; // 0x2
12709    field public static final int STATE_KEYPHRASE_UNENROLLED = 1; // 0x1
12710    field @Deprecated public static final int STATE_KEYPHRASE_UNSUPPORTED = -1; // 0xffffffff
12711  }
12712
12713  public abstract static class AlwaysOnHotwordDetector.Callback implements android.service.voice.HotwordDetector.Callback {
12714    ctor public AlwaysOnHotwordDetector.Callback();
12715    method public abstract void onAvailabilityChanged(int);
12716    method public void onHotwordDetectionServiceInitialized(int);
12717    method public void onHotwordDetectionServiceRestarted();
12718    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
12719  }
12720
12721  public static class AlwaysOnHotwordDetector.EventPayload {
12722    method @Nullable public android.os.ParcelFileDescriptor getAudioStream();
12723    method @Nullable public android.media.AudioFormat getCaptureAudioFormat();
12724    method @Nullable public android.service.voice.HotwordDetectedResult getHotwordDetectedResult();
12725    method @Nullable public byte[] getTriggerAudio();
12726  }
12727
12728  public static final class AlwaysOnHotwordDetector.ModelParamRange {
12729    method public int getEnd();
12730    method public int getStart();
12731  }
12732
12733  public final class HotwordDetectedResult implements android.os.Parcelable {
12734    method public int describeContents();
12735    method public int getAudioChannel();
12736    method public int getConfidenceLevel();
12737    method @NonNull public android.os.PersistableBundle getExtras();
12738    method public int getHotwordDurationMillis();
12739    method public int getHotwordOffsetMillis();
12740    method public int getHotwordPhraseId();
12741    method public static int getMaxBundleSize();
12742    method public static int getMaxHotwordPhraseId();
12743    method public static int getMaxScore();
12744    method @Nullable public android.media.MediaSyncEvent getMediaSyncEvent();
12745    method public int getPersonalizedScore();
12746    method public int getScore();
12747    method public boolean isHotwordDetectionPersonalized();
12748    method public void writeToParcel(@NonNull android.os.Parcel, int);
12749    field public static final int AUDIO_CHANNEL_UNSET = -1; // 0xffffffff
12750    field public static final int CONFIDENCE_LEVEL_HIGH = 5; // 0x5
12751    field public static final int CONFIDENCE_LEVEL_LOW = 1; // 0x1
12752    field public static final int CONFIDENCE_LEVEL_LOW_MEDIUM = 2; // 0x2
12753    field public static final int CONFIDENCE_LEVEL_MEDIUM = 3; // 0x3
12754    field public static final int CONFIDENCE_LEVEL_MEDIUM_HIGH = 4; // 0x4
12755    field public static final int CONFIDENCE_LEVEL_NONE = 0; // 0x0
12756    field public static final int CONFIDENCE_LEVEL_VERY_HIGH = 6; // 0x6
12757    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordDetectedResult> CREATOR;
12758    field public static final int HOTWORD_OFFSET_UNSET = -1; // 0xffffffff
12759  }
12760
12761  public static final class HotwordDetectedResult.Builder {
12762    ctor public HotwordDetectedResult.Builder();
12763    method @NonNull public android.service.voice.HotwordDetectedResult build();
12764    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setAudioChannel(int);
12765    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setConfidenceLevel(int);
12766    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setExtras(@NonNull android.os.PersistableBundle);
12767    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordDetectionPersonalized(boolean);
12768    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordDurationMillis(int);
12769    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordOffsetMillis(int);
12770    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordPhraseId(int);
12771    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setMediaSyncEvent(@NonNull android.media.MediaSyncEvent);
12772    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setPersonalizedScore(int);
12773    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setScore(int);
12774  }
12775
12776  public abstract class HotwordDetectionService extends android.app.Service {
12777    ctor public HotwordDetectionService();
12778    method public static int getMaxCustomInitializationStatus();
12779    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
12780    method public void onDetect(@NonNull android.service.voice.AlwaysOnHotwordDetector.EventPayload, long, @NonNull android.service.voice.HotwordDetectionService.Callback);
12781    method public void onDetect(@NonNull android.service.voice.HotwordDetectionService.Callback);
12782    method public void onDetect(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle, @NonNull android.service.voice.HotwordDetectionService.Callback);
12783    method public void onStopDetection();
12784    method public void onUpdateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, long, @Nullable java.util.function.IntConsumer);
12785    field public static final int INITIALIZATION_STATUS_SUCCESS = 0; // 0x0
12786    field public static final int INITIALIZATION_STATUS_UNKNOWN = 100; // 0x64
12787    field public static final String SERVICE_INTERFACE = "android.service.voice.HotwordDetectionService";
12788  }
12789
12790  public static final class HotwordDetectionService.Callback {
12791    method public void onDetected(@NonNull android.service.voice.HotwordDetectedResult);
12792    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
12793  }
12794
12795  public interface HotwordDetector {
12796    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition();
12797    method public boolean startRecognition(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle);
12798    method public boolean stopRecognition();
12799    method public void updateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory);
12800  }
12801
12802  public static interface HotwordDetector.Callback {
12803    method public void onDetected(@NonNull android.service.voice.AlwaysOnHotwordDetector.EventPayload);
12804    method public void onError();
12805    method public void onHotwordDetectionServiceInitialized(int);
12806    method public void onHotwordDetectionServiceRestarted();
12807    method public void onRecognitionPaused();
12808    method public void onRecognitionResumed();
12809    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
12810  }
12811
12812  public final class HotwordRejectedResult implements android.os.Parcelable {
12813    method public int describeContents();
12814    method public int getConfidenceLevel();
12815    method public void writeToParcel(@NonNull android.os.Parcel, int);
12816    field public static final int CONFIDENCE_LEVEL_HIGH = 3; // 0x3
12817    field public static final int CONFIDENCE_LEVEL_LOW = 1; // 0x1
12818    field public static final int CONFIDENCE_LEVEL_MEDIUM = 2; // 0x2
12819    field public static final int CONFIDENCE_LEVEL_NONE = 0; // 0x0
12820    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordRejectedResult> CREATOR;
12821  }
12822
12823  public static final class HotwordRejectedResult.Builder {
12824    ctor public HotwordRejectedResult.Builder();
12825    method @NonNull public android.service.voice.HotwordRejectedResult build();
12826    method @NonNull public android.service.voice.HotwordRejectedResult.Builder setConfidenceLevel(int);
12827  }
12828
12829  public class VoiceInteractionService extends android.app.Service {
12830    method @NonNull public final android.service.voice.AlwaysOnHotwordDetector createAlwaysOnHotwordDetector(String, java.util.Locale, android.service.voice.AlwaysOnHotwordDetector.Callback);
12831    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);
12832    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);
12833    method @NonNull @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public final android.media.voice.KeyphraseModelManager createKeyphraseModelManager();
12834  }
12835
12836}
12837
12838package android.service.wallpaper {
12839
12840  public class WallpaperService.Engine {
12841    method public boolean isInAmbientMode();
12842    method public void onAmbientModeChanged(boolean, long);
12843  }
12844
12845}
12846
12847package android.service.watchdog {
12848
12849  public abstract class ExplicitHealthCheckService extends android.app.Service {
12850    ctor public ExplicitHealthCheckService();
12851    method public final void notifyHealthCheckPassed(@NonNull String);
12852    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
12853    method public abstract void onCancelHealthCheck(@NonNull String);
12854    method @NonNull public abstract java.util.List<java.lang.String> onGetRequestedPackages();
12855    method @NonNull public abstract java.util.List<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> onGetSupportedPackages();
12856    method public abstract void onRequestHealthCheck(@NonNull String);
12857    field public static final String BIND_PERMISSION = "android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE";
12858    field public static final String SERVICE_INTERFACE = "android.service.watchdog.ExplicitHealthCheckService";
12859  }
12860
12861  public static final class ExplicitHealthCheckService.PackageConfig implements android.os.Parcelable {
12862    ctor public ExplicitHealthCheckService.PackageConfig(@NonNull String, long);
12863    method public int describeContents();
12864    method public long getHealthCheckTimeoutMillis();
12865    method @NonNull public String getPackageName();
12866    method public void writeToParcel(android.os.Parcel, int);
12867    field @NonNull public static final android.os.Parcelable.Creator<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> CREATOR;
12868  }
12869
12870}
12871
12872package android.telecom {
12873
12874  @Deprecated public class AudioState implements android.os.Parcelable {
12875    ctor @Deprecated public AudioState(boolean, int, int);
12876    ctor @Deprecated public AudioState(android.telecom.AudioState);
12877    ctor @Deprecated public AudioState(android.telecom.CallAudioState);
12878    method @Deprecated public static String audioRouteToString(int);
12879    method @Deprecated public int describeContents();
12880    method @Deprecated public int getRoute();
12881    method @Deprecated public int getSupportedRouteMask();
12882    method @Deprecated public boolean isMuted();
12883    method @Deprecated public void writeToParcel(android.os.Parcel, int);
12884    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.telecom.AudioState> CREATOR;
12885    field @Deprecated public static final int ROUTE_BLUETOOTH = 2; // 0x2
12886    field @Deprecated public static final int ROUTE_EARPIECE = 1; // 0x1
12887    field @Deprecated public static final int ROUTE_SPEAKER = 8; // 0x8
12888    field @Deprecated public static final int ROUTE_WIRED_HEADSET = 4; // 0x4
12889    field @Deprecated public static final int ROUTE_WIRED_OR_EARPIECE = 5; // 0x5
12890  }
12891
12892  public final class BluetoothCallQualityReport implements android.os.Parcelable {
12893    method public int describeContents();
12894    method @IntRange(from=0) public int getNegativeAcknowledgementCount();
12895    method @IntRange(from=0) public int getPacketsNotReceivedCount();
12896    method @IntRange(from=0) public int getRetransmittedPacketsCount();
12897    method @IntRange(from=0xffffff81, to=20) public int getRssiDbm();
12898    method public long getSentTimestampMillis();
12899    method public int getSnrDb();
12900    method public boolean isChoppyVoice();
12901    method public void writeToParcel(@NonNull android.os.Parcel, int);
12902    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.BluetoothCallQualityReport> CREATOR;
12903    field public static final String EVENT_BLUETOOTH_CALL_QUALITY_REPORT = "android.telecom.event.BLUETOOTH_CALL_QUALITY_REPORT";
12904    field public static final String EXTRA_BLUETOOTH_CALL_QUALITY_REPORT = "android.telecom.extra.BLUETOOTH_CALL_QUALITY_REPORT";
12905  }
12906
12907  public static final class BluetoothCallQualityReport.Builder {
12908    ctor public BluetoothCallQualityReport.Builder();
12909    method @NonNull public android.telecom.BluetoothCallQualityReport build();
12910    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setChoppyVoice(boolean);
12911    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setNegativeAcknowledgementCount(int);
12912    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setPacketsNotReceivedCount(int);
12913    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setRetransmittedPacketsCount(int);
12914    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setRssiDbm(int);
12915    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setSentTimestampMillis(long);
12916    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setSnrDb(int);
12917  }
12918
12919  public final class Call {
12920    method @Deprecated public void addListener(android.telecom.Call.Listener);
12921    method public void enterBackgroundAudioProcessing();
12922    method public void exitBackgroundAudioProcessing(boolean);
12923    method @Deprecated public void removeListener(android.telecom.Call.Listener);
12924    field @Deprecated public static final int STATE_PRE_DIAL_WAIT = 8; // 0x8
12925  }
12926
12927  @Deprecated public abstract static class Call.Listener extends android.telecom.Call.Callback {
12928    ctor @Deprecated public Call.Listener();
12929  }
12930
12931  public abstract class CallDiagnosticService extends android.app.Service {
12932    ctor public CallDiagnosticService();
12933    method @NonNull public java.util.concurrent.Executor getExecutor();
12934    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
12935    method public abstract void onBluetoothCallQualityReportReceived(@NonNull android.telecom.BluetoothCallQualityReport);
12936    method public abstract void onCallAudioStateChanged(@NonNull android.telecom.CallAudioState);
12937    method @NonNull public abstract android.telecom.CallDiagnostics onInitializeCallDiagnostics(@NonNull android.telecom.Call.Details);
12938    method public abstract void onRemoveCallDiagnostics(@NonNull android.telecom.CallDiagnostics);
12939    field public static final String SERVICE_INTERFACE = "android.telecom.CallDiagnosticService";
12940  }
12941
12942  public abstract class CallDiagnostics {
12943    ctor public CallDiagnostics();
12944    method public final void clearDiagnosticMessage(int);
12945    method public final void displayDiagnosticMessage(int, @NonNull CharSequence);
12946    method public abstract void onCallDetailsChanged(@NonNull android.telecom.Call.Details);
12947    method @Nullable public abstract CharSequence onCallDisconnected(int, int);
12948    method @Nullable public abstract CharSequence onCallDisconnected(@NonNull android.telephony.ims.ImsReasonInfo);
12949    method public abstract void onCallQualityReceived(@NonNull android.telephony.CallQuality);
12950    method public abstract void onReceiveDeviceToDeviceMessage(int, int);
12951    method public final void sendDeviceToDeviceMessage(int, int);
12952    field public static final int BATTERY_STATE_CHARGING = 3; // 0x3
12953    field public static final int BATTERY_STATE_GOOD = 2; // 0x2
12954    field public static final int BATTERY_STATE_LOW = 1; // 0x1
12955    field public static final int COVERAGE_GOOD = 2; // 0x2
12956    field public static final int COVERAGE_POOR = 1; // 0x1
12957    field public static final int MESSAGE_CALL_AUDIO_CODEC = 2; // 0x2
12958    field public static final int MESSAGE_CALL_NETWORK_TYPE = 1; // 0x1
12959    field public static final int MESSAGE_DEVICE_BATTERY_STATE = 3; // 0x3
12960    field public static final int MESSAGE_DEVICE_NETWORK_COVERAGE = 4; // 0x4
12961  }
12962
12963  public static class CallScreeningService.CallResponse.Builder {
12964    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public android.telecom.CallScreeningService.CallResponse.Builder setShouldScreenCallViaAudioProcessing(boolean);
12965  }
12966
12967  public abstract class Conference extends android.telecom.Conferenceable {
12968    method @Deprecated public final android.telecom.AudioState getAudioState();
12969    method @Deprecated public final long getConnectTimeMillis();
12970    method public android.telecom.Connection getPrimaryConnection();
12971    method @NonNull public final String getTelecomCallId();
12972    method @Deprecated public void onAudioStateChanged(android.telecom.AudioState);
12973    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setAddress(@NonNull android.net.Uri, int);
12974    method public final void setCallerDisplayName(@NonNull String, int);
12975    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setConferenceState(boolean);
12976    method @Deprecated public final void setConnectTimeMillis(long);
12977  }
12978
12979  public abstract class Connection extends android.telecom.Conferenceable {
12980    method @Deprecated public final android.telecom.AudioState getAudioState();
12981    method @IntRange(from=0) public final long getConnectTimeMillis();
12982    method public final long getConnectionStartElapsedRealtimeMillis();
12983    method @Nullable public android.telecom.PhoneAccountHandle getPhoneAccountHandle();
12984    method @Nullable public final String getTelecomCallId();
12985    method @Deprecated public void onAudioStateChanged(android.telecom.AudioState);
12986    method @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public void onCallFilteringCompleted(@NonNull android.telecom.Connection.CallFilteringCompletionInfo);
12987    method public final void resetConnectionTime();
12988    method public void setCallDirection(int);
12989    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setConnectTimeMillis(@IntRange(from=0) long);
12990    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setConnectionStartElapsedRealtimeMillis(long);
12991    method public void setPhoneAccountHandle(@NonNull android.telecom.PhoneAccountHandle);
12992    method public void setTelecomCallId(@NonNull String);
12993    field public static final int CAPABILITY_CONFERENCE_HAS_NO_CHILDREN = 2097152; // 0x200000
12994    field public static final int CAPABILITY_SPEED_UP_MT_AUDIO = 262144; // 0x40000
12995    field public static final String EVENT_DEVICE_TO_DEVICE_MESSAGE = "android.telecom.event.DEVICE_TO_DEVICE_MESSAGE";
12996    field public static final String EXTRA_DEVICE_TO_DEVICE_MESSAGE_TYPE = "android.telecom.extra.DEVICE_TO_DEVICE_MESSAGE_TYPE";
12997    field public static final String EXTRA_DEVICE_TO_DEVICE_MESSAGE_VALUE = "android.telecom.extra.DEVICE_TO_DEVICE_MESSAGE_VALUE";
12998    field public static final String EXTRA_DISABLE_ADD_CALL = "android.telecom.extra.DISABLE_ADD_CALL";
12999    field public static final int PROPERTY_EMERGENCY_CALLBACK_MODE = 1; // 0x1
13000    field public static final int PROPERTY_GENERIC_CONFERENCE = 2; // 0x2
13001    field public static final int PROPERTY_IS_DOWNGRADED_CONFERENCE = 64; // 0x40
13002    field public static final int PROPERTY_REMOTELY_HOSTED = 2048; // 0x800
13003  }
13004
13005  public static final class Connection.CallFilteringCompletionInfo implements android.os.Parcelable {
13006    ctor public Connection.CallFilteringCompletionInfo(boolean, boolean, @Nullable android.telecom.CallScreeningService.CallResponse, @Nullable android.content.ComponentName);
13007    method public int describeContents();
13008    method @Nullable public android.telecom.CallScreeningService.CallResponse getCallResponse();
13009    method @Nullable public android.content.ComponentName getCallScreeningComponent();
13010    method public boolean isBlocked();
13011    method public boolean isInContacts();
13012    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.Connection.CallFilteringCompletionInfo> CREATOR;
13013  }
13014
13015  public final class ConnectionRequest implements android.os.Parcelable {
13016    method @Nullable public String getTelecomCallId();
13017  }
13018
13019  public abstract class ConnectionService extends android.app.Service {
13020    method public final void addExistingConnection(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.Connection, @NonNull android.telecom.Conference);
13021  }
13022
13023  public abstract class InCallService extends android.app.Service {
13024    method @Deprecated public android.telecom.Phone getPhone();
13025    method @Deprecated public void onPhoneCreated(android.telecom.Phone);
13026    method @Deprecated public void onPhoneDestroyed(android.telecom.Phone);
13027  }
13028
13029  public class ParcelableCallAnalytics implements android.os.Parcelable {
13030    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>);
13031    ctor public ParcelableCallAnalytics(android.os.Parcel);
13032    method public java.util.List<android.telecom.ParcelableCallAnalytics.AnalyticsEvent> analyticsEvents();
13033    method public int describeContents();
13034    method public long getCallDurationMillis();
13035    method public int getCallTechnologies();
13036    method public int getCallTerminationCode();
13037    method public int getCallType();
13038    method public String getConnectionService();
13039    method public java.util.List<android.telecom.ParcelableCallAnalytics.EventTiming> getEventTimings();
13040    method public long getStartTimeMillis();
13041    method public boolean isAdditionalCall();
13042    method public boolean isCreatedFromExistingConnection();
13043    method public boolean isEmergencyCall();
13044    method public boolean isInterrupted();
13045    method public void writeToParcel(android.os.Parcel, int);
13046    field public static final int CALLTYPE_INCOMING = 1; // 0x1
13047    field public static final int CALLTYPE_OUTGOING = 2; // 0x2
13048    field public static final int CALLTYPE_UNKNOWN = 0; // 0x0
13049    field public static final int CDMA_PHONE = 1; // 0x1
13050    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics> CREATOR;
13051    field public static final int GSM_PHONE = 2; // 0x2
13052    field public static final int IMS_PHONE = 4; // 0x4
13053    field public static final long MILLIS_IN_1_SECOND = 1000L; // 0x3e8L
13054    field public static final long MILLIS_IN_5_MINUTES = 300000L; // 0x493e0L
13055    field public static final int SIP_PHONE = 8; // 0x8
13056    field public static final int STILL_CONNECTED = -1; // 0xffffffff
13057    field public static final int THIRD_PARTY_PHONE = 16; // 0x10
13058  }
13059
13060  public static final class ParcelableCallAnalytics.AnalyticsEvent implements android.os.Parcelable {
13061    ctor public ParcelableCallAnalytics.AnalyticsEvent(int, long);
13062    method public int describeContents();
13063    method public int getEventName();
13064    method public long getTimeSinceLastEvent();
13065    method public void writeToParcel(android.os.Parcel, int);
13066    field public static final int AUDIO_ROUTE_BT = 204; // 0xcc
13067    field public static final int AUDIO_ROUTE_EARPIECE = 205; // 0xcd
13068    field public static final int AUDIO_ROUTE_HEADSET = 206; // 0xce
13069    field public static final int AUDIO_ROUTE_SPEAKER = 207; // 0xcf
13070    field public static final int BIND_CS = 5; // 0x5
13071    field public static final int BLOCK_CHECK_FINISHED = 105; // 0x69
13072    field public static final int BLOCK_CHECK_INITIATED = 104; // 0x68
13073    field public static final int CONFERENCE_WITH = 300; // 0x12c
13074    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.AnalyticsEvent> CREATOR;
13075    field public static final int CS_BOUND = 6; // 0x6
13076    field public static final int DIRECT_TO_VM_FINISHED = 103; // 0x67
13077    field public static final int DIRECT_TO_VM_INITIATED = 102; // 0x66
13078    field public static final int FILTERING_COMPLETED = 107; // 0x6b
13079    field public static final int FILTERING_INITIATED = 106; // 0x6a
13080    field public static final int FILTERING_TIMED_OUT = 108; // 0x6c
13081    field public static final int MUTE = 202; // 0xca
13082    field public static final int REMOTELY_HELD = 402; // 0x192
13083    field public static final int REMOTELY_UNHELD = 403; // 0x193
13084    field public static final int REQUEST_ACCEPT = 7; // 0x7
13085    field public static final int REQUEST_HOLD = 400; // 0x190
13086    field public static final int REQUEST_PULL = 500; // 0x1f4
13087    field public static final int REQUEST_REJECT = 8; // 0x8
13088    field public static final int REQUEST_UNHOLD = 401; // 0x191
13089    field public static final int SCREENING_COMPLETED = 101; // 0x65
13090    field public static final int SCREENING_SENT = 100; // 0x64
13091    field public static final int SET_ACTIVE = 1; // 0x1
13092    field public static final int SET_DIALING = 4; // 0x4
13093    field public static final int SET_DISCONNECTED = 2; // 0x2
13094    field public static final int SET_HOLD = 404; // 0x194
13095    field public static final int SET_PARENT = 302; // 0x12e
13096    field public static final int SET_SELECT_PHONE_ACCOUNT = 0; // 0x0
13097    field public static final int SILENCE = 201; // 0xc9
13098    field public static final int SKIP_RINGING = 200; // 0xc8
13099    field public static final int SPLIT_CONFERENCE = 301; // 0x12d
13100    field public static final int START_CONNECTION = 3; // 0x3
13101    field public static final int SWAP = 405; // 0x195
13102    field public static final int UNMUTE = 203; // 0xcb
13103  }
13104
13105  public static final class ParcelableCallAnalytics.EventTiming implements android.os.Parcelable {
13106    ctor public ParcelableCallAnalytics.EventTiming(int, long);
13107    method public int describeContents();
13108    method public int getName();
13109    method public long getTime();
13110    method public void writeToParcel(android.os.Parcel, int);
13111    field public static final int ACCEPT_TIMING = 0; // 0x0
13112    field public static final int BIND_CS_TIMING = 6; // 0x6
13113    field public static final int BLOCK_CHECK_FINISHED_TIMING = 9; // 0x9
13114    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.EventTiming> CREATOR;
13115    field public static final int DIRECT_TO_VM_FINISHED_TIMING = 8; // 0x8
13116    field public static final int DISCONNECT_TIMING = 2; // 0x2
13117    field public static final int FILTERING_COMPLETED_TIMING = 10; // 0xa
13118    field public static final int FILTERING_TIMED_OUT_TIMING = 11; // 0xb
13119    field public static final int HOLD_TIMING = 3; // 0x3
13120    field public static final int INVALID = 999999; // 0xf423f
13121    field public static final int OUTGOING_TIME_TO_DIALING_TIMING = 5; // 0x5
13122    field public static final int REJECT_TIMING = 1; // 0x1
13123    field public static final int SCREENING_COMPLETED_TIMING = 7; // 0x7
13124    field public static final int UNHOLD_TIMING = 4; // 0x4
13125  }
13126
13127  @Deprecated public final class Phone {
13128    method @Deprecated public void addListener(android.telecom.Phone.Listener);
13129    method @Deprecated public boolean canAddCall();
13130    method @Deprecated public android.telecom.AudioState getAudioState();
13131    method @Deprecated public android.telecom.CallAudioState getCallAudioState();
13132    method @Deprecated public java.util.List<android.telecom.Call> getCalls();
13133    method @Deprecated public void removeListener(android.telecom.Phone.Listener);
13134    method @Deprecated public void requestBluetoothAudio(String);
13135    method @Deprecated public void setAudioRoute(int);
13136    method @Deprecated public void setMuted(boolean);
13137  }
13138
13139  @Deprecated public abstract static class Phone.Listener {
13140    ctor @Deprecated public Phone.Listener();
13141    method @Deprecated public void onAudioStateChanged(android.telecom.Phone, android.telecom.AudioState);
13142    method @Deprecated public void onBringToForeground(android.telecom.Phone, boolean);
13143    method @Deprecated public void onCallAdded(android.telecom.Phone, android.telecom.Call);
13144    method @Deprecated public void onCallAudioStateChanged(android.telecom.Phone, android.telecom.CallAudioState);
13145    method @Deprecated public void onCallRemoved(android.telecom.Phone, android.telecom.Call);
13146    method @Deprecated public void onCanAddCallChanged(android.telecom.Phone, boolean);
13147    method @Deprecated public void onSilenceRinger(android.telecom.Phone);
13148  }
13149
13150  public final class PhoneAccount implements android.os.Parcelable {
13151    field public static final int CAPABILITY_EMERGENCY_CALLS_ONLY = 128; // 0x80
13152    field public static final int CAPABILITY_EMERGENCY_PREFERRED = 8192; // 0x2000
13153    field public static final int CAPABILITY_EMERGENCY_VIDEO_CALLING = 512; // 0x200
13154    field public static final int CAPABILITY_MULTI_USER = 32; // 0x20
13155    field public static final String EXTRA_PLAY_CALL_RECORDING_TONE = "android.telecom.extra.PLAY_CALL_RECORDING_TONE";
13156    field public static final String EXTRA_SORT_ORDER = "android.telecom.extra.SORT_ORDER";
13157  }
13158
13159  public static class PhoneAccount.Builder {
13160    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telecom.PhoneAccount.Builder setGroupId(@NonNull String);
13161  }
13162
13163  public class PhoneAccountSuggestionService extends android.app.Service {
13164    ctor public PhoneAccountSuggestionService();
13165    method public void onAccountSuggestionRequest(@NonNull String);
13166    method public android.os.IBinder onBind(android.content.Intent);
13167    method public final void suggestPhoneAccounts(@NonNull String, @NonNull java.util.List<android.telecom.PhoneAccountSuggestion>);
13168    field public static final String SERVICE_INTERFACE = "android.telecom.PhoneAccountSuggestionService";
13169  }
13170
13171  public final class RemoteConference {
13172    method @Deprecated public void setAudioState(android.telecom.AudioState);
13173  }
13174
13175  public final class RemoteConnection {
13176    method @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public void onCallFilteringCompleted(@NonNull android.telecom.Connection.CallFilteringCompletionInfo);
13177    method @Deprecated public void setAudioState(android.telecom.AudioState);
13178  }
13179
13180  public final class StatusHints implements android.os.Parcelable {
13181    ctor @Deprecated public StatusHints(android.content.ComponentName, CharSequence, int, android.os.Bundle);
13182    method @Deprecated public android.graphics.drawable.Drawable getIcon(android.content.Context);
13183    method @Deprecated public int getIconResId();
13184    method @Deprecated public android.content.ComponentName getPackageName();
13185  }
13186
13187  public final class TelecomAnalytics implements android.os.Parcelable {
13188    ctor public TelecomAnalytics(java.util.List<android.telecom.TelecomAnalytics.SessionTiming>, java.util.List<android.telecom.ParcelableCallAnalytics>);
13189    method public int describeContents();
13190    method public java.util.List<android.telecom.ParcelableCallAnalytics> getCallAnalytics();
13191    method public java.util.List<android.telecom.TelecomAnalytics.SessionTiming> getSessionTimings();
13192    method public void writeToParcel(android.os.Parcel, int);
13193    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics> CREATOR;
13194  }
13195
13196  public static final class TelecomAnalytics.SessionTiming implements android.os.Parcelable {
13197    ctor public TelecomAnalytics.SessionTiming(int, long);
13198    method public int describeContents();
13199    method public Integer getKey();
13200    method public long getTime();
13201    method public void writeToParcel(android.os.Parcel, int);
13202    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics.SessionTiming> CREATOR;
13203    field public static final int CSW_ADD_CONFERENCE_CALL = 108; // 0x6c
13204    field public static final int CSW_HANDLE_CREATE_CONNECTION_COMPLETE = 100; // 0x64
13205    field public static final int CSW_REMOVE_CALL = 106; // 0x6a
13206    field public static final int CSW_SET_ACTIVE = 101; // 0x65
13207    field public static final int CSW_SET_DIALING = 103; // 0x67
13208    field public static final int CSW_SET_DISCONNECTED = 104; // 0x68
13209    field public static final int CSW_SET_IS_CONFERENCED = 107; // 0x6b
13210    field public static final int CSW_SET_ON_HOLD = 105; // 0x69
13211    field public static final int CSW_SET_RINGING = 102; // 0x66
13212    field public static final int ICA_ANSWER_CALL = 1; // 0x1
13213    field public static final int ICA_CONFERENCE = 8; // 0x8
13214    field public static final int ICA_DISCONNECT_CALL = 3; // 0x3
13215    field public static final int ICA_HOLD_CALL = 4; // 0x4
13216    field public static final int ICA_MUTE = 6; // 0x6
13217    field public static final int ICA_REJECT_CALL = 2; // 0x2
13218    field public static final int ICA_SET_AUDIO_ROUTE = 7; // 0x7
13219    field public static final int ICA_UNHOLD_CALL = 5; // 0x5
13220  }
13221
13222  public class TelecomManager {
13223    method public void addNewUnknownCall(android.telecom.PhoneAccountHandle, android.os.Bundle);
13224    method @Deprecated public void clearAccounts();
13225    method public void clearPhoneAccounts();
13226    method @NonNull public android.content.Intent createLaunchEmergencyDialerIntent(@Nullable String);
13227    method @RequiresPermission(android.Manifest.permission.DUMP) public android.telecom.TelecomAnalytics dumpAnalytics();
13228    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void enablePhoneAccount(android.telecom.PhoneAccountHandle, boolean);
13229    method public java.util.List<android.telecom.PhoneAccountHandle> getAllPhoneAccountHandles();
13230    method public java.util.List<android.telecom.PhoneAccount> getAllPhoneAccounts();
13231    method public int getAllPhoneAccountsCount();
13232    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.telecom.PhoneAccountHandle> getCallCapablePhoneAccounts(boolean);
13233    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}, conditional=true) public int getCallState();
13234    method public android.telecom.PhoneAccountHandle getConnectionManager();
13235    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCurrentTtyMode();
13236    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultDialerPackage(@NonNull android.os.UserHandle);
13237    method @Deprecated public android.content.ComponentName getDefaultPhoneApp();
13238    method @Deprecated public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsForPackage();
13239    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);
13240    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean isInEmergencyCall();
13241    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRinging();
13242    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUserSelectedOutgoingPhoneAccount(@Nullable android.telecom.PhoneAccountHandle);
13243    field public static final String ACTION_CURRENT_TTY_MODE_CHANGED = "android.telecom.action.CURRENT_TTY_MODE_CHANGED";
13244    field public static final String ACTION_TTY_PREFERRED_MODE_CHANGED = "android.telecom.action.TTY_PREFERRED_MODE_CHANGED";
13245    field public static final int CALL_SOURCE_EMERGENCY_DIALPAD = 1; // 0x1
13246    field public static final int CALL_SOURCE_EMERGENCY_SHORTCUT = 2; // 0x2
13247    field public static final int CALL_SOURCE_UNSPECIFIED = 0; // 0x0
13248    field public static final String EXTRA_CALL_BACK_INTENT = "android.telecom.extra.CALL_BACK_INTENT";
13249    field public static final String EXTRA_CALL_SOURCE = "android.telecom.extra.CALL_SOURCE";
13250    field public static final String EXTRA_CALL_TECHNOLOGY_TYPE = "android.telecom.extra.CALL_TECHNOLOGY_TYPE";
13251    field public static final String EXTRA_CLEAR_MISSED_CALLS_INTENT = "android.telecom.extra.CLEAR_MISSED_CALLS_INTENT";
13252    field public static final String EXTRA_CONNECTION_SERVICE = "android.telecom.extra.CONNECTION_SERVICE";
13253    field public static final String EXTRA_CURRENT_TTY_MODE = "android.telecom.extra.CURRENT_TTY_MODE";
13254    field public static final String EXTRA_IS_USER_INTENT_EMERGENCY_CALL = "android.telecom.extra.IS_USER_INTENT_EMERGENCY_CALL";
13255    field public static final String EXTRA_TTY_PREFERRED_MODE = "android.telecom.extra.TTY_PREFERRED_MODE";
13256    field public static final String EXTRA_UNKNOWN_CALL_HANDLE = "android.telecom.extra.UNKNOWN_CALL_HANDLE";
13257    field public static final int TTY_MODE_FULL = 1; // 0x1
13258    field public static final int TTY_MODE_HCO = 2; // 0x2
13259    field public static final int TTY_MODE_OFF = 0; // 0x0
13260    field public static final int TTY_MODE_VCO = 3; // 0x3
13261  }
13262
13263}
13264
13265package android.telephony {
13266
13267  public final class AccessNetworkConstants {
13268    field public static final int TRANSPORT_TYPE_INVALID = -1; // 0xffffffff
13269  }
13270
13271  public static final class AccessNetworkConstants.NgranBands {
13272    method public static int getFrequencyRangeGroup(int);
13273    field public static final int FREQUENCY_RANGE_GROUP_1 = 1; // 0x1
13274    field public static final int FREQUENCY_RANGE_GROUP_2 = 2; // 0x2
13275    field public static final int FREQUENCY_RANGE_GROUP_UNKNOWN = 0; // 0x0
13276  }
13277
13278  public final class BarringInfo implements android.os.Parcelable {
13279    ctor public BarringInfo();
13280    method @NonNull public android.telephony.BarringInfo createLocationInfoSanitizedCopy();
13281  }
13282
13283  public final class CallAttributes implements android.os.Parcelable {
13284    ctor public CallAttributes(@NonNull android.telephony.PreciseCallState, int, @NonNull android.telephony.CallQuality);
13285    method public int describeContents();
13286    method @NonNull public android.telephony.CallQuality getCallQuality();
13287    method public int getNetworkType();
13288    method @NonNull public android.telephony.PreciseCallState getPreciseCallState();
13289    method public void writeToParcel(android.os.Parcel, int);
13290    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallAttributes> CREATOR;
13291  }
13292
13293  public final class CallForwardingInfo implements android.os.Parcelable {
13294    ctor public CallForwardingInfo(boolean, int, @Nullable String, int);
13295    method public int describeContents();
13296    method @Nullable public String getNumber();
13297    method public int getReason();
13298    method public int getTimeoutSeconds();
13299    method public boolean isEnabled();
13300    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallForwardingInfo> CREATOR;
13301    field public static final int REASON_ALL = 4; // 0x4
13302    field public static final int REASON_ALL_CONDITIONAL = 5; // 0x5
13303    field public static final int REASON_BUSY = 1; // 0x1
13304    field public static final int REASON_NOT_REACHABLE = 3; // 0x3
13305    field public static final int REASON_NO_REPLY = 2; // 0x2
13306    field public static final int REASON_UNCONDITIONAL = 0; // 0x0
13307  }
13308
13309  public final class CallQuality implements android.os.Parcelable {
13310    ctor public CallQuality(int, int, int, int, int, int, int, int, int, int, int);
13311    ctor public CallQuality(int, int, int, int, int, int, int, int, int, int, int, boolean, boolean, boolean);
13312    method public int describeContents();
13313    method public int getAverageRelativeJitter();
13314    method public int getAverageRoundTripTime();
13315    method public int getCallDuration();
13316    method public int getCodecType();
13317    method public int getDownlinkCallQualityLevel();
13318    method public int getMaxRelativeJitter();
13319    method public int getNumRtpPacketsNotReceived();
13320    method public int getNumRtpPacketsReceived();
13321    method public int getNumRtpPacketsTransmitted();
13322    method public int getNumRtpPacketsTransmittedLost();
13323    method public int getUplinkCallQualityLevel();
13324    method public boolean isIncomingSilenceDetectedAtCallSetup();
13325    method public boolean isOutgoingSilenceDetectedAtCallSetup();
13326    method public boolean isRtpInactivityDetected();
13327    method public void writeToParcel(android.os.Parcel, int);
13328    field public static final int CALL_QUALITY_BAD = 4; // 0x4
13329    field public static final int CALL_QUALITY_EXCELLENT = 0; // 0x0
13330    field public static final int CALL_QUALITY_FAIR = 2; // 0x2
13331    field public static final int CALL_QUALITY_GOOD = 1; // 0x1
13332    field public static final int CALL_QUALITY_NOT_AVAILABLE = 5; // 0x5
13333    field public static final int CALL_QUALITY_POOR = 3; // 0x3
13334    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallQuality> CREATOR;
13335  }
13336
13337  public class CarrierConfigManager {
13338    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultCarrierServicePackageName();
13339    method @NonNull public static android.os.PersistableBundle getDefaultConfig();
13340    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void overrideConfig(int, @Nullable android.os.PersistableBundle);
13341    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void updateConfigForPhoneId(int, String);
13342    field public static final int GBA_DIGEST = 3; // 0x3
13343    field public static final int GBA_ME = 1; // 0x1
13344    field public static final int GBA_U = 2; // 0x2
13345    field public static final String KEY_CARRIER_SETUP_APP_STRING = "carrier_setup_app_string";
13346    field public static final String KEY_GBA_MODE_INT = "gba_mode_int";
13347    field public static final String KEY_GBA_UA_SECURITY_ORGANIZATION_INT = "gba_ua_security_organization_int";
13348    field public static final String KEY_GBA_UA_SECURITY_PROTOCOL_INT = "gba_ua_security_protocol_int";
13349    field public static final String KEY_GBA_UA_TLS_CIPHER_SUITE_INT = "gba_ua_tls_cipher_suite_int";
13350    field public static final String KEY_SUPPORT_CDMA_1X_VOICE_CALLS_BOOL = "support_cdma_1x_voice_calls_bool";
13351  }
13352
13353  public static final class CarrierConfigManager.Wifi {
13354    field public static final String KEY_AVOID_5GHZ_SOFTAP_FOR_LAA_BOOL = "wifi.avoid_5ghz_softap_for_laa_bool";
13355    field public static final String KEY_AVOID_5GHZ_WIFI_DIRECT_FOR_LAA_BOOL = "wifi.avoid_5ghz_wifi_direct_for_laa_bool";
13356    field public static final String KEY_HOTSPOT_MAX_CLIENT_COUNT = "wifi.hotspot_maximum_client_count";
13357    field public static final String KEY_PREFIX = "wifi.";
13358    field public static final String KEY_SUGGESTION_SSID_LIST_WITH_MAC_RANDOMIZATION_DISABLED = "wifi.suggestion_ssid_list_with_mac_randomization_disabled";
13359  }
13360
13361  public final class CarrierRestrictionRules implements android.os.Parcelable {
13362    method @NonNull public java.util.List<java.lang.Boolean> areCarrierIdentifiersAllowed(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
13363    method public int describeContents();
13364    method @NonNull public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers();
13365    method public int getDefaultCarrierRestriction();
13366    method @NonNull public java.util.List<android.service.carrier.CarrierIdentifier> getExcludedCarriers();
13367    method public int getMultiSimPolicy();
13368    method public boolean isAllCarriersAllowed();
13369    method public void writeToParcel(android.os.Parcel, int);
13370    field public static final int CARRIER_RESTRICTION_DEFAULT_ALLOWED = 1; // 0x1
13371    field public static final int CARRIER_RESTRICTION_DEFAULT_NOT_ALLOWED = 0; // 0x0
13372    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CarrierRestrictionRules> CREATOR;
13373    field public static final int MULTISIM_POLICY_NONE = 0; // 0x0
13374    field public static final int MULTISIM_POLICY_ONE_VALID_SIM_MUST_BE_PRESENT = 1; // 0x1
13375  }
13376
13377  public static final class CarrierRestrictionRules.Builder {
13378    ctor public CarrierRestrictionRules.Builder();
13379    method @NonNull public android.telephony.CarrierRestrictionRules build();
13380    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setAllCarriersAllowed();
13381    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setAllowedCarriers(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
13382    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setDefaultCarrierRestriction(int);
13383    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setExcludedCarriers(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
13384    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setMultiSimPolicy(int);
13385  }
13386
13387  public class CbGeoUtils {
13388  }
13389
13390  public static class CbGeoUtils.Circle implements android.telephony.CbGeoUtils.Geometry {
13391    ctor public CbGeoUtils.Circle(@NonNull android.telephony.CbGeoUtils.LatLng, double);
13392    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
13393    method @NonNull public android.telephony.CbGeoUtils.LatLng getCenter();
13394    method public double getRadius();
13395  }
13396
13397  public static interface CbGeoUtils.Geometry {
13398    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
13399  }
13400
13401  public static class CbGeoUtils.LatLng {
13402    ctor public CbGeoUtils.LatLng(double, double);
13403    method public double distance(@NonNull android.telephony.CbGeoUtils.LatLng);
13404    method @NonNull public android.telephony.CbGeoUtils.LatLng subtract(@NonNull android.telephony.CbGeoUtils.LatLng);
13405    field public final double lat;
13406    field public final double lng;
13407  }
13408
13409  public static class CbGeoUtils.Polygon implements android.telephony.CbGeoUtils.Geometry {
13410    ctor public CbGeoUtils.Polygon(@NonNull java.util.List<android.telephony.CbGeoUtils.LatLng>);
13411    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
13412    method @NonNull public java.util.List<android.telephony.CbGeoUtils.LatLng> getVertices();
13413  }
13414
13415  public class CellBroadcastIntents {
13416    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);
13417    field public static final String ACTION_AREA_INFO_UPDATED = "android.telephony.action.AREA_INFO_UPDATED";
13418  }
13419
13420  public abstract class CellBroadcastService extends android.app.Service {
13421    ctor public CellBroadcastService();
13422    method @NonNull @WorkerThread public abstract CharSequence getCellBroadcastAreaInfo(int);
13423    method @CallSuper public android.os.IBinder onBind(@Nullable android.content.Intent);
13424    method public abstract void onCdmaCellBroadcastSms(int, @NonNull byte[], int);
13425    method public abstract void onCdmaScpMessage(int, @NonNull java.util.List<android.telephony.cdma.CdmaSmsCbProgramData>, @NonNull String, @NonNull java.util.function.Consumer<android.os.Bundle>);
13426    method public abstract void onGsmCellBroadcastSms(int, @NonNull byte[]);
13427    field public static final String CELL_BROADCAST_SERVICE_INTERFACE = "android.telephony.CellBroadcastService";
13428  }
13429
13430  public abstract class CellIdentity implements android.os.Parcelable {
13431    method @NonNull public abstract android.telephony.CellLocation asCellLocation();
13432    method @NonNull public abstract android.telephony.CellIdentity sanitizeLocationInfo();
13433  }
13434
13435  public final class CellIdentityCdma extends android.telephony.CellIdentity {
13436    method @NonNull public android.telephony.cdma.CdmaCellLocation asCellLocation();
13437    method @NonNull public android.telephony.CellIdentityCdma sanitizeLocationInfo();
13438  }
13439
13440  public final class CellIdentityGsm extends android.telephony.CellIdentity {
13441    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
13442    method @NonNull public android.telephony.CellIdentityGsm sanitizeLocationInfo();
13443  }
13444
13445  public final class CellIdentityLte extends android.telephony.CellIdentity {
13446    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
13447    method @NonNull public android.telephony.CellIdentityLte sanitizeLocationInfo();
13448  }
13449
13450  public final class CellIdentityNr extends android.telephony.CellIdentity {
13451    method @NonNull public android.telephony.CellLocation asCellLocation();
13452    method @NonNull public android.telephony.CellIdentityNr sanitizeLocationInfo();
13453  }
13454
13455  public final class CellIdentityTdscdma extends android.telephony.CellIdentity {
13456    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
13457    method @NonNull public android.telephony.CellIdentityTdscdma sanitizeLocationInfo();
13458  }
13459
13460  public final class CellIdentityWcdma extends android.telephony.CellIdentity {
13461    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
13462    method @NonNull public android.telephony.CellIdentityWcdma sanitizeLocationInfo();
13463  }
13464
13465  public final class DataFailCause {
13466    field @Deprecated public static final int VSNCP_APN_UNATHORIZED = 2238; // 0x8be
13467  }
13468
13469  public final class DataSpecificRegistrationInfo implements android.os.Parcelable {
13470    method public int describeContents();
13471    method @Deprecated @NonNull public android.telephony.LteVopsSupportInfo getLteVopsSupportInfo();
13472    method @Nullable public android.telephony.VopsSupportInfo getVopsSupportInfo();
13473    method public void writeToParcel(android.os.Parcel, int);
13474    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.DataSpecificRegistrationInfo> CREATOR;
13475  }
13476
13477  public final class DataThrottlingRequest implements android.os.Parcelable {
13478    method public int describeContents();
13479    method public long getCompletionDurationMillis();
13480    method public int getDataThrottlingAction();
13481    method public void writeToParcel(@NonNull android.os.Parcel, int);
13482    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.DataThrottlingRequest> CREATOR;
13483    field public static final int DATA_THROTTLING_ACTION_HOLD = 3; // 0x3
13484    field public static final int DATA_THROTTLING_ACTION_NO_DATA_THROTTLING = 0; // 0x0
13485    field public static final int DATA_THROTTLING_ACTION_THROTTLE_PRIMARY_CARRIER = 2; // 0x2
13486    field public static final int DATA_THROTTLING_ACTION_THROTTLE_SECONDARY_CARRIER = 1; // 0x1
13487  }
13488
13489  public static final class DataThrottlingRequest.Builder {
13490    ctor public DataThrottlingRequest.Builder();
13491    method @NonNull public android.telephony.DataThrottlingRequest build();
13492    method @NonNull public android.telephony.DataThrottlingRequest.Builder setCompletionDurationMillis(long);
13493    method @NonNull public android.telephony.DataThrottlingRequest.Builder setDataThrottlingAction(int);
13494  }
13495
13496  public final class ImsiEncryptionInfo implements android.os.Parcelable {
13497    method public int describeContents();
13498    method @Nullable public String getKeyIdentifier();
13499    method @Nullable public java.security.PublicKey getPublicKey();
13500    method public void writeToParcel(@NonNull android.os.Parcel, int);
13501    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ImsiEncryptionInfo> CREATOR;
13502  }
13503
13504  public final class LinkCapacityEstimate implements android.os.Parcelable {
13505    ctor public LinkCapacityEstimate(int, int, int);
13506    method public int describeContents();
13507    method public int getDownlinkCapacityKbps();
13508    method public int getType();
13509    method public int getUplinkCapacityKbps();
13510    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.LinkCapacityEstimate> CREATOR;
13511    field public static final int INVALID = -1; // 0xffffffff
13512    field public static final int LCE_TYPE_COMBINED = 2; // 0x2
13513    field public static final int LCE_TYPE_PRIMARY = 0; // 0x0
13514    field public static final int LCE_TYPE_SECONDARY = 1; // 0x1
13515  }
13516
13517  public final class LteVopsSupportInfo extends android.telephony.VopsSupportInfo {
13518    ctor public LteVopsSupportInfo(int, int);
13519    method public int getEmcBearerSupport();
13520    method public int getVopsSupport();
13521    method public boolean isEmergencyServiceFallbackSupported();
13522    method public boolean isEmergencyServiceSupported();
13523    method public boolean isVopsSupported();
13524    method public void writeToParcel(@NonNull android.os.Parcel, int);
13525    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.LteVopsSupportInfo> CREATOR;
13526    field @Deprecated public static final int LTE_STATUS_NOT_AVAILABLE = 1; // 0x1
13527    field public static final int LTE_STATUS_NOT_SUPPORTED = 3; // 0x3
13528    field public static final int LTE_STATUS_SUPPORTED = 2; // 0x2
13529  }
13530
13531  public class MbmsDownloadSession implements java.lang.AutoCloseable {
13532    field public static final String MBMS_DOWNLOAD_SERVICE_ACTION = "android.telephony.action.EmbmsDownload";
13533  }
13534
13535  public class MbmsGroupCallSession implements java.lang.AutoCloseable {
13536    field public static final String MBMS_GROUP_CALL_SERVICE_ACTION = "android.telephony.action.EmbmsGroupCall";
13537  }
13538
13539  public class MbmsStreamingSession implements java.lang.AutoCloseable {
13540    field public static final String MBMS_STREAMING_SERVICE_ACTION = "android.telephony.action.EmbmsStreaming";
13541  }
13542
13543  public final class ModemActivityInfo implements android.os.Parcelable {
13544    method public int describeContents();
13545    method @NonNull public android.telephony.ModemActivityInfo getDelta(@NonNull android.telephony.ModemActivityInfo);
13546    method public long getIdleTimeMillis();
13547    method public static int getNumTxPowerLevels();
13548    method public long getReceiveTimeMillis();
13549    method public long getSleepTimeMillis();
13550    method public long getTimestampMillis();
13551    method public long getTransmitDurationMillisAtPowerLevel(int);
13552    method @NonNull public android.util.Range<java.lang.Integer> getTransmitPowerRange(int);
13553    method public void writeToParcel(@NonNull android.os.Parcel, int);
13554    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ModemActivityInfo> CREATOR;
13555    field public static final int TX_POWER_LEVEL_0 = 0; // 0x0
13556    field public static final int TX_POWER_LEVEL_1 = 1; // 0x1
13557    field public static final int TX_POWER_LEVEL_2 = 2; // 0x2
13558    field public static final int TX_POWER_LEVEL_3 = 3; // 0x3
13559    field public static final int TX_POWER_LEVEL_4 = 4; // 0x4
13560  }
13561
13562  public final class NetworkRegistrationInfo implements android.os.Parcelable {
13563    method @Nullable public android.telephony.DataSpecificRegistrationInfo getDataSpecificInfo();
13564    method public int getRegistrationState();
13565    method public int getRejectCause();
13566    method public int getRoamingType();
13567    method public boolean isEmergencyEnabled();
13568    method public void writeToParcel(android.os.Parcel, int);
13569    field public static final int REGISTRATION_STATE_DENIED = 3; // 0x3
13570    field public static final int REGISTRATION_STATE_HOME = 1; // 0x1
13571    field public static final int REGISTRATION_STATE_NOT_REGISTERED_OR_SEARCHING = 0; // 0x0
13572    field public static final int REGISTRATION_STATE_NOT_REGISTERED_SEARCHING = 2; // 0x2
13573    field public static final int REGISTRATION_STATE_ROAMING = 5; // 0x5
13574    field public static final int REGISTRATION_STATE_UNKNOWN = 4; // 0x4
13575  }
13576
13577  public static final class NetworkRegistrationInfo.Builder {
13578    ctor public NetworkRegistrationInfo.Builder();
13579    method @NonNull public android.telephony.NetworkRegistrationInfo build();
13580    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setAccessNetworkTechnology(int);
13581    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setAvailableServices(@NonNull java.util.List<java.lang.Integer>);
13582    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setCellIdentity(@Nullable android.telephony.CellIdentity);
13583    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setDomain(int);
13584    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setEmergencyOnly(boolean);
13585    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRegisteredPlmn(@Nullable String);
13586    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRegistrationState(int);
13587    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRejectCause(int);
13588    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setTransportType(int);
13589  }
13590
13591  public abstract class NetworkService extends android.app.Service {
13592    ctor public NetworkService();
13593    method public android.os.IBinder onBind(android.content.Intent);
13594    method @Nullable public abstract android.telephony.NetworkService.NetworkServiceProvider onCreateNetworkServiceProvider(int);
13595    field public static final String SERVICE_INTERFACE = "android.telephony.NetworkService";
13596  }
13597
13598  public abstract class NetworkService.NetworkServiceProvider implements java.lang.AutoCloseable {
13599    ctor public NetworkService.NetworkServiceProvider(int);
13600    method public abstract void close();
13601    method public final int getSlotIndex();
13602    method public final void notifyNetworkRegistrationInfoChanged();
13603    method public void requestNetworkRegistrationInfo(int, @NonNull android.telephony.NetworkServiceCallback);
13604  }
13605
13606  public class NetworkServiceCallback {
13607    method public void onRequestNetworkRegistrationInfoComplete(int, @Nullable android.telephony.NetworkRegistrationInfo);
13608    field public static final int RESULT_ERROR_BUSY = 3; // 0x3
13609    field public static final int RESULT_ERROR_FAILED = 5; // 0x5
13610    field public static final int RESULT_ERROR_ILLEGAL_STATE = 4; // 0x4
13611    field public static final int RESULT_ERROR_INVALID_ARG = 2; // 0x2
13612    field public static final int RESULT_ERROR_UNSUPPORTED = 1; // 0x1
13613    field public static final int RESULT_SUCCESS = 0; // 0x0
13614  }
13615
13616  public final class NrVopsSupportInfo extends android.telephony.VopsSupportInfo {
13617    ctor public NrVopsSupportInfo(int, int, int);
13618    method public int getEmcSupport();
13619    method public int getEmfSupport();
13620    method public int getVopsSupport();
13621    method public boolean isEmergencyServiceFallbackSupported();
13622    method public boolean isEmergencyServiceSupported();
13623    method public boolean isVopsSupported();
13624    method public void writeToParcel(@NonNull android.os.Parcel, int);
13625    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.NrVopsSupportInfo> CREATOR;
13626    field public static final int NR_STATUS_EMC_5GCN_ONLY = 1; // 0x1
13627    field public static final int NR_STATUS_EMC_EUTRA_5GCN_ONLY = 2; // 0x2
13628    field public static final int NR_STATUS_EMC_NOT_SUPPORTED = 0; // 0x0
13629    field public static final int NR_STATUS_EMC_NR_EUTRA_5GCN = 3; // 0x3
13630    field public static final int NR_STATUS_EMF_5GCN_ONLY = 1; // 0x1
13631    field public static final int NR_STATUS_EMF_EUTRA_5GCN_ONLY = 2; // 0x2
13632    field public static final int NR_STATUS_EMF_NOT_SUPPORTED = 0; // 0x0
13633    field public static final int NR_STATUS_EMF_NR_EUTRA_5GCN = 3; // 0x3
13634    field public static final int NR_STATUS_VOPS_3GPP_SUPPORTED = 1; // 0x1
13635    field public static final int NR_STATUS_VOPS_NON_3GPP_SUPPORTED = 2; // 0x2
13636    field public static final int NR_STATUS_VOPS_NOT_SUPPORTED = 0; // 0x0
13637  }
13638
13639  public interface NumberVerificationCallback {
13640    method public default void onCallReceived(@NonNull String);
13641    method public default void onVerificationFailed(int);
13642    field public static final int REASON_CONCURRENT_REQUESTS = 4; // 0x4
13643    field public static final int REASON_IN_ECBM = 5; // 0x5
13644    field public static final int REASON_IN_EMERGENCY_CALL = 6; // 0x6
13645    field public static final int REASON_NETWORK_NOT_AVAILABLE = 2; // 0x2
13646    field public static final int REASON_TIMED_OUT = 1; // 0x1
13647    field public static final int REASON_TOO_MANY_CALLS = 3; // 0x3
13648    field public static final int REASON_UNSPECIFIED = 0; // 0x0
13649  }
13650
13651  public final class PhoneCapability implements android.os.Parcelable {
13652    method public int describeContents();
13653    method @NonNull public int[] getDeviceNrCapabilities();
13654    method @IntRange(from=1) public int getMaxActiveDataSubscriptions();
13655    method @IntRange(from=1) public int getMaxActiveVoiceSubscriptions();
13656    method public void writeToParcel(@NonNull android.os.Parcel, int);
13657    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PhoneCapability> CREATOR;
13658    field public static final int DEVICE_NR_CAPABILITY_NSA = 1; // 0x1
13659    field public static final int DEVICE_NR_CAPABILITY_SA = 2; // 0x2
13660  }
13661
13662  public final class PhoneNumberRange implements android.os.Parcelable {
13663    ctor public PhoneNumberRange(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
13664    method public int describeContents();
13665    method public boolean matches(@NonNull String);
13666    method public void writeToParcel(android.os.Parcel, int);
13667    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PhoneNumberRange> CREATOR;
13668  }
13669
13670  public class PhoneNumberUtils {
13671    method @NonNull public static String getUsernameFromUriNumber(@NonNull String);
13672    method public static boolean isUriNumber(@Nullable String);
13673    method public static boolean isVoiceMailNumber(@NonNull android.content.Context, int, @Nullable String);
13674  }
13675
13676  @Deprecated public class PhoneStateListener {
13677    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onCallAttributesChanged(@NonNull android.telephony.CallAttributes);
13678    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber);
13679    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber, int);
13680    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber);
13681    method @Deprecated public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber, int);
13682    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPreciseCallStateChanged(@NonNull android.telephony.PreciseCallState);
13683    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onRadioPowerStateChanged(int);
13684    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onSrvccStateChanged(int);
13685    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onVoiceActivationStateChanged(int);
13686    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_CALL_ATTRIBUTES_CHANGED = 67108864; // 0x4000000
13687    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int LISTEN_OUTGOING_EMERGENCY_CALL = 268435456; // 0x10000000
13688    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int LISTEN_OUTGOING_EMERGENCY_SMS = 536870912; // 0x20000000
13689    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_PRECISE_CALL_STATE = 2048; // 0x800
13690    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_RADIO_POWER_STATE_CHANGED = 8388608; // 0x800000
13691    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_SRVCC_STATE_CHANGED = 16384; // 0x4000
13692    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_VOICE_ACTIVATION_STATE = 131072; // 0x20000
13693  }
13694
13695  public final class PinResult implements android.os.Parcelable {
13696    method public int describeContents();
13697    method public int getAttemptsRemaining();
13698    method public int getResult();
13699    method public void writeToParcel(@NonNull android.os.Parcel, int);
13700    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PinResult> CREATOR;
13701    field public static final int PIN_RESULT_TYPE_ABORTED = 3; // 0x3
13702    field public static final int PIN_RESULT_TYPE_FAILURE = 2; // 0x2
13703    field public static final int PIN_RESULT_TYPE_INCORRECT = 1; // 0x1
13704    field public static final int PIN_RESULT_TYPE_SUCCESS = 0; // 0x0
13705  }
13706
13707  public final class PreciseCallState implements android.os.Parcelable {
13708    ctor public PreciseCallState(int, int, int, int, int);
13709    method public int describeContents();
13710    method public int getBackgroundCallState();
13711    method public int getForegroundCallState();
13712    method public int getRingingCallState();
13713    method public void writeToParcel(android.os.Parcel, int);
13714    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PreciseCallState> CREATOR;
13715    field public static final int PRECISE_CALL_STATE_ACTIVE = 1; // 0x1
13716    field public static final int PRECISE_CALL_STATE_ALERTING = 4; // 0x4
13717    field public static final int PRECISE_CALL_STATE_DIALING = 3; // 0x3
13718    field public static final int PRECISE_CALL_STATE_DISCONNECTED = 7; // 0x7
13719    field public static final int PRECISE_CALL_STATE_DISCONNECTING = 8; // 0x8
13720    field public static final int PRECISE_CALL_STATE_HOLDING = 2; // 0x2
13721    field public static final int PRECISE_CALL_STATE_IDLE = 0; // 0x0
13722    field public static final int PRECISE_CALL_STATE_INCOMING = 5; // 0x5
13723    field public static final int PRECISE_CALL_STATE_NOT_VALID = -1; // 0xffffffff
13724    field public static final int PRECISE_CALL_STATE_WAITING = 6; // 0x6
13725  }
13726
13727  public final class PreciseDataConnectionState implements android.os.Parcelable {
13728    method @Deprecated @NonNull public String getDataConnectionApn();
13729    method @Deprecated public int getDataConnectionApnTypeBitMask();
13730    method @Deprecated public int getDataConnectionFailCause();
13731    method @Deprecated public int getDataConnectionState();
13732  }
13733
13734  public final class PreciseDisconnectCause {
13735    field public static final int ACCESS_CLASS_BLOCKED = 260; // 0x104
13736    field public static final int ACCESS_INFORMATION_DISCARDED = 43; // 0x2b
13737    field public static final int ACM_LIMIT_EXCEEDED = 68; // 0x44
13738    field public static final int BEARER_CAPABILITY_NOT_AUTHORIZED = 57; // 0x39
13739    field public static final int BEARER_NOT_AVAIL = 58; // 0x3a
13740    field public static final int BEARER_SERVICE_NOT_IMPLEMENTED = 65; // 0x41
13741    field public static final int BUSY = 17; // 0x11
13742    field public static final int CALL_BARRED = 240; // 0xf0
13743    field public static final int CALL_REJECTED = 21; // 0x15
13744    field public static final int CDMA_ACCESS_BLOCKED = 1009; // 0x3f1
13745    field public static final int CDMA_ACCESS_FAILURE = 1006; // 0x3ee
13746    field public static final int CDMA_DROP = 1001; // 0x3e9
13747    field public static final int CDMA_INTERCEPT = 1002; // 0x3ea
13748    field public static final int CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000; // 0x3e8
13749    field public static final int CDMA_NOT_EMERGENCY = 1008; // 0x3f0
13750    field public static final int CDMA_PREEMPTED = 1007; // 0x3ef
13751    field public static final int CDMA_REORDER = 1003; // 0x3eb
13752    field public static final int CDMA_RETRY_ORDER = 1005; // 0x3ed
13753    field public static final int CDMA_SO_REJECT = 1004; // 0x3ec
13754    field public static final int CHANNEL_NOT_AVAIL = 44; // 0x2c
13755    field public static final int CHANNEL_UNACCEPTABLE = 6; // 0x6
13756    field public static final int CONDITIONAL_IE_ERROR = 100; // 0x64
13757    field public static final int DESTINATION_OUT_OF_ORDER = 27; // 0x1b
13758    field public static final int ERROR_UNSPECIFIED = 65535; // 0xffff
13759    field public static final int FACILITY_REJECTED = 29; // 0x1d
13760    field public static final int FDN_BLOCKED = 241; // 0xf1
13761    field public static final int IMEI_NOT_ACCEPTED = 243; // 0xf3
13762    field public static final int IMSI_UNKNOWN_IN_VLR = 242; // 0xf2
13763    field public static final int INCOMING_CALLS_BARRED_WITHIN_CUG = 55; // 0x37
13764    field public static final int INCOMPATIBLE_DESTINATION = 88; // 0x58
13765    field public static final int INFORMATION_ELEMENT_NON_EXISTENT = 99; // 0x63
13766    field public static final int INTERWORKING_UNSPECIFIED = 127; // 0x7f
13767    field public static final int INVALID_MANDATORY_INFORMATION = 96; // 0x60
13768    field public static final int INVALID_NUMBER_FORMAT = 28; // 0x1c
13769    field public static final int INVALID_TRANSACTION_IDENTIFIER = 81; // 0x51
13770    field public static final int MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101; // 0x65
13771    field public static final int MESSAGE_TYPE_NON_IMPLEMENTED = 97; // 0x61
13772    field public static final int MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98; // 0x62
13773    field public static final int NETWORK_DETACH = 261; // 0x105
13774    field public static final int NETWORK_OUT_OF_ORDER = 38; // 0x26
13775    field public static final int NETWORK_REJECT = 252; // 0xfc
13776    field public static final int NETWORK_RESP_TIMEOUT = 251; // 0xfb
13777    field public static final int NORMAL = 16; // 0x10
13778    field public static final int NORMAL_UNSPECIFIED = 31; // 0x1f
13779    field public static final int NOT_VALID = -1; // 0xffffffff
13780    field public static final int NO_ANSWER_FROM_USER = 19; // 0x13
13781    field public static final int NO_CIRCUIT_AVAIL = 34; // 0x22
13782    field public static final int NO_DISCONNECT_CAUSE_AVAILABLE = 0; // 0x0
13783    field public static final int NO_ROUTE_TO_DESTINATION = 3; // 0x3
13784    field public static final int NO_USER_RESPONDING = 18; // 0x12
13785    field public static final int NO_VALID_SIM = 249; // 0xf9
13786    field public static final int NUMBER_CHANGED = 22; // 0x16
13787    field public static final int OEM_CAUSE_1 = 61441; // 0xf001
13788    field public static final int OEM_CAUSE_10 = 61450; // 0xf00a
13789    field public static final int OEM_CAUSE_11 = 61451; // 0xf00b
13790    field public static final int OEM_CAUSE_12 = 61452; // 0xf00c
13791    field public static final int OEM_CAUSE_13 = 61453; // 0xf00d
13792    field public static final int OEM_CAUSE_14 = 61454; // 0xf00e
13793    field public static final int OEM_CAUSE_15 = 61455; // 0xf00f
13794    field public static final int OEM_CAUSE_2 = 61442; // 0xf002
13795    field public static final int OEM_CAUSE_3 = 61443; // 0xf003
13796    field public static final int OEM_CAUSE_4 = 61444; // 0xf004
13797    field public static final int OEM_CAUSE_5 = 61445; // 0xf005
13798    field public static final int OEM_CAUSE_6 = 61446; // 0xf006
13799    field public static final int OEM_CAUSE_7 = 61447; // 0xf007
13800    field public static final int OEM_CAUSE_8 = 61448; // 0xf008
13801    field public static final int OEM_CAUSE_9 = 61449; // 0xf009
13802    field public static final int ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE = 70; // 0x46
13803    field public static final int OPERATOR_DETERMINED_BARRING = 8; // 0x8
13804    field public static final int OUT_OF_SRV = 248; // 0xf8
13805    field public static final int PREEMPTION = 25; // 0x19
13806    field public static final int PROTOCOL_ERROR_UNSPECIFIED = 111; // 0x6f
13807    field public static final int QOS_NOT_AVAIL = 49; // 0x31
13808    field public static final int RADIO_ACCESS_FAILURE = 253; // 0xfd
13809    field public static final int RADIO_INTERNAL_ERROR = 250; // 0xfa
13810    field public static final int RADIO_LINK_FAILURE = 254; // 0xfe
13811    field public static final int RADIO_LINK_LOST = 255; // 0xff
13812    field public static final int RADIO_OFF = 247; // 0xf7
13813    field public static final int RADIO_RELEASE_ABNORMAL = 259; // 0x103
13814    field public static final int RADIO_RELEASE_NORMAL = 258; // 0x102
13815    field public static final int RADIO_SETUP_FAILURE = 257; // 0x101
13816    field public static final int RADIO_UPLINK_FAILURE = 256; // 0x100
13817    field public static final int RECOVERY_ON_TIMER_EXPIRED = 102; // 0x66
13818    field public static final int REQUESTED_FACILITY_NOT_IMPLEMENTED = 69; // 0x45
13819    field public static final int REQUESTED_FACILITY_NOT_SUBSCRIBED = 50; // 0x32
13820    field public static final int RESOURCES_UNAVAILABLE_OR_UNSPECIFIED = 47; // 0x2f
13821    field public static final int SEMANTICALLY_INCORRECT_MESSAGE = 95; // 0x5f
13822    field public static final int SERVICE_OPTION_NOT_AVAILABLE = 63; // 0x3f
13823    field public static final int SERVICE_OR_OPTION_NOT_IMPLEMENTED = 79; // 0x4f
13824    field public static final int STATUS_ENQUIRY = 30; // 0x1e
13825    field public static final int SWITCHING_CONGESTION = 42; // 0x2a
13826    field public static final int TEMPORARY_FAILURE = 41; // 0x29
13827    field public static final int UNOBTAINABLE_NUMBER = 1; // 0x1
13828    field public static final int USER_NOT_MEMBER_OF_CUG = 87; // 0x57
13829  }
13830
13831  public class ServiceState implements android.os.Parcelable {
13832    method @Nullable public android.telephony.NetworkRegistrationInfo getNetworkRegistrationInfo(int, int);
13833    method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoListForDomain(int);
13834    method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoListForTransportType(int);
13835    field public static final int ROAMING_TYPE_DOMESTIC = 2; // 0x2
13836    field public static final int ROAMING_TYPE_INTERNATIONAL = 3; // 0x3
13837    field public static final int ROAMING_TYPE_NOT_ROAMING = 0; // 0x0
13838    field public static final int ROAMING_TYPE_UNKNOWN = 1; // 0x1
13839  }
13840
13841  public final class SmsCbCmasInfo implements android.os.Parcelable {
13842    ctor public SmsCbCmasInfo(int, int, int, int, int, int);
13843    method public int describeContents();
13844    method public int getCategory();
13845    method public int getCertainty();
13846    method public int getMessageClass();
13847    method public int getResponseType();
13848    method public int getSeverity();
13849    method public int getUrgency();
13850    method public void writeToParcel(android.os.Parcel, int);
13851    field public static final int CMAS_CATEGORY_CBRNE = 10; // 0xa
13852    field public static final int CMAS_CATEGORY_ENV = 7; // 0x7
13853    field public static final int CMAS_CATEGORY_FIRE = 5; // 0x5
13854    field public static final int CMAS_CATEGORY_GEO = 0; // 0x0
13855    field public static final int CMAS_CATEGORY_HEALTH = 6; // 0x6
13856    field public static final int CMAS_CATEGORY_INFRA = 9; // 0x9
13857    field public static final int CMAS_CATEGORY_MET = 1; // 0x1
13858    field public static final int CMAS_CATEGORY_OTHER = 11; // 0xb
13859    field public static final int CMAS_CATEGORY_RESCUE = 4; // 0x4
13860    field public static final int CMAS_CATEGORY_SAFETY = 2; // 0x2
13861    field public static final int CMAS_CATEGORY_SECURITY = 3; // 0x3
13862    field public static final int CMAS_CATEGORY_TRANSPORT = 8; // 0x8
13863    field public static final int CMAS_CATEGORY_UNKNOWN = -1; // 0xffffffff
13864    field public static final int CMAS_CERTAINTY_LIKELY = 1; // 0x1
13865    field public static final int CMAS_CERTAINTY_OBSERVED = 0; // 0x0
13866    field public static final int CMAS_CERTAINTY_UNKNOWN = -1; // 0xffffffff
13867    field public static final int CMAS_CLASS_CHILD_ABDUCTION_EMERGENCY = 3; // 0x3
13868    field public static final int CMAS_CLASS_CMAS_EXERCISE = 5; // 0x5
13869    field public static final int CMAS_CLASS_EXTREME_THREAT = 1; // 0x1
13870    field public static final int CMAS_CLASS_OPERATOR_DEFINED_USE = 6; // 0x6
13871    field public static final int CMAS_CLASS_PRESIDENTIAL_LEVEL_ALERT = 0; // 0x0
13872    field public static final int CMAS_CLASS_REQUIRED_MONTHLY_TEST = 4; // 0x4
13873    field public static final int CMAS_CLASS_SEVERE_THREAT = 2; // 0x2
13874    field public static final int CMAS_CLASS_UNKNOWN = -1; // 0xffffffff
13875    field public static final int CMAS_RESPONSE_TYPE_ASSESS = 6; // 0x6
13876    field public static final int CMAS_RESPONSE_TYPE_AVOID = 5; // 0x5
13877    field public static final int CMAS_RESPONSE_TYPE_EVACUATE = 1; // 0x1
13878    field public static final int CMAS_RESPONSE_TYPE_EXECUTE = 3; // 0x3
13879    field public static final int CMAS_RESPONSE_TYPE_MONITOR = 4; // 0x4
13880    field public static final int CMAS_RESPONSE_TYPE_NONE = 7; // 0x7
13881    field public static final int CMAS_RESPONSE_TYPE_PREPARE = 2; // 0x2
13882    field public static final int CMAS_RESPONSE_TYPE_SHELTER = 0; // 0x0
13883    field public static final int CMAS_RESPONSE_TYPE_UNKNOWN = -1; // 0xffffffff
13884    field public static final int CMAS_SEVERITY_EXTREME = 0; // 0x0
13885    field public static final int CMAS_SEVERITY_SEVERE = 1; // 0x1
13886    field public static final int CMAS_SEVERITY_UNKNOWN = -1; // 0xffffffff
13887    field public static final int CMAS_URGENCY_EXPECTED = 1; // 0x1
13888    field public static final int CMAS_URGENCY_IMMEDIATE = 0; // 0x0
13889    field public static final int CMAS_URGENCY_UNKNOWN = -1; // 0xffffffff
13890    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbCmasInfo> CREATOR;
13891  }
13892
13893  public final class SmsCbEtwsInfo implements android.os.Parcelable {
13894    ctor public SmsCbEtwsInfo(int, boolean, boolean, boolean, @Nullable byte[]);
13895    method public int describeContents();
13896    method @Nullable public byte[] getPrimaryNotificationSignature();
13897    method public long getPrimaryNotificationTimestamp();
13898    method public int getWarningType();
13899    method public boolean isEmergencyUserAlert();
13900    method public boolean isPopupAlert();
13901    method public boolean isPrimary();
13902    method public void writeToParcel(android.os.Parcel, int);
13903    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbEtwsInfo> CREATOR;
13904    field public static final int ETWS_WARNING_TYPE_EARTHQUAKE = 0; // 0x0
13905    field public static final int ETWS_WARNING_TYPE_EARTHQUAKE_AND_TSUNAMI = 2; // 0x2
13906    field public static final int ETWS_WARNING_TYPE_OTHER_EMERGENCY = 4; // 0x4
13907    field public static final int ETWS_WARNING_TYPE_TEST_MESSAGE = 3; // 0x3
13908    field public static final int ETWS_WARNING_TYPE_TSUNAMI = 1; // 0x1
13909    field public static final int ETWS_WARNING_TYPE_UNKNOWN = -1; // 0xffffffff
13910  }
13911
13912  public final class SmsCbLocation implements android.os.Parcelable {
13913    ctor public SmsCbLocation(@NonNull String, int, int);
13914    method public int describeContents();
13915    method public int getCid();
13916    method public int getLac();
13917    method @NonNull public String getPlmn();
13918    method public boolean isInLocationArea(@NonNull android.telephony.SmsCbLocation);
13919    method public boolean isInLocationArea(@Nullable String, int, int);
13920    method public void writeToParcel(android.os.Parcel, int);
13921    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbLocation> CREATOR;
13922  }
13923
13924  public final class SmsCbMessage implements android.os.Parcelable {
13925    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);
13926    method @NonNull public static android.telephony.SmsCbMessage createFromCursor(@NonNull android.database.Cursor);
13927    method public int describeContents();
13928    method @Nullable public android.telephony.SmsCbCmasInfo getCmasWarningInfo();
13929    method @NonNull public android.content.ContentValues getContentValues();
13930    method public int getDataCodingScheme();
13931    method @Nullable public android.telephony.SmsCbEtwsInfo getEtwsWarningInfo();
13932    method public int getGeographicalScope();
13933    method @NonNull public java.util.List<android.telephony.CbGeoUtils.Geometry> getGeometries();
13934    method @Nullable public String getLanguageCode();
13935    method @NonNull public android.telephony.SmsCbLocation getLocation();
13936    method public int getMaximumWaitingDuration();
13937    method @Nullable public String getMessageBody();
13938    method public int getMessageFormat();
13939    method public int getMessagePriority();
13940    method public long getReceivedTime();
13941    method public int getSerialNumber();
13942    method public int getServiceCategory();
13943    method public int getSlotIndex();
13944    method public int getSubscriptionId();
13945    method public boolean isCmasMessage();
13946    method public boolean isEmergencyMessage();
13947    method public boolean isEtwsMessage();
13948    method public boolean needGeoFencingCheck();
13949    method public void writeToParcel(android.os.Parcel, int);
13950    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbMessage> CREATOR;
13951    field public static final int GEOGRAPHICAL_SCOPE_CELL_WIDE = 3; // 0x3
13952    field public static final int GEOGRAPHICAL_SCOPE_CELL_WIDE_IMMEDIATE = 0; // 0x0
13953    field public static final int GEOGRAPHICAL_SCOPE_LOCATION_AREA_WIDE = 2; // 0x2
13954    field public static final int GEOGRAPHICAL_SCOPE_PLMN_WIDE = 1; // 0x1
13955    field public static final int MAXIMUM_WAIT_TIME_NOT_SET = 255; // 0xff
13956    field public static final int MESSAGE_FORMAT_3GPP = 1; // 0x1
13957    field public static final int MESSAGE_FORMAT_3GPP2 = 2; // 0x2
13958    field public static final int MESSAGE_PRIORITY_EMERGENCY = 3; // 0x3
13959    field public static final int MESSAGE_PRIORITY_INTERACTIVE = 1; // 0x1
13960    field public static final int MESSAGE_PRIORITY_NORMAL = 0; // 0x0
13961    field public static final int MESSAGE_PRIORITY_URGENT = 2; // 0x2
13962  }
13963
13964  public final class SmsManager {
13965    method public boolean disableCellBroadcastRange(int, int, int);
13966    method public boolean enableCellBroadcastRange(int, int, int);
13967    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getPremiumSmsConsent(@NonNull String);
13968    method @RequiresPermission(android.Manifest.permission.MODIFY_CELL_BROADCASTS) public void resetAllCellBroadcastRanges();
13969    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>);
13970    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setPremiumSmsConsent(@NonNull String, int);
13971    field public static final int PREMIUM_SMS_CONSENT_ALWAYS_ALLOW = 3; // 0x3
13972    field public static final int PREMIUM_SMS_CONSENT_ASK_USER = 1; // 0x1
13973    field public static final int PREMIUM_SMS_CONSENT_NEVER_ALLOW = 2; // 0x2
13974    field public static final int PREMIUM_SMS_CONSENT_UNKNOWN = 0; // 0x0
13975  }
13976
13977  public class SmsMessage {
13978    method @Nullable public static android.telephony.SmsMessage createFromNativeSmsSubmitPdu(@NonNull byte[], boolean);
13979    method @Nullable public static android.telephony.SmsMessage.SubmitPdu getSmsPdu(int, int, @Nullable String, @NonNull String, @NonNull String, long);
13980    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);
13981  }
13982
13983  public class SubscriptionInfo implements android.os.Parcelable {
13984    method public boolean areUiccApplicationsEnabled();
13985    method @Nullable public java.util.List<android.telephony.UiccAccessRule> getAccessRules();
13986    method public int getProfileClass();
13987    method public boolean isGroupDisabled();
13988  }
13989
13990  public class SubscriptionManager {
13991    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean canDisablePhysicalSubscription();
13992    method public boolean canManageSubscription(@NonNull android.telephony.SubscriptionInfo, @NonNull String);
13993    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getActiveSubscriptionIdList();
13994    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.SubscriptionInfo getActiveSubscriptionInfoForIcc(@NonNull String);
13995    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public byte[] getAllSimSpecificSettingsForBackup();
13996    method public java.util.List<android.telephony.SubscriptionInfo> getAvailableSubscriptionInfoList();
13997    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getCompleteActiveSubscriptionIdList();
13998    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEnabledSubscriptionId(int);
13999    method @NonNull public static android.content.res.Resources getResourcesForSubId(@NonNull android.content.Context, int);
14000    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isSubscriptionEnabled(int);
14001    method public void requestEmbeddedSubscriptionInfoListRefresh();
14002    method public void requestEmbeddedSubscriptionInfoListRefresh(int);
14003    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void restoreAllSimSpecificSettingsFromBackup(@NonNull byte[]);
14004    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultDataSubId(int);
14005    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultSmsSubId(int);
14006    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultVoiceSubscriptionId(int);
14007    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>);
14008    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setSubscriptionEnabled(int, boolean);
14009    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUiccApplicationsEnabled(int, boolean);
14010    field @RequiresPermission(android.Manifest.permission.MANAGE_SUBSCRIPTION_PLANS) public static final String ACTION_SUBSCRIPTION_PLANS_CHANGED = "android.telephony.action.SUBSCRIPTION_PLANS_CHANGED";
14011    field @NonNull public static final android.net.Uri ADVANCED_CALLING_ENABLED_CONTENT_URI;
14012    field @NonNull public static final android.net.Uri CROSS_SIM_ENABLED_CONTENT_URI;
14013    field @Deprecated public static final int PROFILE_CLASS_DEFAULT = -1; // 0xffffffff
14014    field public static final int PROFILE_CLASS_OPERATIONAL = 2; // 0x2
14015    field public static final int PROFILE_CLASS_PROVISIONING = 1; // 0x1
14016    field public static final int PROFILE_CLASS_TESTING = 0; // 0x0
14017    field public static final int PROFILE_CLASS_UNSET = -1; // 0xffffffff
14018    field @NonNull public static final android.net.Uri VT_ENABLED_CONTENT_URI;
14019    field @NonNull public static final android.net.Uri WFC_ENABLED_CONTENT_URI;
14020    field @NonNull public static final android.net.Uri WFC_MODE_CONTENT_URI;
14021    field @NonNull public static final android.net.Uri WFC_ROAMING_ENABLED_CONTENT_URI;
14022    field @NonNull public static final android.net.Uri WFC_ROAMING_MODE_CONTENT_URI;
14023  }
14024
14025  public static class SubscriptionPlan.Builder {
14026    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringDaily(java.time.ZonedDateTime);
14027    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringMonthly(java.time.ZonedDateTime);
14028    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringWeekly(java.time.ZonedDateTime);
14029  }
14030
14031  public class TelephonyCallback {
14032    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGED = 23; // 0x17
14033    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_ALLOWED_NETWORK_TYPE_LIST_CHANGED = 35; // 0x23
14034    field public static final int EVENT_ALWAYS_REPORTED_SIGNAL_STRENGTH_CHANGED = 10; // 0xa
14035    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
14036    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_CALL_ATTRIBUTES_CHANGED = 27; // 0x1b
14037    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_CALL_DISCONNECT_CAUSE_CHANGED = 26; // 0x1a
14038    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_CALL_FORWARDING_INDICATOR_CHANGED = 4; // 0x4
14039    field public static final int EVENT_CALL_STATE_CHANGED = 6; // 0x6
14040    field public static final int EVENT_CARRIER_NETWORK_CHANGED = 17; // 0x11
14041    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
14042    field @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static final int EVENT_CELL_LOCATION_CHANGED = 5; // 0x5
14043    field public static final int EVENT_DATA_ACTIVATION_STATE_CHANGED = 19; // 0x13
14044    field public static final int EVENT_DATA_ACTIVITY_CHANGED = 8; // 0x8
14045    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_DATA_CONNECTION_REAL_TIME_INFO_CHANGED = 14; // 0xe
14046    field public static final int EVENT_DATA_CONNECTION_STATE_CHANGED = 7; // 0x7
14047    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_DATA_ENABLED_CHANGED = 34; // 0x22
14048    field public static final int EVENT_DISPLAY_INFO_CHANGED = 21; // 0x15
14049    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_EMERGENCY_NUMBER_LIST_CHANGED = 25; // 0x19
14050    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_IMS_CALL_DISCONNECT_CAUSE_CHANGED = 28; // 0x1c
14051    field @RequiresPermission(android.Manifest.permission.READ_CALL_LOG) public static final int EVENT_LEGACY_CALL_STATE_CHANGED = 36; // 0x24
14052    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_LINK_CAPACITY_ESTIMATE_CHANGED = 37; // 0x25
14053    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_MESSAGE_WAITING_INDICATOR_CHANGED = 3; // 0x3
14054    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_OEM_HOOK_RAW = 15; // 0xf
14055    field @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int EVENT_OUTGOING_EMERGENCY_CALL = 29; // 0x1d
14056    field @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int EVENT_OUTGOING_EMERGENCY_SMS = 30; // 0x1e
14057    field public static final int EVENT_PHONE_CAPABILITY_CHANGED = 22; // 0x16
14058    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PHYSICAL_CHANNEL_CONFIG_CHANGED = 33; // 0x21
14059    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PRECISE_CALL_STATE_CHANGED = 12; // 0xc
14060    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PRECISE_DATA_CONNECTION_STATE_CHANGED = 13; // 0xd
14061    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_RADIO_POWER_STATE_CHANGED = 24; // 0x18
14062    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
14063    field public static final int EVENT_SERVICE_STATE_CHANGED = 1; // 0x1
14064    field public static final int EVENT_SIGNAL_STRENGTHS_CHANGED = 9; // 0x9
14065    field public static final int EVENT_SIGNAL_STRENGTH_CHANGED = 2; // 0x2
14066    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_SRVCC_STATE_CHANGED = 16; // 0x10
14067    field public static final int EVENT_USER_MOBILE_DATA_STATE_CHANGED = 20; // 0x14
14068    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_VOICE_ACTIVATION_STATE_CHANGED = 18; // 0x12
14069  }
14070
14071  public static interface TelephonyCallback.AllowedNetworkTypesListener {
14072    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onAllowedNetworkTypesChanged(int, long);
14073  }
14074
14075  public static interface TelephonyCallback.CallAttributesListener {
14076    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onCallAttributesChanged(@NonNull android.telephony.CallAttributes);
14077  }
14078
14079  public static interface TelephonyCallback.DataEnabledListener {
14080    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onDataEnabledChanged(boolean, int);
14081  }
14082
14083  public static interface TelephonyCallback.LinkCapacityEstimateChangedListener {
14084    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onLinkCapacityEstimateChanged(@NonNull java.util.List<android.telephony.LinkCapacityEstimate>);
14085  }
14086
14087  public static interface TelephonyCallback.OutgoingEmergencyCallListener {
14088    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber, int);
14089  }
14090
14091  public static interface TelephonyCallback.OutgoingEmergencySmsListener {
14092    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber, int);
14093  }
14094
14095  public static interface TelephonyCallback.PhoneCapabilityListener {
14096    method public void onPhoneCapabilityChanged(@NonNull android.telephony.PhoneCapability);
14097  }
14098
14099  public static interface TelephonyCallback.PreciseCallStateListener {
14100    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPreciseCallStateChanged(@NonNull android.telephony.PreciseCallState);
14101  }
14102
14103  public static interface TelephonyCallback.RadioPowerStateListener {
14104    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onRadioPowerStateChanged(int);
14105  }
14106
14107  public static interface TelephonyCallback.SrvccStateListener {
14108    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onSrvccStateChanged(int);
14109  }
14110
14111  public static interface TelephonyCallback.VoiceActivationStateListener {
14112    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onVoiceActivationStateChanged(int);
14113  }
14114
14115  public final class TelephonyHistogram implements android.os.Parcelable {
14116    ctor public TelephonyHistogram(int, int, int);
14117    ctor public TelephonyHistogram(android.telephony.TelephonyHistogram);
14118    ctor public TelephonyHistogram(android.os.Parcel);
14119    method public void addTimeTaken(int);
14120    method public int describeContents();
14121    method public int getAverageTime();
14122    method public int getBucketCount();
14123    method public int[] getBucketCounters();
14124    method public int[] getBucketEndPoints();
14125    method public int getCategory();
14126    method public int getId();
14127    method public int getMaxTime();
14128    method public int getMinTime();
14129    method public int getSampleCount();
14130    method public void writeToParcel(android.os.Parcel, int);
14131    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.TelephonyHistogram> CREATOR;
14132    field public static final int TELEPHONY_CATEGORY_RIL = 1; // 0x1
14133  }
14134
14135  public class TelephonyManager {
14136    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);
14137    method @Deprecated @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void call(String, String);
14138    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult changeIccLockPin(@NonNull String, @NonNull String);
14139    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int checkCarrierPrivilegesForPackage(String);
14140    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int checkCarrierPrivilegesForPackageAnyPhone(String);
14141    method public void dial(String);
14142    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean disableDataConnectivity();
14143    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean enableDataConnectivity();
14144    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean enableModemForSlot(int, boolean);
14145    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void enableVideoCalling(boolean);
14146    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getAidForAppType(int);
14147    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers(int);
14148    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypes();
14149    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypesBitmask();
14150    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypesForReason(int);
14151    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getAndUpdateDefaultRespondViaMessageApplication();
14152    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getCallForwarding(int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CallForwardingInfoCallback);
14153    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>);
14154    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.ImsiEncryptionInfo getCarrierInfoForImsiEncryption(int);
14155    method public java.util.List<java.lang.String> getCarrierPackageNamesForIntent(android.content.Intent);
14156    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<java.lang.String> getCarrierPackageNamesForIntentAndPhone(android.content.Intent, int);
14157    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCarrierPrivilegeStatus(int);
14158    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<java.lang.String> getCarrierPrivilegedPackagesForAllActiveSubscriptions();
14159    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.CarrierRestrictionRules getCarrierRestrictionRules();
14160    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaEnhancedRoamingIndicatorDisplayNumber();
14161    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn();
14162    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn(int);
14163    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMin();
14164    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMin(int);
14165    method public String getCdmaPrlVersion();
14166    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaRoamingMode();
14167    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaSubscriptionMode();
14168    method public int getCurrentPhoneType();
14169    method public int getCurrentPhoneType(int);
14170    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getDataActivationState();
14171    method @Deprecated public boolean getDataEnabled();
14172    method @Deprecated public boolean getDataEnabled(int);
14173    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getDefaultRespondViaMessageApplication();
14174    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getDeviceSoftwareVersion(int);
14175    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean getEmergencyCallbackMode();
14176    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEmergencyNumberDbVersion();
14177    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimDomain();
14178    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimIst();
14179    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Map<java.lang.Integer,java.lang.Integer> getLogicalToPhysicalSlotMapping();
14180    method public int getMaxNumberOfSimultaneouslyActiveSims();
14181    method public static long getMaxNumberVerificationTimeoutMillis();
14182    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String[] getMergedImsisFromGroup();
14183    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.PhoneCapability getPhoneCapability();
14184    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getPreferredNetworkTypeBitmask();
14185    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public int getRadioPowerState();
14186    method public int getSimApplicationState();
14187    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimApplicationState(int);
14188    method public int getSimCardState();
14189    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimCardState(int);
14190    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Locale getSimLocale();
14191    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getSupportedRadioAccessFamily();
14192    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.telephony.RadioAccessSpecifier> getSystemSelectionChannels();
14193    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public java.util.List<android.telephony.TelephonyHistogram> getTelephonyHistograms();
14194    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.UiccSlotInfo[] getUiccSlotsInfo();
14195    method @Nullable public android.os.Bundle getVisualVoicemailSettings();
14196    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoiceActivationState();
14197    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handlePinMmi(String);
14198    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handlePinMmiForSubscriber(int, String);
14199    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean iccCloseLogicalChannelBySlot(int, int);
14200    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannelBySlot(int, @Nullable String, int);
14201    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduBasicChannelBySlot(int, int, int, int, int, int, @Nullable String);
14202    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduLogicalChannelBySlot(int, int, int, int, int, int, int, @Nullable String);
14203    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAnyRadioPoweredOn();
14204    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApnMetered(int);
14205    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApplicationOnUicc(int);
14206    method public boolean isDataConnectivityPossible();
14207    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataEnabledForApn(int);
14208    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isEmergencyAssistanceEnabled();
14209    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean isIccLockEnabled();
14210    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
14211    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isInEmergencySmsMode();
14212    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isLteCdmaEvdoGsmWcdmaEnabled();
14213    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isMobileDataPolicyEnabled(int);
14214    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isNrDualConnectivityEnabled();
14215    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isOffhook();
14216    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isOpportunisticNetworkEnabled();
14217    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isPotentialEmergencyNumber(@NonNull String);
14218    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRadioOn();
14219    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRinging();
14220    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean isTetheringApnRequired();
14221    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isVideoCallingEnabled();
14222    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isVisualVoicemailEnabled(android.telecom.PhoneAccountHandle);
14223    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean matchesCurrentSimOperator(@NonNull String, int, @Nullable String);
14224    method public boolean needsOtaServiceProvisioning();
14225    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyOtaEmergencyNumberDbInstalled();
14226    method @RequiresPermission(android.Manifest.permission.REBOOT) public int prepareForUnattendedReboot();
14227    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean rebootRadio();
14228    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void reportDefaultNetworkStatus(boolean);
14229    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);
14230    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>);
14231    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);
14232    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void resetAllCarrierActions();
14233    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void resetCarrierKeysForImsiEncryption();
14234    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void resetIms(int);
14235    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void resetOtaEmergencyNumberDbFilePath();
14236    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean resetRadioConfig();
14237    method @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL) public void resetSettings();
14238    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int sendThermalMitigationRequest(@NonNull android.telephony.ThermalMitigationRequest);
14239    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setAllowedCarriers(int, java.util.List<android.service.carrier.CarrierIdentifier>);
14240    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setAllowedNetworkTypes(long);
14241    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setAllowedNetworkTypesForReason(int, long);
14242    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>);
14243    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>);
14244    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCarrierDataEnabled(boolean);
14245    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setCarrierRestrictionRules(@NonNull android.telephony.CarrierRestrictionRules);
14246    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCdmaRoamingMode(int);
14247    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCdmaSubscriptionMode(int);
14248    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int);
14249    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(int, boolean);
14250    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataRoamingEnabled(boolean);
14251    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult setIccLockEnabled(boolean, @NonNull String);
14252    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMobileDataPolicyEnabled(int, boolean);
14253    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultiSimCarrierRestriction(boolean);
14254    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setNrDualConnectivityState(int);
14255    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setOpportunisticNetworkState(boolean);
14256    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setPreferredNetworkTypeBitmask(long);
14257    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setRadio(boolean);
14258    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRadioEnabled(boolean);
14259    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setRadioPower(boolean);
14260    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerState(int);
14261    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>);
14262    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerStateForSlot(int, int);
14263    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>);
14264    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>);
14265    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSystemSelectionChannels(@NonNull java.util.List<android.telephony.RadioAccessSpecifier>);
14266    method @Deprecated public void setVisualVoicemailEnabled(android.telecom.PhoneAccountHandle, boolean);
14267    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoiceActivationState(int);
14268    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void shutdownAllRadios();
14269    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult supplyIccLockPin(@NonNull String);
14270    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult supplyIccLockPuk(@NonNull String, @NonNull String);
14271    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean supplyPin(String);
14272    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int[] supplyPinReportResult(String);
14273    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean supplyPuk(String, String);
14274    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int[] supplyPukReportResult(String, String);
14275    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean switchSlots(int[]);
14276    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void toggleRadioOnOff();
14277    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void updateOtaEmergencyNumberDbFilePath(@NonNull android.os.ParcelFileDescriptor);
14278    method public void updateServiceLocation();
14279    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final String ACTION_ANOMALY_REPORTED = "android.telephony.action.ANOMALY_REPORTED";
14280    field public static final String ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED = "android.intent.action.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED";
14281    field public static final String ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED = "android.intent.action.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED";
14282    field public static final String ACTION_EMERGENCY_ASSISTANCE = "android.telephony.action.EMERGENCY_ASSISTANCE";
14283    field public static final String ACTION_EMERGENCY_CALLBACK_MODE_CHANGED = "android.intent.action.EMERGENCY_CALLBACK_MODE_CHANGED";
14284    field public static final String ACTION_EMERGENCY_CALL_STATE_CHANGED = "android.intent.action.EMERGENCY_CALL_STATE_CHANGED";
14285    field public static final String ACTION_REQUEST_OMADM_CONFIGURATION_UPDATE = "com.android.omadm.service.CONFIGURATION_UPDATE";
14286    field public static final String ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS = "android.telephony.action.SHOW_NOTICE_ECM_BLOCK_OTHERS";
14287    field public static final String ACTION_SIM_APPLICATION_STATE_CHANGED = "android.telephony.action.SIM_APPLICATION_STATE_CHANGED";
14288    field public static final String ACTION_SIM_CARD_STATE_CHANGED = "android.telephony.action.SIM_CARD_STATE_CHANGED";
14289    field public static final String ACTION_SIM_SLOT_STATUS_CHANGED = "android.telephony.action.SIM_SLOT_STATUS_CHANGED";
14290    field public static final int ALLOWED_NETWORK_TYPES_REASON_CARRIER = 2; // 0x2
14291    field public static final int ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G = 3; // 0x3
14292    field public static final int ALLOWED_NETWORK_TYPES_REASON_POWER = 1; // 0x1
14293    field public static final int ALLOWED_NETWORK_TYPES_REASON_USER = 0; // 0x0
14294    field public static final int CALL_WAITING_STATUS_DISABLED = 2; // 0x2
14295    field public static final int CALL_WAITING_STATUS_ENABLED = 1; // 0x1
14296    field public static final int CALL_WAITING_STATUS_NOT_SUPPORTED = 4; // 0x4
14297    field public static final int CALL_WAITING_STATUS_UNKNOWN_ERROR = 3; // 0x3
14298    field public static final String CAPABILITY_NR_DUAL_CONNECTIVITY_CONFIGURATION_AVAILABLE = "CAPABILITY_NR_DUAL_CONNECTIVITY_CONFIGURATION_AVAILABLE";
14299    field public static final String CAPABILITY_SECONDARY_LINK_BANDWIDTH_VISIBLE = "CAPABILITY_SECONDARY_LINK_BANDWIDTH_VISIBLE";
14300    field public static final String CAPABILITY_THERMAL_MITIGATION_DATA_THROTTLING = "CAPABILITY_THERMAL_MITIGATION_DATA_THROTTLING";
14301    field public static final String CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK = "CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK";
14302    field public static final int CARRIER_PRIVILEGE_STATUS_ERROR_LOADING_RULES = -2; // 0xfffffffe
14303    field public static final int CARRIER_PRIVILEGE_STATUS_HAS_ACCESS = 1; // 0x1
14304    field public static final int CARRIER_PRIVILEGE_STATUS_NO_ACCESS = 0; // 0x0
14305    field public static final int CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED = -1; // 0xffffffff
14306    field public static final int CDMA_SUBSCRIPTION_NV = 1; // 0x1
14307    field public static final int CDMA_SUBSCRIPTION_RUIM_SIM = 0; // 0x0
14308    field public static final int CDMA_SUBSCRIPTION_UNKNOWN = -1; // 0xffffffff
14309    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_INVALID_STATE = 4; // 0x4
14310    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_NOT_SUPPORTED = 1; // 0x1
14311    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_RADIO_ERROR = 3; // 0x3
14312    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_RADIO_NOT_AVAILABLE = 2; // 0x2
14313    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_SUCCESS = 0; // 0x0
14314    field public static final String EXTRA_ANOMALY_DESCRIPTION = "android.telephony.extra.ANOMALY_DESCRIPTION";
14315    field public static final String EXTRA_ANOMALY_ID = "android.telephony.extra.ANOMALY_ID";
14316    field public static final String EXTRA_PHONE_IN_ECM_STATE = "android.telephony.extra.PHONE_IN_ECM_STATE";
14317    field public static final String EXTRA_PHONE_IN_EMERGENCY_CALL = "android.telephony.extra.PHONE_IN_EMERGENCY_CALL";
14318    field public static final String EXTRA_SIM_STATE = "android.telephony.extra.SIM_STATE";
14319    field public static final String EXTRA_VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL = "android.telephony.extra.VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL";
14320    field public static final String EXTRA_VOICEMAIL_SCRAMBLED_PIN_STRING = "android.telephony.extra.VOICEMAIL_SCRAMBLED_PIN_STRING";
14321    field public static final int GBA_FAILURE_REASON_FEATURE_NOT_READY = 2; // 0x2
14322    field public static final int GBA_FAILURE_REASON_FEATURE_NOT_SUPPORTED = 1; // 0x1
14323    field public static final int GBA_FAILURE_REASON_INCORRECT_NAF_ID = 4; // 0x4
14324    field public static final int GBA_FAILURE_REASON_NETWORK_FAILURE = 3; // 0x3
14325    field public static final int GBA_FAILURE_REASON_SECURITY_PROTOCOL_NOT_SUPPORTED = 5; // 0x5
14326    field public static final int GBA_FAILURE_REASON_UNKNOWN = 0; // 0x0
14327    field public static final int INVALID_EMERGENCY_NUMBER_DB_VERSION = -1; // 0xffffffff
14328    field public static final int KEY_TYPE_EPDG = 1; // 0x1
14329    field public static final int KEY_TYPE_WLAN = 2; // 0x2
14330    field public static final int MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL = 1; // 0x1
14331    field public static final int MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED = 2; // 0x2
14332    field public static final long NETWORK_TYPE_BITMASK_1xRTT = 64L; // 0x40L
14333    field public static final long NETWORK_TYPE_BITMASK_CDMA = 8L; // 0x8L
14334    field public static final long NETWORK_TYPE_BITMASK_EDGE = 2L; // 0x2L
14335    field public static final long NETWORK_TYPE_BITMASK_EHRPD = 8192L; // 0x2000L
14336    field public static final long NETWORK_TYPE_BITMASK_EVDO_0 = 16L; // 0x10L
14337    field public static final long NETWORK_TYPE_BITMASK_EVDO_A = 32L; // 0x20L
14338    field public static final long NETWORK_TYPE_BITMASK_EVDO_B = 2048L; // 0x800L
14339    field public static final long NETWORK_TYPE_BITMASK_GPRS = 1L; // 0x1L
14340    field public static final long NETWORK_TYPE_BITMASK_GSM = 32768L; // 0x8000L
14341    field public static final long NETWORK_TYPE_BITMASK_HSDPA = 128L; // 0x80L
14342    field public static final long NETWORK_TYPE_BITMASK_HSPA = 512L; // 0x200L
14343    field public static final long NETWORK_TYPE_BITMASK_HSPAP = 16384L; // 0x4000L
14344    field public static final long NETWORK_TYPE_BITMASK_HSUPA = 256L; // 0x100L
14345    field public static final long NETWORK_TYPE_BITMASK_IWLAN = 131072L; // 0x20000L
14346    field public static final long NETWORK_TYPE_BITMASK_LTE = 4096L; // 0x1000L
14347    field public static final long NETWORK_TYPE_BITMASK_LTE_CA = 262144L; // 0x40000L
14348    field public static final long NETWORK_TYPE_BITMASK_NR = 524288L; // 0x80000L
14349    field public static final long NETWORK_TYPE_BITMASK_TD_SCDMA = 65536L; // 0x10000L
14350    field public static final long NETWORK_TYPE_BITMASK_UMTS = 4L; // 0x4L
14351    field public static final long NETWORK_TYPE_BITMASK_UNKNOWN = 0L; // 0x0L
14352    field public static final int NR_DUAL_CONNECTIVITY_DISABLE = 2; // 0x2
14353    field public static final int NR_DUAL_CONNECTIVITY_DISABLE_IMMEDIATE = 3; // 0x3
14354    field public static final int NR_DUAL_CONNECTIVITY_ENABLE = 1; // 0x1
14355    field public static final int PREPARE_UNATTENDED_REBOOT_ERROR = 2; // 0x2
14356    field public static final int PREPARE_UNATTENDED_REBOOT_PIN_REQUIRED = 1; // 0x1
14357    field public static final int PREPARE_UNATTENDED_REBOOT_SUCCESS = 0; // 0x0
14358    field public static final int RADIO_POWER_OFF = 0; // 0x0
14359    field public static final int RADIO_POWER_ON = 1; // 0x1
14360    field public static final int RADIO_POWER_UNAVAILABLE = 2; // 0x2
14361    field public static final int SET_CARRIER_RESTRICTION_ERROR = 2; // 0x2
14362    field public static final int SET_CARRIER_RESTRICTION_NOT_SUPPORTED = 1; // 0x1
14363    field public static final int SET_CARRIER_RESTRICTION_SUCCESS = 0; // 0x0
14364    field public static final int SET_SIM_POWER_STATE_ALREADY_IN_STATE = 1; // 0x1
14365    field public static final int SET_SIM_POWER_STATE_MODEM_ERROR = 2; // 0x2
14366    field public static final int SET_SIM_POWER_STATE_NOT_SUPPORTED = 4; // 0x4
14367    field public static final int SET_SIM_POWER_STATE_SIM_ERROR = 3; // 0x3
14368    field public static final int SET_SIM_POWER_STATE_SUCCESS = 0; // 0x0
14369    field public static final int SIM_ACTIVATION_STATE_ACTIVATED = 2; // 0x2
14370    field public static final int SIM_ACTIVATION_STATE_ACTIVATING = 1; // 0x1
14371    field public static final int SIM_ACTIVATION_STATE_DEACTIVATED = 3; // 0x3
14372    field public static final int SIM_ACTIVATION_STATE_RESTRICTED = 4; // 0x4
14373    field public static final int SIM_ACTIVATION_STATE_UNKNOWN = 0; // 0x0
14374    field public static final int SIM_STATE_LOADED = 10; // 0xa
14375    field public static final int SIM_STATE_PRESENT = 11; // 0xb
14376    field public static final int SRVCC_STATE_HANDOVER_CANCELED = 3; // 0x3
14377    field public static final int SRVCC_STATE_HANDOVER_COMPLETED = 1; // 0x1
14378    field public static final int SRVCC_STATE_HANDOVER_FAILED = 2; // 0x2
14379    field public static final int SRVCC_STATE_HANDOVER_NONE = -1; // 0xffffffff
14380    field public static final int SRVCC_STATE_HANDOVER_STARTED = 0; // 0x0
14381    field public static final int THERMAL_MITIGATION_RESULT_INVALID_STATE = 3; // 0x3
14382    field public static final int THERMAL_MITIGATION_RESULT_MODEM_ERROR = 1; // 0x1
14383    field public static final int THERMAL_MITIGATION_RESULT_MODEM_NOT_AVAILABLE = 2; // 0x2
14384    field public static final int THERMAL_MITIGATION_RESULT_SUCCESS = 0; // 0x0
14385    field public static final int THERMAL_MITIGATION_RESULT_UNKNOWN_ERROR = 4; // 0x4
14386  }
14387
14388  public static class TelephonyManager.BootstrapAuthenticationCallback {
14389    ctor public TelephonyManager.BootstrapAuthenticationCallback();
14390    method public void onAuthenticationFailure(int);
14391    method public void onKeysAvailable(@NonNull byte[], @NonNull String);
14392  }
14393
14394  public static interface TelephonyManager.CallForwardingInfoCallback {
14395    method public void onCallForwardingInfoAvailable(@NonNull android.telephony.CallForwardingInfo);
14396    method public void onError(int);
14397    field public static final int RESULT_ERROR_FDN_CHECK_FAILURE = 2; // 0x2
14398    field public static final int RESULT_ERROR_NOT_SUPPORTED = 3; // 0x3
14399    field public static final int RESULT_ERROR_UNKNOWN = 1; // 0x1
14400    field public static final int RESULT_SUCCESS = 0; // 0x0
14401  }
14402
14403  public static class TelephonyManager.ModemActivityInfoException extends java.lang.Exception {
14404    method public int getErrorCode();
14405    field public static final int ERROR_INVALID_INFO_RECEIVED = 2; // 0x2
14406    field public static final int ERROR_MODEM_RESPONSE_ERROR = 3; // 0x3
14407    field public static final int ERROR_PHONE_NOT_AVAILABLE = 1; // 0x1
14408    field public static final int ERROR_UNKNOWN = 0; // 0x0
14409  }
14410
14411  public final class ThermalMitigationRequest implements android.os.Parcelable {
14412    method public int describeContents();
14413    method @Nullable public android.telephony.DataThrottlingRequest getDataThrottlingRequest();
14414    method public int getThermalMitigationAction();
14415    method public void writeToParcel(@NonNull android.os.Parcel, int);
14416    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ThermalMitigationRequest> CREATOR;
14417    field public static final int THERMAL_MITIGATION_ACTION_DATA_THROTTLING = 0; // 0x0
14418    field public static final int THERMAL_MITIGATION_ACTION_RADIO_OFF = 2; // 0x2
14419    field public static final int THERMAL_MITIGATION_ACTION_VOICE_ONLY = 1; // 0x1
14420  }
14421
14422  public static final class ThermalMitigationRequest.Builder {
14423    ctor public ThermalMitigationRequest.Builder();
14424    method @NonNull public android.telephony.ThermalMitigationRequest build();
14425    method @NonNull public android.telephony.ThermalMitigationRequest.Builder setDataThrottlingRequest(@NonNull android.telephony.DataThrottlingRequest);
14426    method @NonNull public android.telephony.ThermalMitigationRequest.Builder setThermalMitigationAction(int);
14427  }
14428
14429  public final class UiccAccessRule implements android.os.Parcelable {
14430    ctor public UiccAccessRule(byte[], @Nullable String, long);
14431    method public int describeContents();
14432    method public int getCarrierPrivilegeStatus(android.content.pm.PackageInfo);
14433    method public int getCarrierPrivilegeStatus(android.content.pm.Signature, String);
14434    method public String getCertificateHexString();
14435    method @Nullable public String getPackageName();
14436    method public void writeToParcel(android.os.Parcel, int);
14437    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccAccessRule> CREATOR;
14438  }
14439
14440  public class UiccSlotInfo implements android.os.Parcelable {
14441    ctor @Deprecated public UiccSlotInfo(boolean, boolean, String, int, int, boolean);
14442    method public int describeContents();
14443    method public String getCardId();
14444    method public int getCardStateInfo();
14445    method public boolean getIsActive();
14446    method public boolean getIsEuicc();
14447    method public boolean getIsExtendedApduSupported();
14448    method public int getLogicalSlotIdx();
14449    method public boolean isRemovable();
14450    method public void writeToParcel(android.os.Parcel, int);
14451    field public static final int CARD_STATE_INFO_ABSENT = 1; // 0x1
14452    field public static final int CARD_STATE_INFO_ERROR = 3; // 0x3
14453    field public static final int CARD_STATE_INFO_PRESENT = 2; // 0x2
14454    field public static final int CARD_STATE_INFO_RESTRICTED = 4; // 0x4
14455    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccSlotInfo> CREATOR;
14456  }
14457
14458  public abstract class VisualVoicemailService extends android.app.Service {
14459    method public static final void sendVisualVoicemailSms(android.content.Context, android.telecom.PhoneAccountHandle, String, short, String, android.app.PendingIntent);
14460    method public static final void setSmsFilterSettings(android.content.Context, android.telecom.PhoneAccountHandle, android.telephony.VisualVoicemailSmsFilterSettings);
14461  }
14462
14463  public abstract class VopsSupportInfo implements android.os.Parcelable {
14464    method public int describeContents();
14465    method public abstract boolean equals(Object);
14466    method public abstract int hashCode();
14467    method public abstract boolean isEmergencyServiceFallbackSupported();
14468    method public abstract boolean isEmergencyServiceSupported();
14469    method public abstract boolean isVopsSupported();
14470    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.VopsSupportInfo> CREATOR;
14471  }
14472
14473}
14474
14475package android.telephony.cdma {
14476
14477  public final class CdmaSmsCbProgramData implements android.os.Parcelable {
14478    method public int describeContents();
14479    method public int getCategory();
14480    method public int getOperation();
14481    method public void writeToParcel(android.os.Parcel, int);
14482    field public static final int CATEGORY_CMAS_CHILD_ABDUCTION_EMERGENCY = 4099; // 0x1003
14483    field public static final int CATEGORY_CMAS_EXTREME_THREAT = 4097; // 0x1001
14484    field public static final int CATEGORY_CMAS_LAST_RESERVED_VALUE = 4351; // 0x10ff
14485    field public static final int CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT = 4096; // 0x1000
14486    field public static final int CATEGORY_CMAS_SEVERE_THREAT = 4098; // 0x1002
14487    field public static final int CATEGORY_CMAS_TEST_MESSAGE = 4100; // 0x1004
14488    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.cdma.CdmaSmsCbProgramData> CREATOR;
14489    field public static final int OPERATION_ADD_CATEGORY = 1; // 0x1
14490    field public static final int OPERATION_CLEAR_CATEGORIES = 2; // 0x2
14491    field public static final int OPERATION_DELETE_CATEGORY = 0; // 0x0
14492  }
14493
14494}
14495
14496package android.telephony.data {
14497
14498  public class ApnSetting implements android.os.Parcelable {
14499    method public static int getApnTypeInt(@NonNull String);
14500    method @NonNull public static String getApnTypeString(int);
14501    field public static final String TYPE_ALL_STRING = "*";
14502    field public static final String TYPE_BIP_STRING = "bip";
14503    field public static final String TYPE_CBS_STRING = "cbs";
14504    field public static final String TYPE_DEFAULT_STRING = "default";
14505    field public static final String TYPE_DUN_STRING = "dun";
14506    field public static final String TYPE_EMERGENCY_STRING = "emergency";
14507    field public static final String TYPE_FOTA_STRING = "fota";
14508    field public static final String TYPE_HIPRI_STRING = "hipri";
14509    field public static final String TYPE_IA_STRING = "ia";
14510    field public static final String TYPE_IMS_STRING = "ims";
14511    field public static final String TYPE_MCX_STRING = "mcx";
14512    field public static final String TYPE_MMS_STRING = "mms";
14513    field public static final String TYPE_SUPL_STRING = "supl";
14514    field public static final String TYPE_VSIM_STRING = "vsim";
14515    field public static final String TYPE_XCAP_STRING = "xcap";
14516  }
14517
14518  public final class DataCallResponse implements android.os.Parcelable {
14519    method public int describeContents();
14520    method @NonNull public java.util.List<android.net.LinkAddress> getAddresses();
14521    method public int getCause();
14522    method @NonNull public java.util.List<java.net.InetAddress> getDnsAddresses();
14523    method @NonNull public java.util.List<java.net.InetAddress> getGatewayAddresses();
14524    method public int getHandoverFailureMode();
14525    method public int getId();
14526    method @NonNull public String getInterfaceName();
14527    method public int getLinkStatus();
14528    method @Deprecated public int getMtu();
14529    method public int getMtuV4();
14530    method public int getMtuV6();
14531    method @NonNull public java.util.List<java.net.InetAddress> getPcscfAddresses();
14532    method public int getPduSessionId();
14533    method public int getProtocolType();
14534    method public long getRetryDurationMillis();
14535    method @Nullable public android.telephony.data.NetworkSliceInfo getSliceInfo();
14536    method @Deprecated public int getSuggestedRetryTime();
14537    method @NonNull public java.util.List<android.telephony.data.TrafficDescriptor> getTrafficDescriptors();
14538    method public void writeToParcel(android.os.Parcel, int);
14539    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.DataCallResponse> CREATOR;
14540    field public static final int HANDOVER_FAILURE_MODE_DO_FALLBACK = 1; // 0x1
14541    field public static final int HANDOVER_FAILURE_MODE_LEGACY = 0; // 0x0
14542    field public static final int HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_HANDOVER = 2; // 0x2
14543    field public static final int HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_SETUP_NORMAL = 3; // 0x3
14544    field public static final int HANDOVER_FAILURE_MODE_UNKNOWN = -1; // 0xffffffff
14545    field public static final int LINK_STATUS_ACTIVE = 2; // 0x2
14546    field public static final int LINK_STATUS_DORMANT = 1; // 0x1
14547    field public static final int LINK_STATUS_INACTIVE = 0; // 0x0
14548    field public static final int LINK_STATUS_UNKNOWN = -1; // 0xffffffff
14549    field public static final int PDU_SESSION_ID_NOT_SET = 0; // 0x0
14550    field public static final int RETRY_DURATION_UNDEFINED = -1; // 0xffffffff
14551  }
14552
14553  public static final class DataCallResponse.Builder {
14554    ctor public DataCallResponse.Builder();
14555    method @NonNull public android.telephony.data.DataCallResponse build();
14556    method @NonNull public android.telephony.data.DataCallResponse.Builder setAddresses(@NonNull java.util.List<android.net.LinkAddress>);
14557    method @NonNull public android.telephony.data.DataCallResponse.Builder setCause(int);
14558    method @NonNull public android.telephony.data.DataCallResponse.Builder setDnsAddresses(@NonNull java.util.List<java.net.InetAddress>);
14559    method @NonNull public android.telephony.data.DataCallResponse.Builder setGatewayAddresses(@NonNull java.util.List<java.net.InetAddress>);
14560    method @NonNull public android.telephony.data.DataCallResponse.Builder setHandoverFailureMode(int);
14561    method @NonNull public android.telephony.data.DataCallResponse.Builder setId(int);
14562    method @NonNull public android.telephony.data.DataCallResponse.Builder setInterfaceName(@NonNull String);
14563    method @NonNull public android.telephony.data.DataCallResponse.Builder setLinkStatus(int);
14564    method @Deprecated @NonNull public android.telephony.data.DataCallResponse.Builder setMtu(int);
14565    method @NonNull public android.telephony.data.DataCallResponse.Builder setMtuV4(int);
14566    method @NonNull public android.telephony.data.DataCallResponse.Builder setMtuV6(int);
14567    method @NonNull public android.telephony.data.DataCallResponse.Builder setPcscfAddresses(@NonNull java.util.List<java.net.InetAddress>);
14568    method @NonNull public android.telephony.data.DataCallResponse.Builder setPduSessionId(@IntRange(from=android.telephony.data.DataCallResponse.PDU_SESSION_ID_NOT_SET, to=15) int);
14569    method @NonNull public android.telephony.data.DataCallResponse.Builder setProtocolType(int);
14570    method @NonNull public android.telephony.data.DataCallResponse.Builder setRetryDurationMillis(long);
14571    method @NonNull public android.telephony.data.DataCallResponse.Builder setSliceInfo(@Nullable android.telephony.data.NetworkSliceInfo);
14572    method @Deprecated @NonNull public android.telephony.data.DataCallResponse.Builder setSuggestedRetryTime(int);
14573    method @NonNull public android.telephony.data.DataCallResponse.Builder setTrafficDescriptors(@NonNull java.util.List<android.telephony.data.TrafficDescriptor>);
14574  }
14575
14576  public final class DataProfile implements android.os.Parcelable {
14577    method public int describeContents();
14578    method @NonNull public String getApn();
14579    method public int getAuthType();
14580    method public int getBearerBitmask();
14581    method @Deprecated public int getMtu();
14582    method public int getMtuV4();
14583    method public int getMtuV6();
14584    method @Nullable public String getPassword();
14585    method public int getProfileId();
14586    method public int getProtocolType();
14587    method public int getRoamingProtocolType();
14588    method public int getSupportedApnTypesBitmask();
14589    method public int getType();
14590    method @Nullable public String getUserName();
14591    method public boolean isEnabled();
14592    method public boolean isPersistent();
14593    method public boolean isPreferred();
14594    method public void writeToParcel(android.os.Parcel, int);
14595    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.DataProfile> CREATOR;
14596    field public static final int TYPE_3GPP = 1; // 0x1
14597    field public static final int TYPE_3GPP2 = 2; // 0x2
14598    field public static final int TYPE_COMMON = 0; // 0x0
14599  }
14600
14601  public static final class DataProfile.Builder {
14602    ctor public DataProfile.Builder();
14603    method @NonNull public android.telephony.data.DataProfile build();
14604    method @NonNull public android.telephony.data.DataProfile.Builder enable(boolean);
14605    method @NonNull public android.telephony.data.DataProfile.Builder setApn(@NonNull String);
14606    method @NonNull public android.telephony.data.DataProfile.Builder setAuthType(int);
14607    method @NonNull public android.telephony.data.DataProfile.Builder setBearerBitmask(int);
14608    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setMtu(int);
14609    method @NonNull public android.telephony.data.DataProfile.Builder setMtuV4(int);
14610    method @NonNull public android.telephony.data.DataProfile.Builder setMtuV6(int);
14611    method @NonNull public android.telephony.data.DataProfile.Builder setPassword(@NonNull String);
14612    method @NonNull public android.telephony.data.DataProfile.Builder setPersistent(boolean);
14613    method @NonNull public android.telephony.data.DataProfile.Builder setPreferred(boolean);
14614    method @NonNull public android.telephony.data.DataProfile.Builder setProfileId(int);
14615    method @NonNull public android.telephony.data.DataProfile.Builder setProtocolType(int);
14616    method @NonNull public android.telephony.data.DataProfile.Builder setRoamingProtocolType(int);
14617    method @NonNull public android.telephony.data.DataProfile.Builder setSupportedApnTypesBitmask(int);
14618    method @NonNull public android.telephony.data.DataProfile.Builder setType(int);
14619    method @NonNull public android.telephony.data.DataProfile.Builder setUserName(@NonNull String);
14620  }
14621
14622  public abstract class DataService extends android.app.Service {
14623    ctor public DataService();
14624    method public android.os.IBinder onBind(android.content.Intent);
14625    method @Nullable public abstract android.telephony.data.DataService.DataServiceProvider onCreateDataServiceProvider(int);
14626    field public static final int REQUEST_REASON_HANDOVER = 3; // 0x3
14627    field public static final int REQUEST_REASON_NORMAL = 1; // 0x1
14628    field public static final int REQUEST_REASON_SHUTDOWN = 2; // 0x2
14629    field public static final int REQUEST_REASON_UNKNOWN = 0; // 0x0
14630    field public static final String SERVICE_INTERFACE = "android.telephony.data.DataService";
14631  }
14632
14633  public abstract class DataService.DataServiceProvider implements java.lang.AutoCloseable {
14634    ctor public DataService.DataServiceProvider(int);
14635    method public abstract void close();
14636    method public void deactivateDataCall(int, int, @Nullable android.telephony.data.DataServiceCallback);
14637    method public final int getSlotIndex();
14638    method public final void notifyApnUnthrottled(@NonNull String);
14639    method public final void notifyDataCallListChanged(java.util.List<android.telephony.data.DataCallResponse>);
14640    method public void requestDataCallList(@NonNull android.telephony.data.DataServiceCallback);
14641    method public void setDataProfile(@NonNull java.util.List<android.telephony.data.DataProfile>, boolean, @NonNull android.telephony.data.DataServiceCallback);
14642    method public void setInitialAttachApn(@NonNull android.telephony.data.DataProfile, boolean, @NonNull android.telephony.data.DataServiceCallback);
14643    method public void setupDataCall(int, @NonNull android.telephony.data.DataProfile, boolean, boolean, int, @Nullable android.net.LinkProperties, @NonNull android.telephony.data.DataServiceCallback);
14644    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);
14645  }
14646
14647  public class DataServiceCallback {
14648    method public void onApnUnthrottled(@NonNull String);
14649    method public void onDataCallListChanged(@NonNull java.util.List<android.telephony.data.DataCallResponse>);
14650    method public void onDeactivateDataCallComplete(int);
14651    method public void onRequestDataCallListComplete(int, @NonNull java.util.List<android.telephony.data.DataCallResponse>);
14652    method public void onSetDataProfileComplete(int);
14653    method public void onSetInitialAttachApnComplete(int);
14654    method public void onSetupDataCallComplete(int, @Nullable android.telephony.data.DataCallResponse);
14655    field public static final int RESULT_ERROR_BUSY = 3; // 0x3
14656    field public static final int RESULT_ERROR_ILLEGAL_STATE = 4; // 0x4
14657    field public static final int RESULT_ERROR_INVALID_ARG = 2; // 0x2
14658    field public static final int RESULT_ERROR_UNSUPPORTED = 1; // 0x1
14659    field public static final int RESULT_SUCCESS = 0; // 0x0
14660  }
14661
14662  public final class EpsBearerQosSessionAttributes implements android.os.Parcelable android.net.QosSessionAttributes {
14663    method public int describeContents();
14664    method public long getGuaranteedDownlinkBitRateKbps();
14665    method public long getGuaranteedUplinkBitRateKbps();
14666    method public long getMaxDownlinkBitRateKbps();
14667    method public long getMaxUplinkBitRateKbps();
14668    method public int getQosIdentifier();
14669    method @NonNull public java.util.List<java.net.InetSocketAddress> getRemoteAddresses();
14670    method public void writeToParcel(@NonNull android.os.Parcel, int);
14671    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.EpsBearerQosSessionAttributes> CREATOR;
14672  }
14673
14674  public final class NrQosSessionAttributes implements android.os.Parcelable android.net.QosSessionAttributes {
14675    method public int describeContents();
14676    method @NonNull public java.time.Duration getBitRateWindowDuration();
14677    method public long getGuaranteedDownlinkBitRateKbps();
14678    method public long getGuaranteedUplinkBitRateKbps();
14679    method public long getMaxDownlinkBitRateKbps();
14680    method public long getMaxUplinkBitRateKbps();
14681    method @IntRange(from=1, to=63) public int getQosFlowIdentifier();
14682    method public int getQosIdentifier();
14683    method @NonNull public java.util.List<java.net.InetSocketAddress> getRemoteAddresses();
14684    method public void writeToParcel(@NonNull android.os.Parcel, int);
14685    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.NrQosSessionAttributes> CREATOR;
14686  }
14687
14688  public abstract class QualifiedNetworksService extends android.app.Service {
14689    ctor public QualifiedNetworksService();
14690    method @NonNull public abstract android.telephony.data.QualifiedNetworksService.NetworkAvailabilityProvider onCreateNetworkAvailabilityProvider(int);
14691    field public static final String QUALIFIED_NETWORKS_SERVICE_INTERFACE = "android.telephony.data.QualifiedNetworksService";
14692  }
14693
14694  public abstract class QualifiedNetworksService.NetworkAvailabilityProvider implements java.lang.AutoCloseable {
14695    ctor public QualifiedNetworksService.NetworkAvailabilityProvider(int);
14696    method public abstract void close();
14697    method public final int getSlotIndex();
14698    method public void reportThrottleStatusChanged(@NonNull java.util.List<android.telephony.data.ThrottleStatus>);
14699    method public final void updateQualifiedNetworkTypes(int, @NonNull java.util.List<java.lang.Integer>);
14700  }
14701
14702  public final class ThrottleStatus implements android.os.Parcelable {
14703    method public int describeContents();
14704    method public int getApnType();
14705    method public int getRetryType();
14706    method public int getSlotIndex();
14707    method public long getThrottleExpiryTimeMillis();
14708    method public int getThrottleType();
14709    method public int getTransportType();
14710    method public void writeToParcel(@NonNull android.os.Parcel, int);
14711    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.ThrottleStatus> CREATOR;
14712    field public static final int RETRY_TYPE_HANDOVER = 3; // 0x3
14713    field public static final int RETRY_TYPE_NEW_CONNECTION = 2; // 0x2
14714    field public static final int RETRY_TYPE_NONE = 1; // 0x1
14715    field public static final int THROTTLE_TYPE_ELAPSED_TIME = 2; // 0x2
14716    field public static final int THROTTLE_TYPE_NONE = 1; // 0x1
14717  }
14718
14719  public static final class ThrottleStatus.Builder {
14720    ctor public ThrottleStatus.Builder();
14721    method @NonNull public android.telephony.data.ThrottleStatus build();
14722    method @NonNull public android.telephony.data.ThrottleStatus.Builder setApnType(int);
14723    method @NonNull public android.telephony.data.ThrottleStatus.Builder setNoThrottle();
14724    method @NonNull public android.telephony.data.ThrottleStatus.Builder setRetryType(int);
14725    method @NonNull public android.telephony.data.ThrottleStatus.Builder setSlotIndex(int);
14726    method @NonNull public android.telephony.data.ThrottleStatus.Builder setThrottleExpiryTimeMillis(long);
14727    method @NonNull public android.telephony.data.ThrottleStatus.Builder setTransportType(int);
14728  }
14729
14730}
14731
14732package android.telephony.euicc {
14733
14734  public final class DownloadableSubscription implements android.os.Parcelable {
14735    method public java.util.List<android.telephony.UiccAccessRule> getAccessRules();
14736    method @Nullable public String getCarrierName();
14737  }
14738
14739  public static final class DownloadableSubscription.Builder {
14740    ctor public DownloadableSubscription.Builder();
14741    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setAccessRules(@NonNull java.util.List<android.telephony.UiccAccessRule>);
14742    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setCarrierName(@NonNull String);
14743  }
14744
14745  public class EuiccCardManager {
14746    method public void authenticateServer(String, String, byte[], byte[], byte[], byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
14747    method public void cancelSession(String, byte[], @android.telephony.euicc.EuiccCardManager.CancelReason int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
14748    method public void deleteProfile(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
14749    method public void disableProfile(String, String, boolean, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
14750    method public void listNotifications(String, @android.telephony.euicc.EuiccNotification.Event int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification[]>);
14751    method public void loadBoundProfilePackage(String, byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
14752    method public void prepareDownload(String, @Nullable byte[], byte[], byte[], byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
14753    method public void removeNotificationFromList(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
14754    method public void requestAllProfiles(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo[]>);
14755    method public void requestDefaultSmdpAddress(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.String>);
14756    method public void requestEuiccChallenge(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
14757    method public void requestEuiccInfo1(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
14758    method public void requestEuiccInfo2(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
14759    method public void requestProfile(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
14760    method public void requestRulesAuthTable(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccRulesAuthTable>);
14761    method public void requestSmdsAddress(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.String>);
14762    method public void resetMemory(String, @android.telephony.euicc.EuiccCardManager.ResetOption int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
14763    method public void retrieveNotification(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification>);
14764    method public void retrieveNotificationList(String, @android.telephony.euicc.EuiccNotification.Event int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification[]>);
14765    method public void setDefaultSmdpAddress(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
14766    method public void setNickname(String, String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
14767    method public void switchToProfile(String, String, boolean, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
14768    field public static final int CANCEL_REASON_END_USER_REJECTED = 0; // 0x0
14769    field public static final int CANCEL_REASON_POSTPONED = 1; // 0x1
14770    field public static final int CANCEL_REASON_PPR_NOT_ALLOWED = 3; // 0x3
14771    field public static final int CANCEL_REASON_TIMEOUT = 2; // 0x2
14772    field public static final int RESET_OPTION_DELETE_FIELD_LOADED_TEST_PROFILES = 2; // 0x2
14773    field public static final int RESET_OPTION_DELETE_OPERATIONAL_PROFILES = 1; // 0x1
14774    field public static final int RESET_OPTION_RESET_DEFAULT_SMDP_ADDRESS = 4; // 0x4
14775    field public static final int RESULT_CALLER_NOT_ALLOWED = -3; // 0xfffffffd
14776    field public static final int RESULT_EUICC_NOT_FOUND = -2; // 0xfffffffe
14777    field public static final int RESULT_OK = 0; // 0x0
14778    field public static final int RESULT_UNKNOWN_ERROR = -1; // 0xffffffff
14779  }
14780
14781  @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 {
14782  }
14783
14784  @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 {
14785  }
14786
14787  public static interface EuiccCardManager.ResultCallback<T> {
14788    method public void onComplete(int, T);
14789  }
14790
14791  public class EuiccManager {
14792    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void continueOperation(android.content.Intent, android.os.Bundle);
14793    method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void eraseSubscriptions(@NonNull android.app.PendingIntent);
14794    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void eraseSubscriptions(@android.telephony.euicc.EuiccCardManager.ResetOption int, @NonNull android.app.PendingIntent);
14795    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void getDefaultDownloadableSubscriptionList(android.app.PendingIntent);
14796    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void getDownloadableSubscriptionMetadata(android.telephony.euicc.DownloadableSubscription, android.app.PendingIntent);
14797    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public int getOtaStatus();
14798    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public java.util.List<java.lang.String> getSupportedCountries();
14799    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public java.util.List<java.lang.String> getUnsupportedCountries();
14800    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public boolean isSupportedCountry(@NonNull String);
14801    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setSupportedCountries(@NonNull java.util.List<java.lang.String>);
14802    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setUnsupportedCountries(@NonNull java.util.List<java.lang.String>);
14803    field public static final String ACTION_DELETE_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.DELETE_SUBSCRIPTION_PRIVILEGED";
14804    field @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public static final String ACTION_OTA_STATUS_CHANGED = "android.telephony.euicc.action.OTA_STATUS_CHANGED";
14805    field public static final String ACTION_PROVISION_EMBEDDED_SUBSCRIPTION = "android.telephony.euicc.action.PROVISION_EMBEDDED_SUBSCRIPTION";
14806    field public static final String ACTION_RENAME_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.RENAME_SUBSCRIPTION_PRIVILEGED";
14807    field public static final String ACTION_TOGGLE_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.TOGGLE_SUBSCRIPTION_PRIVILEGED";
14808    field public static final int EUICC_ACTIVATION_TYPE_ACCOUNT_REQUIRED = 4; // 0x4
14809    field public static final int EUICC_ACTIVATION_TYPE_BACKUP = 2; // 0x2
14810    field public static final int EUICC_ACTIVATION_TYPE_DEFAULT = 1; // 0x1
14811    field public static final int EUICC_ACTIVATION_TYPE_TRANSFER = 3; // 0x3
14812    field public static final int EUICC_OTA_FAILED = 2; // 0x2
14813    field public static final int EUICC_OTA_IN_PROGRESS = 1; // 0x1
14814    field public static final int EUICC_OTA_NOT_NEEDED = 4; // 0x4
14815    field public static final int EUICC_OTA_STATUS_UNAVAILABLE = 5; // 0x5
14816    field public static final int EUICC_OTA_SUCCEEDED = 3; // 0x3
14817    field public static final String EXTRA_ACTIVATION_TYPE = "android.telephony.euicc.extra.ACTIVATION_TYPE";
14818    field public static final String EXTRA_EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTIONS = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTIONS";
14819    field public static final String EXTRA_ENABLE_SUBSCRIPTION = "android.telephony.euicc.extra.ENABLE_SUBSCRIPTION";
14820    field public static final String EXTRA_FORCE_PROVISION = "android.telephony.euicc.extra.FORCE_PROVISION";
14821    field public static final String EXTRA_FROM_SUBSCRIPTION_ID = "android.telephony.euicc.extra.FROM_SUBSCRIPTION_ID";
14822    field public static final String EXTRA_PHYSICAL_SLOT_ID = "android.telephony.euicc.extra.PHYSICAL_SLOT_ID";
14823    field public static final String EXTRA_SUBSCRIPTION_ID = "android.telephony.euicc.extra.SUBSCRIPTION_ID";
14824    field public static final String EXTRA_SUBSCRIPTION_NICKNAME = "android.telephony.euicc.extra.SUBSCRIPTION_NICKNAME";
14825  }
14826
14827  @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 {
14828  }
14829
14830  public final class EuiccNotification implements android.os.Parcelable {
14831    ctor public EuiccNotification(int, String, @android.telephony.euicc.EuiccNotification.Event int, @Nullable byte[]);
14832    method public int describeContents();
14833    method @Nullable public byte[] getData();
14834    method @android.telephony.euicc.EuiccNotification.Event public int getEvent();
14835    method public int getSeq();
14836    method public String getTargetAddr();
14837    method public void writeToParcel(android.os.Parcel, int);
14838    field @android.telephony.euicc.EuiccNotification.Event public static final int ALL_EVENTS = 15; // 0xf
14839    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccNotification> CREATOR;
14840    field public static final int EVENT_DELETE = 8; // 0x8
14841    field public static final int EVENT_DISABLE = 4; // 0x4
14842    field public static final int EVENT_ENABLE = 2; // 0x2
14843    field public static final int EVENT_INSTALL = 1; // 0x1
14844  }
14845
14846  @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 {
14847  }
14848
14849  public final class EuiccRulesAuthTable implements android.os.Parcelable {
14850    method public int describeContents();
14851    method public int findIndex(@android.service.euicc.EuiccProfileInfo.PolicyRule int, android.service.carrier.CarrierIdentifier);
14852    method public boolean hasPolicyRuleFlag(int, @android.telephony.euicc.EuiccRulesAuthTable.PolicyRuleFlag int);
14853    method public void writeToParcel(android.os.Parcel, int);
14854    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccRulesAuthTable> CREATOR;
14855    field public static final int POLICY_RULE_FLAG_CONSENT_REQUIRED = 1; // 0x1
14856  }
14857
14858  public static final class EuiccRulesAuthTable.Builder {
14859    ctor public EuiccRulesAuthTable.Builder(int);
14860    method public android.telephony.euicc.EuiccRulesAuthTable.Builder add(int, java.util.List<android.service.carrier.CarrierIdentifier>, int);
14861    method public android.telephony.euicc.EuiccRulesAuthTable build();
14862  }
14863
14864  @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 {
14865  }
14866
14867}
14868
14869package android.telephony.gba {
14870
14871  public class GbaService extends android.app.Service {
14872    ctor public GbaService();
14873    method public void onAuthenticationRequest(int, int, int, @NonNull android.net.Uri, @NonNull byte[], boolean);
14874    method public final void reportAuthenticationFailure(int, int) throws java.lang.RuntimeException;
14875    method public final void reportKeysAvailable(int, @NonNull byte[], @NonNull String) throws java.lang.RuntimeException;
14876    field public static final String SERVICE_INTERFACE = "android.telephony.gba.GbaService";
14877  }
14878
14879  public class TlsParams {
14880    method public static boolean isTlsCipherSuiteSupported(int);
14881    field public static final int GROUP_SECP256R1 = 23; // 0x17
14882    field public static final int GROUP_SECP384R1 = 24; // 0x18
14883    field public static final int GROUP_X25519 = 29; // 0x1d
14884    field public static final int GROUP_X448 = 30; // 0x1e
14885    field public static final int PROTOCOL_VERSION_TLS_1_2 = 771; // 0x303
14886    field public static final int PROTOCOL_VERSION_TLS_1_3 = 772; // 0x304
14887    field public static final int SIG_ECDSA_BRAINPOOLP256R1TLS13_SHA256 = 2074; // 0x81a
14888    field public static final int SIG_ECDSA_BRAINPOOLP384R1TLS13_SHA384 = 2075; // 0x81b
14889    field public static final int SIG_ECDSA_BRAINPOOLP512R1TLS13_SHA512 = 2076; // 0x81c
14890    field public static final int SIG_ECDSA_SECP256R1_SHA256 = 1027; // 0x403
14891    field public static final int SIG_ECDSA_SECP384R1_SHA384 = 1283; // 0x503
14892    field public static final int SIG_ECDSA_SECP521R1_SHA512 = 1539; // 0x603
14893    field public static final int SIG_ECDSA_SHA1 = 515; // 0x203
14894    field public static final int SIG_RSA_PKCS1_SHA1 = 513; // 0x201
14895    field public static final int SIG_RSA_PKCS1_SHA256 = 1025; // 0x401
14896    field public static final int SIG_RSA_PKCS1_SHA256_LEGACY = 1056; // 0x420
14897    field public static final int SIG_RSA_PKCS1_SHA384 = 1281; // 0x501
14898    field public static final int SIG_RSA_PKCS1_SHA384_LEGACY = 1312; // 0x520
14899    field public static final int SIG_RSA_PKCS1_SHA512 = 1537; // 0x601
14900    field public static final int SIG_RSA_PKCS1_SHA512_LEGACY = 1568; // 0x620
14901    field public static final int SIG_RSA_PSS_RSAE_SHA256 = 2052; // 0x804
14902    field public static final int SIG_RSA_PSS_RSAE_SHA384 = 2053; // 0x805
14903    field public static final int SIG_RSA_PSS_RSAE_SHA512 = 2054; // 0x806
14904    field public static final int TLS_AES_128_CCM_SHA256 = 4868; // 0x1304
14905    field public static final int TLS_AES_128_GCM_SHA256 = 4865; // 0x1301
14906    field public static final int TLS_AES_256_GCM_SHA384 = 4866; // 0x1302
14907    field public static final int TLS_CHACHA20_POLY1305_SHA256 = 4867; // 0x1303
14908    field public static final int TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 19; // 0x13
14909    field public static final int TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 50; // 0x32
14910    field public static final int TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 64; // 0x40
14911    field public static final int TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 56; // 0x38
14912    field public static final int TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 106; // 0x6a
14913    field public static final int TLS_DHE_PSK_WITH_AES_128_CCM = 49318; // 0xc0a6
14914    field public static final int TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 = 170; // 0xaa
14915    field public static final int TLS_DHE_PSK_WITH_AES_256_CCM = 49319; // 0xc0a7
14916    field public static final int TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 = 171; // 0xab
14917    field public static final int TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52397; // 0xccad
14918    field public static final int TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 22; // 0x16
14919    field public static final int TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 51; // 0x33
14920    field public static final int TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 103; // 0x67
14921    field public static final int TLS_DHE_RSA_WITH_AES_128_CCM = 49310; // 0xc09e
14922    field public static final int TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = 158; // 0x9e
14923    field public static final int TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 57; // 0x39
14924    field public static final int TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 107; // 0x6b
14925    field public static final int TLS_DHE_RSA_WITH_AES_256_CCM = 49311; // 0xc09f
14926    field public static final int TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = 159; // 0x9f
14927    field public static final int TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52394; // 0xccaa
14928    field public static final int TLS_DH_ANON_WITH_3DES_EDE_CBC_SHA = 27; // 0x1b
14929    field public static final int TLS_DH_ANON_WITH_AES_128_CBC_SHA = 52; // 0x34
14930    field public static final int TLS_DH_ANON_WITH_AES_128_CBC_SHA256 = 108; // 0x6c
14931    field public static final int TLS_DH_ANON_WITH_AES_256_CBC_SHA = 58; // 0x3a
14932    field public static final int TLS_DH_ANON_WITH_AES_256_CBC_SHA256 = 109; // 0x6d
14933    field public static final int TLS_DH_ANON_WITH_RC4_128_MD5 = 24; // 0x18
14934    field public static final int TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA = 13; // 0xd
14935    field public static final int TLS_DH_DSS_WITH_AES_128_CBC_SHA = 48; // 0x30
14936    field public static final int TLS_DH_DSS_WITH_AES_128_CBC_SHA256 = 62; // 0x3e
14937    field public static final int TLS_DH_DSS_WITH_AES_256_CBC_SHA = 54; // 0x36
14938    field public static final int TLS_DH_DSS_WITH_AES_256_CBC_SHA256 = 104; // 0x68
14939    field public static final int TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA = 16; // 0x10
14940    field public static final int TLS_DH_RSA_WITH_AES_128_CBC_SHA = 49; // 0x31
14941    field public static final int TLS_DH_RSA_WITH_AES_128_CBC_SHA256 = 63; // 0x3f
14942    field public static final int TLS_DH_RSA_WITH_AES_256_CBC_SHA = 55; // 0x37
14943    field public static final int TLS_DH_RSA_WITH_AES_256_CBC_SHA256 = 105; // 0x69
14944    field public static final int TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = 49195; // 0xc02b
14945    field public static final int TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = 49196; // 0xc02c
14946    field public static final int TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = 52393; // 0xcca9
14947    field public static final int TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256 = 53253; // 0xd005
14948    field public static final int TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256 = 53249; // 0xd001
14949    field public static final int TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384 = 53250; // 0xd002
14950    field public static final int TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52396; // 0xccac
14951    field public static final int TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = 49199; // 0xc02f
14952    field public static final int TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = 49200; // 0xc030
14953    field public static final int TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52392; // 0xcca8
14954    field public static final int TLS_NULL_WITH_NULL_NULL = 0; // 0x0
14955    field public static final int TLS_RSA_WITH_3DES_EDE_CBC_SHA = 10; // 0xa
14956    field public static final int TLS_RSA_WITH_AES_128_CBC_SHA = 47; // 0x2f
14957    field public static final int TLS_RSA_WITH_AES_128_CBC_SHA256 = 60; // 0x3c
14958    field public static final int TLS_RSA_WITH_AES_256_CBC_SHA = 53; // 0x35
14959    field public static final int TLS_RSA_WITH_AES_256_CBC_SHA256 = 61; // 0x3d
14960    field public static final int TLS_RSA_WITH_NULL_MD5 = 1; // 0x1
14961    field public static final int TLS_RSA_WITH_NULL_SHA = 2; // 0x2
14962    field public static final int TLS_RSA_WITH_NULL_SHA256 = 59; // 0x3b
14963    field public static final int TLS_RSA_WITH_RC4_128_MD5 = 4; // 0x4
14964    field public static final int TLS_RSA_WITH_RC4_128_SHA = 5; // 0x5
14965  }
14966
14967  public final class UaSecurityProtocolIdentifier implements android.os.Parcelable {
14968    method public int describeContents();
14969    method public int getOrg();
14970    method public int getProtocol();
14971    method public int getTlsCipherSuite();
14972    method @NonNull public byte[] toByteArray();
14973    method public void writeToParcel(@NonNull android.os.Parcel, int);
14974    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.gba.UaSecurityProtocolIdentifier> CREATOR;
14975    field public static final int ORG_3GPP = 1; // 0x1
14976    field public static final int ORG_3GPP2 = 2; // 0x2
14977    field public static final int ORG_GSMA = 4; // 0x4
14978    field public static final int ORG_LOCAL = 255; // 0xff
14979    field public static final int ORG_NONE = 0; // 0x0
14980    field public static final int ORG_OMA = 3; // 0x3
14981    field public static final int UA_SECURITY_PROTOCOL_3GPP_GENERATION_TMPI = 256; // 0x100
14982    field public static final int UA_SECURITY_PROTOCOL_3GPP_GENERIC_PUSH_LAYER = 5; // 0x5
14983    field public static final int UA_SECURITY_PROTOCOL_3GPP_HTTP_BASED_MBMS = 3; // 0x3
14984    field public static final int UA_SECURITY_PROTOCOL_3GPP_HTTP_DIGEST_AUTHENTICATION = 2; // 0x2
14985    field public static final int UA_SECURITY_PROTOCOL_3GPP_IMS_MEDIA_PLANE = 6; // 0x6
14986    field public static final int UA_SECURITY_PROTOCOL_3GPP_MBMS = 1; // 0x1
14987    field public static final int UA_SECURITY_PROTOCOL_3GPP_SIP_BASED_MBMS = 4; // 0x4
14988    field public static final int UA_SECURITY_PROTOCOL_3GPP_SUBSCRIBER_CERTIFICATE = 0; // 0x0
14989    field public static final int UA_SECURITY_PROTOCOL_3GPP_TLS_BROWSER = 131072; // 0x20000
14990    field public static final int UA_SECURITY_PROTOCOL_3GPP_TLS_DEFAULT = 65536; // 0x10000
14991  }
14992
14993  public static final class UaSecurityProtocolIdentifier.Builder {
14994    ctor public UaSecurityProtocolIdentifier.Builder();
14995    ctor public UaSecurityProtocolIdentifier.Builder(@NonNull android.telephony.gba.UaSecurityProtocolIdentifier);
14996    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier build();
14997    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setOrg(int);
14998    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setProtocol(int);
14999    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setTlsCipherSuite(int);
15000  }
15001
15002}
15003
15004package android.telephony.ims {
15005
15006  public final class AudioCodecAttributes implements android.os.Parcelable {
15007    ctor public AudioCodecAttributes(float, @NonNull android.util.Range<java.lang.Float>, float, @NonNull android.util.Range<java.lang.Float>);
15008    method public int describeContents();
15009    method public float getBandwidthKhz();
15010    method @NonNull public android.util.Range<java.lang.Float> getBandwidthRangeKhz();
15011    method public float getBitrateKbps();
15012    method @NonNull public android.util.Range<java.lang.Float> getBitrateRangeKbps();
15013    method public void writeToParcel(@NonNull android.os.Parcel, int);
15014    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.AudioCodecAttributes> CREATOR;
15015  }
15016
15017  public interface DelegateMessageCallback {
15018    method public void onMessageReceived(@NonNull android.telephony.ims.SipMessage);
15019    method public void onMessageSendFailure(@NonNull String, int);
15020    method public void onMessageSent(@NonNull String);
15021  }
15022
15023  public final class DelegateRegistrationState implements android.os.Parcelable {
15024    method public int describeContents();
15025    method @NonNull public java.util.Set<android.telephony.ims.FeatureTagState> getDeregisteredFeatureTags();
15026    method @NonNull public java.util.Set<android.telephony.ims.FeatureTagState> getDeregisteringFeatureTags();
15027    method @NonNull public java.util.Set<java.lang.String> getRegisteredFeatureTags();
15028    method public void writeToParcel(@NonNull android.os.Parcel, int);
15029    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.DelegateRegistrationState> CREATOR;
15030    field public static final int DEREGISTERED_REASON_NOT_PROVISIONED = 1; // 0x1
15031    field public static final int DEREGISTERED_REASON_NOT_REGISTERED = 2; // 0x2
15032    field public static final int DEREGISTERED_REASON_UNKNOWN = 0; // 0x0
15033    field public static final int DEREGISTERING_REASON_DESTROY_PENDING = 6; // 0x6
15034    field public static final int DEREGISTERING_REASON_FEATURE_TAGS_CHANGING = 5; // 0x5
15035    field public static final int DEREGISTERING_REASON_PDN_CHANGE = 3; // 0x3
15036    field public static final int DEREGISTERING_REASON_PROVISIONING_CHANGE = 4; // 0x4
15037  }
15038
15039  public static final class DelegateRegistrationState.Builder {
15040    ctor public DelegateRegistrationState.Builder();
15041    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addDeregisteredFeatureTag(@NonNull String, int);
15042    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addDeregisteringFeatureTag(@NonNull String, int);
15043    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addRegisteredFeatureTag(@NonNull String);
15044    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addRegisteredFeatureTags(@NonNull java.util.Set<java.lang.String>);
15045    method @NonNull public android.telephony.ims.DelegateRegistrationState build();
15046  }
15047
15048  public final class DelegateRequest implements android.os.Parcelable {
15049    ctor public DelegateRequest(@NonNull java.util.Set<java.lang.String>);
15050    method public int describeContents();
15051    method @NonNull public java.util.Set<java.lang.String> getFeatureTags();
15052    method public void writeToParcel(@NonNull android.os.Parcel, int);
15053    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.DelegateRequest> CREATOR;
15054  }
15055
15056  public interface DelegateStateCallback {
15057    method public void onConfigurationChanged(@NonNull android.telephony.ims.SipDelegateConfiguration);
15058    method public void onCreated(@NonNull android.telephony.ims.stub.SipDelegate, @Nullable java.util.Set<android.telephony.ims.FeatureTagState>);
15059    method public void onDestroyed(int);
15060    method public void onFeatureTagRegistrationChanged(@NonNull android.telephony.ims.DelegateRegistrationState);
15061  }
15062
15063  public final class FeatureTagState implements android.os.Parcelable {
15064    ctor public FeatureTagState(@NonNull String, int);
15065    method public int describeContents();
15066    method @NonNull public String getFeatureTag();
15067    method public int getState();
15068    method public void writeToParcel(@NonNull android.os.Parcel, int);
15069    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.FeatureTagState> CREATOR;
15070  }
15071
15072  public final class ImsCallForwardInfo implements android.os.Parcelable {
15073    ctor public ImsCallForwardInfo(int, int, int, int, @NonNull String, int);
15074    method public int describeContents();
15075    method public int getCondition();
15076    method public String getNumber();
15077    method public int getServiceClass();
15078    method public int getStatus();
15079    method public int getTimeSeconds();
15080    method public int getToA();
15081    method public void writeToParcel(android.os.Parcel, int);
15082    field public static final int CDIV_CF_REASON_ALL = 4; // 0x4
15083    field public static final int CDIV_CF_REASON_ALL_CONDITIONAL = 5; // 0x5
15084    field public static final int CDIV_CF_REASON_BUSY = 1; // 0x1
15085    field public static final int CDIV_CF_REASON_NOT_LOGGED_IN = 6; // 0x6
15086    field public static final int CDIV_CF_REASON_NOT_REACHABLE = 3; // 0x3
15087    field public static final int CDIV_CF_REASON_NO_REPLY = 2; // 0x2
15088    field public static final int CDIV_CF_REASON_UNCONDITIONAL = 0; // 0x0
15089    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsCallForwardInfo> CREATOR;
15090    field public static final int STATUS_ACTIVE = 1; // 0x1
15091    field public static final int STATUS_NOT_ACTIVE = 0; // 0x0
15092    field public static final int TYPE_OF_ADDRESS_INTERNATIONAL = 145; // 0x91
15093    field public static final int TYPE_OF_ADDRESS_UNKNOWN = 129; // 0x81
15094  }
15095
15096  public final class ImsCallProfile implements android.os.Parcelable {
15097    ctor public ImsCallProfile();
15098    ctor public ImsCallProfile(int, int);
15099    ctor public ImsCallProfile(int, int, android.os.Bundle, android.telephony.ims.ImsStreamMediaProfile);
15100    method public int describeContents();
15101    method @NonNull public java.util.Set<android.telephony.ims.RtpHeaderExtensionType> getAcceptedRtpHeaderExtensionTypes();
15102    method public String getCallExtra(String);
15103    method public String getCallExtra(String, String);
15104    method public boolean getCallExtraBoolean(String);
15105    method public boolean getCallExtraBoolean(String, boolean);
15106    method public int getCallExtraInt(String);
15107    method public int getCallExtraInt(String, int);
15108    method @Nullable public <T extends android.os.Parcelable> T getCallExtraParcelable(@Nullable String);
15109    method public android.os.Bundle getCallExtras();
15110    method public int getCallType();
15111    method public static int getCallTypeFromVideoState(int);
15112    method public int getCallerNumberVerificationStatus();
15113    method public int getEmergencyCallRouting();
15114    method public int getEmergencyServiceCategories();
15115    method @NonNull public java.util.List<java.lang.String> getEmergencyUrns();
15116    method public android.telephony.ims.ImsStreamMediaProfile getMediaProfile();
15117    method @NonNull public android.os.Bundle getProprietaryCallExtras();
15118    method public int getRestrictCause();
15119    method public int getServiceType();
15120    method public static int getVideoStateFromCallType(int);
15121    method public static int getVideoStateFromImsCallProfile(android.telephony.ims.ImsCallProfile);
15122    method public boolean hasKnownUserIntentEmergency();
15123    method public boolean isEmergencyCallTesting();
15124    method public boolean isVideoCall();
15125    method public boolean isVideoPaused();
15126    method public static int presentationToOir(int);
15127    method public void setAcceptedRtpHeaderExtensionTypes(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtensionType>);
15128    method public void setCallExtra(String, String);
15129    method public void setCallExtraBoolean(String, boolean);
15130    method public void setCallExtraInt(String, int);
15131    method public void setCallExtraParcelable(@NonNull String, @NonNull android.os.Parcelable);
15132    method public void setCallRestrictCause(int);
15133    method public void setCallerNumberVerificationStatus(int);
15134    method public void setEmergencyCallRouting(int);
15135    method public void setEmergencyCallTesting(boolean);
15136    method public void setEmergencyServiceCategories(int);
15137    method public void setEmergencyUrns(@NonNull java.util.List<java.lang.String>);
15138    method public void setHasKnownUserIntentEmergency(boolean);
15139    method public void updateCallExtras(android.telephony.ims.ImsCallProfile);
15140    method public void updateCallType(android.telephony.ims.ImsCallProfile);
15141    method public void updateMediaProfile(android.telephony.ims.ImsCallProfile);
15142    method public void writeToParcel(android.os.Parcel, int);
15143    field public static final int CALL_RESTRICT_CAUSE_DISABLED = 2; // 0x2
15144    field public static final int CALL_RESTRICT_CAUSE_HD = 3; // 0x3
15145    field public static final int CALL_RESTRICT_CAUSE_NONE = 0; // 0x0
15146    field public static final int CALL_RESTRICT_CAUSE_RAT = 1; // 0x1
15147    field public static final int CALL_TYPE_VIDEO_N_VOICE = 3; // 0x3
15148    field public static final int CALL_TYPE_VOICE = 2; // 0x2
15149    field public static final int CALL_TYPE_VOICE_N_VIDEO = 1; // 0x1
15150    field public static final int CALL_TYPE_VS = 8; // 0x8
15151    field public static final int CALL_TYPE_VS_RX = 10; // 0xa
15152    field public static final int CALL_TYPE_VS_TX = 9; // 0x9
15153    field public static final int CALL_TYPE_VT = 4; // 0x4
15154    field public static final int CALL_TYPE_VT_NODIR = 7; // 0x7
15155    field public static final int CALL_TYPE_VT_RX = 6; // 0x6
15156    field public static final int CALL_TYPE_VT_TX = 5; // 0x5
15157    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsCallProfile> CREATOR;
15158    field public static final int DIALSTRING_NORMAL = 0; // 0x0
15159    field public static final int DIALSTRING_SS_CONF = 1; // 0x1
15160    field public static final int DIALSTRING_USSD = 2; // 0x2
15161    field public static final String EXTRA_ADDITIONAL_CALL_INFO = "AdditionalCallInfo";
15162    field public static final String EXTRA_ADDITIONAL_SIP_INVITE_FIELDS = "android.telephony.ims.extra.ADDITIONAL_SIP_INVITE_FIELDS";
15163    field public static final String EXTRA_CALL_DISCONNECT_CAUSE = "android.telephony.ims.extra.CALL_DISCONNECT_CAUSE";
15164    field public static final String EXTRA_CALL_NETWORK_TYPE = "android.telephony.ims.extra.CALL_NETWORK_TYPE";
15165    field @Deprecated public static final String EXTRA_CALL_RAT_TYPE = "CallRadioTech";
15166    field public static final String EXTRA_CALL_SUBJECT = "android.telephony.ims.extra.CALL_SUBJECT";
15167    field public static final String EXTRA_CHILD_NUMBER = "ChildNum";
15168    field public static final String EXTRA_CNA = "cna";
15169    field public static final String EXTRA_CNAP = "cnap";
15170    field public static final String EXTRA_CODEC = "Codec";
15171    field public static final String EXTRA_CONFERENCE = "android.telephony.ims.extra.CONFERENCE";
15172    field public static final String EXTRA_DIALSTRING = "dialstring";
15173    field public static final String EXTRA_DISPLAY_TEXT = "DisplayText";
15174    field public static final String EXTRA_EMERGENCY_CALL = "e_call";
15175    field public static final String EXTRA_EXTENDING_TO_CONFERENCE_SUPPORTED = "android.telephony.ims.extra.EXTENDING_TO_CONFERENCE_SUPPORTED";
15176    field public static final String EXTRA_FORWARDED_NUMBER = "android.telephony.ims.extra.FORWARDED_NUMBER";
15177    field public static final String EXTRA_IS_BUSINESS_CALL = "android.telephony.ims.extra.IS_BUSINESS_CALL";
15178    field public static final String EXTRA_IS_CALL_PULL = "CallPull";
15179    field public static final String EXTRA_IS_CROSS_SIM_CALL = "android.telephony.ims.extra.IS_CROSS_SIM_CALL";
15180    field public static final String EXTRA_LOCATION = "android.telephony.ims.extra.LOCATION";
15181    field public static final String EXTRA_OI = "oi";
15182    field public static final String EXTRA_OIR = "oir";
15183    field public static final String EXTRA_PICTURE_URL = "android.telephony.ims.extra.PICTURE_URL";
15184    field public static final String EXTRA_PRIORITY = "android.telephony.ims.extra.PRIORITY";
15185    field public static final String EXTRA_REMOTE_URI = "remote_uri";
15186    field public static final String EXTRA_USSD = "ussd";
15187    field public static final int OIR_DEFAULT = 0; // 0x0
15188    field public static final int OIR_PRESENTATION_NOT_RESTRICTED = 2; // 0x2
15189    field public static final int OIR_PRESENTATION_PAYPHONE = 4; // 0x4
15190    field public static final int OIR_PRESENTATION_RESTRICTED = 1; // 0x1
15191    field public static final int OIR_PRESENTATION_UNKNOWN = 3; // 0x3
15192    field public static final int PRIORITY_NORMAL = 0; // 0x0
15193    field public static final int PRIORITY_URGENT = 1; // 0x1
15194    field public static final int SERVICE_TYPE_EMERGENCY = 2; // 0x2
15195    field public static final int SERVICE_TYPE_NONE = 0; // 0x0
15196    field public static final int SERVICE_TYPE_NORMAL = 1; // 0x1
15197    field public static final int VERIFICATION_STATUS_FAILED = 2; // 0x2
15198    field public static final int VERIFICATION_STATUS_NOT_VERIFIED = 0; // 0x0
15199    field public static final int VERIFICATION_STATUS_PASSED = 1; // 0x1
15200  }
15201
15202  public class ImsCallSessionListener {
15203    method public void callQualityChanged(@NonNull android.telephony.CallQuality);
15204    method public void callSessionConferenceExtendFailed(android.telephony.ims.ImsReasonInfo);
15205    method public void callSessionConferenceExtendReceived(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
15206    method public void callSessionConferenceExtended(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
15207    method public void callSessionConferenceStateUpdated(android.telephony.ims.ImsConferenceState);
15208    method public void callSessionDtmfReceived(char);
15209    method @Deprecated public void callSessionHandover(int, int, android.telephony.ims.ImsReasonInfo);
15210    method @Deprecated public void callSessionHandoverFailed(int, int, android.telephony.ims.ImsReasonInfo);
15211    method public void callSessionHeld(android.telephony.ims.ImsCallProfile);
15212    method public void callSessionHoldFailed(android.telephony.ims.ImsReasonInfo);
15213    method public void callSessionHoldReceived(android.telephony.ims.ImsCallProfile);
15214    method public void callSessionInitiated(android.telephony.ims.ImsCallProfile);
15215    method @Deprecated public void callSessionInitiatedFailed(android.telephony.ims.ImsReasonInfo);
15216    method public void callSessionInitiating(@NonNull android.telephony.ims.ImsCallProfile);
15217    method public void callSessionInitiatingFailed(@NonNull android.telephony.ims.ImsReasonInfo);
15218    method public void callSessionInviteParticipantsRequestDelivered();
15219    method public void callSessionInviteParticipantsRequestFailed(android.telephony.ims.ImsReasonInfo);
15220    method @Deprecated public void callSessionMayHandover(int, int);
15221    method public void callSessionMergeComplete(android.telephony.ims.stub.ImsCallSessionImplBase);
15222    method public void callSessionMergeFailed(android.telephony.ims.ImsReasonInfo);
15223    method public void callSessionMergeStarted(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
15224    method public void callSessionMultipartyStateChanged(boolean);
15225    method public void callSessionProgressing(android.telephony.ims.ImsStreamMediaProfile);
15226    method public void callSessionRemoveParticipantsRequestDelivered();
15227    method public void callSessionRemoveParticipantsRequestFailed(android.telephony.ims.ImsReasonInfo);
15228    method public void callSessionResumeFailed(android.telephony.ims.ImsReasonInfo);
15229    method public void callSessionResumeReceived(android.telephony.ims.ImsCallProfile);
15230    method public void callSessionResumed(android.telephony.ims.ImsCallProfile);
15231    method public void callSessionRtpHeaderExtensionsReceived(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtension>);
15232    method public void callSessionRttAudioIndicatorChanged(@NonNull android.telephony.ims.ImsStreamMediaProfile);
15233    method public void callSessionRttMessageReceived(String);
15234    method public void callSessionRttModifyRequestReceived(android.telephony.ims.ImsCallProfile);
15235    method public void callSessionRttModifyResponseReceived(int);
15236    method public void callSessionSuppServiceReceived(android.telephony.ims.ImsSuppServiceNotification);
15237    method public void callSessionTerminated(android.telephony.ims.ImsReasonInfo);
15238    method public void callSessionTtyModeReceived(int);
15239    method public void callSessionUpdateFailed(android.telephony.ims.ImsReasonInfo);
15240    method public void callSessionUpdateReceived(android.telephony.ims.ImsCallProfile);
15241    method public void callSessionUpdated(android.telephony.ims.ImsCallProfile);
15242    method public void callSessionUssdMessageReceived(int, String);
15243    method public void onHandover(int, int, @Nullable android.telephony.ims.ImsReasonInfo);
15244    method public void onHandoverFailed(int, int, @NonNull android.telephony.ims.ImsReasonInfo);
15245    method public void onMayHandover(int, int);
15246  }
15247
15248  public final class ImsConferenceState implements android.os.Parcelable {
15249    method public int describeContents();
15250    method public static int getConnectionStateForStatus(String);
15251    method public void writeToParcel(android.os.Parcel, int);
15252    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsConferenceState> CREATOR;
15253    field public static final String DISPLAY_TEXT = "display-text";
15254    field public static final String ENDPOINT = "endpoint";
15255    field public static final String SIP_STATUS_CODE = "sipstatuscode";
15256    field public static final String STATUS = "status";
15257    field public static final String STATUS_ALERTING = "alerting";
15258    field public static final String STATUS_CONNECTED = "connected";
15259    field public static final String STATUS_CONNECT_FAIL = "connect-fail";
15260    field public static final String STATUS_DIALING_IN = "dialing-in";
15261    field public static final String STATUS_DIALING_OUT = "dialing-out";
15262    field public static final String STATUS_DISCONNECTED = "disconnected";
15263    field public static final String STATUS_DISCONNECTING = "disconnecting";
15264    field public static final String STATUS_MUTED_VIA_FOCUS = "muted-via-focus";
15265    field public static final String STATUS_ON_HOLD = "on-hold";
15266    field public static final String STATUS_PENDING = "pending";
15267    field public static final String STATUS_SEND_ONLY = "sendonly";
15268    field public static final String STATUS_SEND_RECV = "sendrecv";
15269    field public static final String USER = "user";
15270    field public final java.util.HashMap<java.lang.String,android.os.Bundle> mParticipants;
15271  }
15272
15273  public final class ImsException extends java.lang.Exception {
15274    ctor public ImsException(@Nullable String);
15275    ctor public ImsException(@Nullable String, int);
15276    ctor public ImsException(@Nullable String, int, @Nullable Throwable);
15277  }
15278
15279  public final class ImsExternalCallState implements android.os.Parcelable {
15280    ctor public ImsExternalCallState(@NonNull String, @NonNull android.net.Uri, @Nullable android.net.Uri, boolean, int, int, boolean);
15281    method public int describeContents();
15282    method @NonNull public android.net.Uri getAddress();
15283    method public int getCallId();
15284    method public int getCallState();
15285    method public int getCallType();
15286    method @Nullable public android.net.Uri getLocalAddress();
15287    method public boolean isCallHeld();
15288    method public boolean isCallPullable();
15289    method public void writeToParcel(android.os.Parcel, int);
15290    field public static final int CALL_STATE_CONFIRMED = 1; // 0x1
15291    field public static final int CALL_STATE_TERMINATED = 2; // 0x2
15292    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsExternalCallState> CREATOR;
15293  }
15294
15295  public class ImsManager {
15296    method @NonNull public android.telephony.ims.SipDelegateManager getSipDelegateManager(int);
15297  }
15298
15299  public class ImsMmTelManager implements android.telephony.ims.RegistrationManager {
15300    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);
15301    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;
15302    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>);
15303    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoWiFiRoamingModeSetting();
15304    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAvailable(int, int);
15305    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCapable(int, int);
15306    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;
15307    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;
15308    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setAdvancedCallingSettingEnabled(boolean);
15309    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCrossSimCallingEnabled(boolean) throws android.telephony.ims.ImsException;
15310    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRttCapabilitySetting(boolean);
15311    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiModeSetting(int);
15312    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiNonPersistent(boolean, int);
15313    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiRoamingModeSetting(int);
15314    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiRoamingSettingEnabled(boolean);
15315    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiSettingEnabled(boolean);
15316    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVtSettingEnabled(boolean);
15317    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterImsRegistrationCallback(@NonNull android.telephony.ims.ImsMmTelManager.RegistrationCallback);
15318  }
15319
15320  @Deprecated public static class ImsMmTelManager.RegistrationCallback extends android.telephony.ims.RegistrationManager.RegistrationCallback {
15321    ctor @Deprecated public ImsMmTelManager.RegistrationCallback();
15322    method @Deprecated public void onRegistered(int);
15323    method @Deprecated public void onRegistering(int);
15324  }
15325
15326  public class ImsRcsManager {
15327    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;
15328    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAvailable(int, int) throws android.telephony.ims.ImsException;
15329    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCapable(int, int) throws android.telephony.ims.ImsException;
15330    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void removeOnAvailabilityChangedListener(@NonNull android.telephony.ims.ImsRcsManager.OnAvailabilityChangedListener);
15331  }
15332
15333  public static interface ImsRcsManager.OnAvailabilityChangedListener {
15334    method public void onAvailabilityChanged(int);
15335  }
15336
15337  public final class ImsReasonInfo implements android.os.Parcelable {
15338    field public static final String EXTRA_MSG_SERVICE_NOT_AUTHORIZED = "Forbidden. Not Authorized for Service";
15339  }
15340
15341  public final class ImsRegistrationAttributes implements android.os.Parcelable {
15342    method public int getRegistrationTechnology();
15343  }
15344
15345  public static final class ImsRegistrationAttributes.Builder {
15346    ctor public ImsRegistrationAttributes.Builder(int);
15347    method @NonNull public android.telephony.ims.ImsRegistrationAttributes build();
15348    method @NonNull public android.telephony.ims.ImsRegistrationAttributes.Builder setFeatureTags(@NonNull java.util.Set<java.lang.String>);
15349  }
15350
15351  public class ImsService extends android.app.Service {
15352    ctor public ImsService();
15353    method public android.telephony.ims.feature.MmTelFeature createMmTelFeature(int);
15354    method public android.telephony.ims.feature.RcsFeature createRcsFeature(int);
15355    method public void disableIms(int);
15356    method public void enableIms(int);
15357    method public android.telephony.ims.stub.ImsConfigImplBase getConfig(int);
15358    method public long getImsServiceCapabilities();
15359    method public android.telephony.ims.stub.ImsRegistrationImplBase getRegistration(int);
15360    method @Nullable public android.telephony.ims.stub.SipTransportImplBase getSipTransport(int);
15361    method public final void onUpdateSupportedImsFeatures(android.telephony.ims.stub.ImsFeatureConfiguration) throws android.os.RemoteException;
15362    method public android.telephony.ims.stub.ImsFeatureConfiguration querySupportedImsFeatures();
15363    method public void readyForFeatureCreation();
15364    field public static final long CAPABILITY_SIP_DELEGATE_CREATION = 2L; // 0x2L
15365  }
15366
15367  public final class ImsSsData implements android.os.Parcelable {
15368    ctor public ImsSsData(int, int, int, int, int);
15369    method public int describeContents();
15370    method @Nullable public java.util.List<android.telephony.ims.ImsCallForwardInfo> getCallForwardInfo();
15371    method public int getRequestType();
15372    method public int getResult();
15373    method public int getServiceClass();
15374    method public int getServiceType();
15375    method @NonNull public java.util.List<android.telephony.ims.ImsSsInfo> getSuppServiceInfo();
15376    method public int getTeleserviceType();
15377    method public boolean isTypeBarring();
15378    method public boolean isTypeCf();
15379    method public boolean isTypeClip();
15380    method public boolean isTypeClir();
15381    method public boolean isTypeColp();
15382    method public boolean isTypeColr();
15383    method public boolean isTypeCw();
15384    method public boolean isTypeIcb();
15385    method public boolean isTypeInterrogation();
15386    method public boolean isTypeUnConditional();
15387    method public void writeToParcel(android.os.Parcel, int);
15388    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSsData> CREATOR;
15389    field public static final int RESULT_SUCCESS = 0; // 0x0
15390    field public static final int SERVICE_CLASS_DATA = 2; // 0x2
15391    field public static final int SERVICE_CLASS_DATA_CIRCUIT_ASYNC = 32; // 0x20
15392    field public static final int SERVICE_CLASS_DATA_CIRCUIT_SYNC = 16; // 0x10
15393    field public static final int SERVICE_CLASS_DATA_PACKET_ACCESS = 64; // 0x40
15394    field public static final int SERVICE_CLASS_DATA_PAD = 128; // 0x80
15395    field public static final int SERVICE_CLASS_FAX = 4; // 0x4
15396    field public static final int SERVICE_CLASS_NONE = 0; // 0x0
15397    field public static final int SERVICE_CLASS_SMS = 8; // 0x8
15398    field public static final int SERVICE_CLASS_VOICE = 1; // 0x1
15399    field public static final int SS_ACTIVATION = 0; // 0x0
15400    field public static final int SS_ALL_BARRING = 18; // 0x12
15401    field public static final int SS_ALL_DATA_TELESERVICES = 3; // 0x3
15402    field public static final int SS_ALL_TELESERVICES_EXCEPT_SMS = 5; // 0x5
15403    field public static final int SS_ALL_TELESEVICES = 1; // 0x1
15404    field public static final int SS_ALL_TELE_AND_BEARER_SERVICES = 0; // 0x0
15405    field public static final int SS_BAIC = 16; // 0x10
15406    field public static final int SS_BAIC_ROAMING = 17; // 0x11
15407    field public static final int SS_BAOC = 13; // 0xd
15408    field public static final int SS_BAOIC = 14; // 0xe
15409    field public static final int SS_BAOIC_EXC_HOME = 15; // 0xf
15410    field public static final int SS_CFU = 0; // 0x0
15411    field public static final int SS_CFUT = 6; // 0x6
15412    field public static final int SS_CF_ALL = 4; // 0x4
15413    field public static final int SS_CF_ALL_CONDITIONAL = 5; // 0x5
15414    field public static final int SS_CF_BUSY = 1; // 0x1
15415    field public static final int SS_CF_NOT_REACHABLE = 3; // 0x3
15416    field public static final int SS_CF_NO_REPLY = 2; // 0x2
15417    field public static final int SS_CLIP = 7; // 0x7
15418    field public static final int SS_CLIR = 8; // 0x8
15419    field public static final int SS_CNAP = 11; // 0xb
15420    field public static final int SS_COLP = 9; // 0x9
15421    field public static final int SS_COLR = 10; // 0xa
15422    field public static final int SS_DEACTIVATION = 1; // 0x1
15423    field public static final int SS_ERASURE = 4; // 0x4
15424    field public static final int SS_INCOMING_BARRING = 20; // 0x14
15425    field public static final int SS_INCOMING_BARRING_ANONYMOUS = 22; // 0x16
15426    field public static final int SS_INCOMING_BARRING_DN = 21; // 0x15
15427    field public static final int SS_INTERROGATION = 2; // 0x2
15428    field public static final int SS_OUTGOING_BARRING = 19; // 0x13
15429    field public static final int SS_REGISTRATION = 3; // 0x3
15430    field public static final int SS_SMS_SERVICES = 4; // 0x4
15431    field public static final int SS_TELEPHONY = 2; // 0x2
15432    field public static final int SS_WAIT = 12; // 0xc
15433  }
15434
15435  public static final class ImsSsData.Builder {
15436    ctor public ImsSsData.Builder(int, int, int, int, int);
15437    method @NonNull public android.telephony.ims.ImsSsData build();
15438    method @NonNull public android.telephony.ims.ImsSsData.Builder setCallForwardingInfo(@NonNull java.util.List<android.telephony.ims.ImsCallForwardInfo>);
15439    method @NonNull public android.telephony.ims.ImsSsData.Builder setSuppServiceInfo(@NonNull java.util.List<android.telephony.ims.ImsSsInfo>);
15440  }
15441
15442  public final class ImsSsInfo implements android.os.Parcelable {
15443    ctor @Deprecated public ImsSsInfo(int, @Nullable String);
15444    method public int describeContents();
15445    method public int getClirInterrogationStatus();
15446    method public int getClirOutgoingState();
15447    method @Deprecated public String getIcbNum();
15448    method @Nullable public String getIncomingCommunicationBarringNumber();
15449    method public int getProvisionStatus();
15450    method public int getStatus();
15451    method public void writeToParcel(android.os.Parcel, int);
15452    field public static final int CLIR_OUTGOING_DEFAULT = 0; // 0x0
15453    field public static final int CLIR_OUTGOING_INVOCATION = 1; // 0x1
15454    field public static final int CLIR_OUTGOING_SUPPRESSION = 2; // 0x2
15455    field public static final int CLIR_STATUS_NOT_PROVISIONED = 0; // 0x0
15456    field public static final int CLIR_STATUS_PROVISIONED_PERMANENT = 1; // 0x1
15457    field public static final int CLIR_STATUS_TEMPORARILY_ALLOWED = 4; // 0x4
15458    field public static final int CLIR_STATUS_TEMPORARILY_RESTRICTED = 3; // 0x3
15459    field public static final int CLIR_STATUS_UNKNOWN = 2; // 0x2
15460    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSsInfo> CREATOR;
15461    field public static final int DISABLED = 0; // 0x0
15462    field public static final int ENABLED = 1; // 0x1
15463    field public static final int NOT_REGISTERED = -1; // 0xffffffff
15464    field public static final int SERVICE_NOT_PROVISIONED = 0; // 0x0
15465    field public static final int SERVICE_PROVISIONED = 1; // 0x1
15466    field public static final int SERVICE_PROVISIONING_UNKNOWN = -1; // 0xffffffff
15467  }
15468
15469  public static final class ImsSsInfo.Builder {
15470    ctor public ImsSsInfo.Builder(int);
15471    method @NonNull public android.telephony.ims.ImsSsInfo build();
15472    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setClirInterrogationStatus(int);
15473    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setClirOutgoingState(int);
15474    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setIncomingCommunicationBarringNumber(@NonNull String);
15475    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setProvisionStatus(int);
15476  }
15477
15478  public final class ImsStreamMediaProfile implements android.os.Parcelable {
15479    ctor public ImsStreamMediaProfile(int, int, int, int, int);
15480    method public void copyFrom(android.telephony.ims.ImsStreamMediaProfile);
15481    method public int describeContents();
15482    method @Nullable public android.telephony.ims.AudioCodecAttributes getAudioCodecAttributes();
15483    method public int getAudioDirection();
15484    method public int getAudioQuality();
15485    method public int getRttMode();
15486    method public int getVideoDirection();
15487    method public int getVideoQuality();
15488    method public boolean isReceivingRttAudio();
15489    method public boolean isRttCall();
15490    method public void setAudioCodecAttributes(@NonNull android.telephony.ims.AudioCodecAttributes);
15491    method public void setReceivingRttAudio(boolean);
15492    method public void setRttMode(int);
15493    method public void writeToParcel(android.os.Parcel, int);
15494    field public static final int AUDIO_QUALITY_AMR = 1; // 0x1
15495    field public static final int AUDIO_QUALITY_AMR_WB = 2; // 0x2
15496    field public static final int AUDIO_QUALITY_EVRC = 4; // 0x4
15497    field public static final int AUDIO_QUALITY_EVRC_B = 5; // 0x5
15498    field public static final int AUDIO_QUALITY_EVRC_NW = 7; // 0x7
15499    field public static final int AUDIO_QUALITY_EVRC_WB = 6; // 0x6
15500    field public static final int AUDIO_QUALITY_EVS_FB = 20; // 0x14
15501    field public static final int AUDIO_QUALITY_EVS_NB = 17; // 0x11
15502    field public static final int AUDIO_QUALITY_EVS_SWB = 19; // 0x13
15503    field public static final int AUDIO_QUALITY_EVS_WB = 18; // 0x12
15504    field public static final int AUDIO_QUALITY_G711A = 13; // 0xd
15505    field public static final int AUDIO_QUALITY_G711AB = 15; // 0xf
15506    field public static final int AUDIO_QUALITY_G711U = 11; // 0xb
15507    field public static final int AUDIO_QUALITY_G722 = 14; // 0xe
15508    field public static final int AUDIO_QUALITY_G723 = 12; // 0xc
15509    field public static final int AUDIO_QUALITY_G729 = 16; // 0x10
15510    field public static final int AUDIO_QUALITY_GSM_EFR = 8; // 0x8
15511    field public static final int AUDIO_QUALITY_GSM_FR = 9; // 0x9
15512    field public static final int AUDIO_QUALITY_GSM_HR = 10; // 0xa
15513    field public static final int AUDIO_QUALITY_NONE = 0; // 0x0
15514    field public static final int AUDIO_QUALITY_QCELP13K = 3; // 0x3
15515    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsStreamMediaProfile> CREATOR;
15516    field public static final int DIRECTION_INACTIVE = 0; // 0x0
15517    field public static final int DIRECTION_INVALID = -1; // 0xffffffff
15518    field public static final int DIRECTION_RECEIVE = 1; // 0x1
15519    field public static final int DIRECTION_SEND = 2; // 0x2
15520    field public static final int DIRECTION_SEND_RECEIVE = 3; // 0x3
15521    field public static final int RTT_MODE_DISABLED = 0; // 0x0
15522    field public static final int RTT_MODE_FULL = 1; // 0x1
15523    field public static final int VIDEO_QUALITY_NONE = 0; // 0x0
15524    field public static final int VIDEO_QUALITY_QCIF = 1; // 0x1
15525    field public static final int VIDEO_QUALITY_QVGA_LANDSCAPE = 2; // 0x2
15526    field public static final int VIDEO_QUALITY_QVGA_PORTRAIT = 4; // 0x4
15527    field public static final int VIDEO_QUALITY_VGA_LANDSCAPE = 8; // 0x8
15528    field public static final int VIDEO_QUALITY_VGA_PORTRAIT = 16; // 0x10
15529  }
15530
15531  public final class ImsSuppServiceNotification implements android.os.Parcelable {
15532    ctor public ImsSuppServiceNotification(int, int, int, int, String, String[]);
15533    method public int describeContents();
15534    method public void writeToParcel(android.os.Parcel, int);
15535    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSuppServiceNotification> CREATOR;
15536    field public final int code;
15537    field public final String[] history;
15538    field public final int index;
15539    field public final int notificationType;
15540    field public final String number;
15541    field public final int type;
15542  }
15543
15544  public class ImsUtListener {
15545    method public void onLineIdentificationSupplementaryServiceResponse(int, @NonNull android.telephony.ims.ImsSsInfo);
15546    method public void onSupplementaryServiceIndication(android.telephony.ims.ImsSsData);
15547    method public void onUtConfigurationCallBarringQueried(int, android.telephony.ims.ImsSsInfo[]);
15548    method public void onUtConfigurationCallForwardQueried(int, android.telephony.ims.ImsCallForwardInfo[]);
15549    method public void onUtConfigurationCallWaitingQueried(int, android.telephony.ims.ImsSsInfo[]);
15550    method @Deprecated public void onUtConfigurationQueried(int, android.os.Bundle);
15551    method public void onUtConfigurationQueryFailed(int, android.telephony.ims.ImsReasonInfo);
15552    method public void onUtConfigurationUpdateFailed(int, android.telephony.ims.ImsReasonInfo);
15553    method public void onUtConfigurationUpdated(int);
15554    field @Deprecated public static final String BUNDLE_KEY_CLIR = "queryClir";
15555    field @Deprecated public static final String BUNDLE_KEY_SSINFO = "imsSsInfo";
15556  }
15557
15558  public abstract class ImsVideoCallProvider {
15559    ctor public ImsVideoCallProvider();
15560    method public void changeCallDataUsage(long);
15561    method public void changeCameraCapabilities(android.telecom.VideoProfile.CameraCapabilities);
15562    method public void changePeerDimensions(int, int);
15563    method public void changeVideoQuality(int);
15564    method public void handleCallSessionEvent(int);
15565    method public abstract void onRequestCallDataUsage();
15566    method public abstract void onRequestCameraCapabilities();
15567    method public abstract void onSendSessionModifyRequest(android.telecom.VideoProfile, android.telecom.VideoProfile);
15568    method public abstract void onSendSessionModifyResponse(android.telecom.VideoProfile);
15569    method public abstract void onSetCamera(String);
15570    method public void onSetCamera(String, int);
15571    method public abstract void onSetDeviceOrientation(int);
15572    method public abstract void onSetDisplaySurface(android.view.Surface);
15573    method public abstract void onSetPauseImage(android.net.Uri);
15574    method public abstract void onSetPreviewSurface(android.view.Surface);
15575    method public abstract void onSetZoom(float);
15576    method public void receiveSessionModifyRequest(android.telecom.VideoProfile);
15577    method public void receiveSessionModifyResponse(int, android.telecom.VideoProfile, android.telecom.VideoProfile);
15578  }
15579
15580  public class ProvisioningManager {
15581    method @NonNull public static android.telephony.ims.ProvisioningManager createForSubscriptionId(int);
15582    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public int getProvisioningIntValue(int);
15583    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean getProvisioningStatusForCapability(int, int);
15584    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public String getProvisioningStringValue(int);
15585    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean getRcsProvisioningStatusForCapability(int);
15586    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;
15587    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean);
15588    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;
15589    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;
15590    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningIntValue(int, int);
15591    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void setProvisioningStatusForCapability(int, int, boolean);
15592    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningStringValue(int, @NonNull String);
15593    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void setRcsClientConfiguration(@NonNull android.telephony.ims.RcsClientConfiguration) throws android.telephony.ims.ImsException;
15594    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void setRcsProvisioningStatusForCapability(int, boolean);
15595    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void triggerRcsReconfiguration();
15596    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterProvisioningChangedCallback(@NonNull android.telephony.ims.ProvisioningManager.Callback);
15597    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);
15598    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";
15599    field public static final String EXTRA_STATUS = "android.telephony.ims.extra.STATUS";
15600    field public static final String EXTRA_SUBSCRIPTION_ID = "android.telephony.ims.extra.SUBSCRIPTION_ID";
15601    field public static final int KEY_VOICE_OVER_WIFI_ENTITLEMENT_ID = 67; // 0x43
15602    field public static final int KEY_VOICE_OVER_WIFI_MODE_OVERRIDE = 27; // 0x1b
15603    field public static final int KEY_VOICE_OVER_WIFI_ROAMING_ENABLED_OVERRIDE = 26; // 0x1a
15604    field public static final int PROVISIONING_VALUE_DISABLED = 0; // 0x0
15605    field public static final int PROVISIONING_VALUE_ENABLED = 1; // 0x1
15606    field public static final int STATUS_CAPABLE = 0; // 0x0
15607    field public static final int STATUS_CARRIER_NOT_CAPABLE = 2; // 0x2
15608    field public static final int STATUS_DEVICE_NOT_CAPABLE = 1; // 0x1
15609    field public static final String STRING_QUERY_RESULT_ERROR_GENERIC = "STRING_QUERY_RESULT_ERROR_GENERIC";
15610    field public static final String STRING_QUERY_RESULT_ERROR_NOT_READY = "STRING_QUERY_RESULT_ERROR_NOT_READY";
15611  }
15612
15613  public static class ProvisioningManager.Callback {
15614    ctor public ProvisioningManager.Callback();
15615    method public void onProvisioningIntChanged(int, int);
15616    method public void onProvisioningStringChanged(int, @NonNull String);
15617  }
15618
15619  public static class ProvisioningManager.RcsProvisioningCallback {
15620    ctor public ProvisioningManager.RcsProvisioningCallback();
15621    method public void onAutoConfigurationErrorReceived(int, @NonNull String);
15622    method public void onConfigurationChanged(@NonNull byte[]);
15623    method public void onConfigurationReset();
15624    method public void onPreProvisioningReceived(@NonNull byte[]);
15625    method public void onRemoved();
15626  }
15627
15628  public final class RcsClientConfiguration implements android.os.Parcelable {
15629    ctor public RcsClientConfiguration(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
15630    method public int describeContents();
15631    method @NonNull public String getClientVendor();
15632    method @NonNull public String getClientVersion();
15633    method @NonNull public String getRcsProfile();
15634    method @NonNull public String getRcsVersion();
15635    method public void writeToParcel(@NonNull android.os.Parcel, int);
15636    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsClientConfiguration> CREATOR;
15637    field public static final String RCS_PROFILE_1_0 = "UP_1.0";
15638    field public static final String RCS_PROFILE_2_3 = "UP_2.3";
15639  }
15640
15641  public final class RcsContactPresenceTuple implements android.os.Parcelable {
15642    method public int describeContents();
15643    method @Nullable public android.net.Uri getContactUri();
15644    method @Nullable public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities getServiceCapabilities();
15645    method @Nullable public String getServiceDescription();
15646    method @NonNull public String getServiceId();
15647    method @NonNull public String getServiceVersion();
15648    method @NonNull public String getStatus();
15649    method @Nullable public java.time.Instant getTime();
15650    method public void writeToParcel(@NonNull android.os.Parcel, int);
15651    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactPresenceTuple> CREATOR;
15652    field public static final String SERVICE_ID_CALL_COMPOSER = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.callcomposer";
15653    field public static final String SERVICE_ID_CHATBOT = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.chatbot";
15654    field public static final String SERVICE_ID_CHATBOT_ROLE = "org.gsma.rcs.isbot";
15655    field public static final String SERVICE_ID_CHATBOT_STANDALONE = " org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.chatbot.sa";
15656    field public static final String SERVICE_ID_CHAT_V1 = "org.openmobilealliance:IM-session";
15657    field public static final String SERVICE_ID_CHAT_V2 = "org.openmobilealliance:ChatSession";
15658    field public static final String SERVICE_ID_FT = "org.openmobilealliance:File-Transfer-HTTP";
15659    field public static final String SERVICE_ID_FT_OVER_SMS = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.ftsms";
15660    field public static final String SERVICE_ID_GEO_PUSH = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.geopush";
15661    field public static final String SERVICE_ID_GEO_PUSH_VIA_SMS = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.geosms";
15662    field public static final String SERVICE_ID_MMTEL = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.mmtel";
15663    field public static final String SERVICE_ID_POST_CALL = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.callunanswered";
15664    field public static final String SERVICE_ID_SHARED_MAP = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.sharedmap";
15665    field public static final String SERVICE_ID_SHARED_SKETCH = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.sharedsketch";
15666    field public static final String TUPLE_BASIC_STATUS_CLOSED = "closed";
15667    field public static final String TUPLE_BASIC_STATUS_OPEN = "open";
15668  }
15669
15670  public static final class RcsContactPresenceTuple.Builder {
15671    ctor public RcsContactPresenceTuple.Builder(@NonNull String, @NonNull String, @NonNull String);
15672    method @NonNull public android.telephony.ims.RcsContactPresenceTuple build();
15673    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setContactUri(@NonNull android.net.Uri);
15674    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setServiceCapabilities(@NonNull android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities);
15675    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setServiceDescription(@NonNull String);
15676    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setTime(@NonNull java.time.Instant);
15677  }
15678
15679  public static final class RcsContactPresenceTuple.ServiceCapabilities implements android.os.Parcelable {
15680    method public int describeContents();
15681    method @NonNull public java.util.List<java.lang.String> getSupportedDuplexModes();
15682    method @NonNull public java.util.List<java.lang.String> getUnsupportedDuplexModes();
15683    method public boolean isAudioCapable();
15684    method public boolean isVideoCapable();
15685    method public void writeToParcel(@NonNull android.os.Parcel, int);
15686    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities> CREATOR;
15687    field public static final String DUPLEX_MODE_FULL = "full";
15688    field public static final String DUPLEX_MODE_HALF = "half";
15689    field public static final String DUPLEX_MODE_RECEIVE_ONLY = "receive-only";
15690    field public static final String DUPLEX_MODE_SEND_ONLY = "send-only";
15691  }
15692
15693  public static final class RcsContactPresenceTuple.ServiceCapabilities.Builder {
15694    ctor public RcsContactPresenceTuple.ServiceCapabilities.Builder(boolean, boolean);
15695    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities.Builder addSupportedDuplexMode(@NonNull String);
15696    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities.Builder addUnsupportedDuplexMode(@NonNull String);
15697    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities build();
15698  }
15699
15700  public final class RcsContactUceCapability implements android.os.Parcelable {
15701    method public int describeContents();
15702    method public int getCapabilityMechanism();
15703    method @Nullable public android.telephony.ims.RcsContactPresenceTuple getCapabilityTuple(@NonNull String);
15704    method @NonNull public java.util.List<android.telephony.ims.RcsContactPresenceTuple> getCapabilityTuples();
15705    method @NonNull public android.net.Uri getContactUri();
15706    method @NonNull public java.util.Set<java.lang.String> getFeatureTags();
15707    method public int getRequestResult();
15708    method public int getSourceType();
15709    method public void writeToParcel(@NonNull android.os.Parcel, int);
15710    field public static final int CAPABILITY_MECHANISM_OPTIONS = 2; // 0x2
15711    field public static final int CAPABILITY_MECHANISM_PRESENCE = 1; // 0x1
15712    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactUceCapability> CREATOR;
15713    field public static final int REQUEST_RESULT_FOUND = 3; // 0x3
15714    field public static final int REQUEST_RESULT_NOT_FOUND = 2; // 0x2
15715    field public static final int REQUEST_RESULT_NOT_ONLINE = 1; // 0x1
15716    field public static final int REQUEST_RESULT_UNKNOWN = 0; // 0x0
15717    field public static final int SOURCE_TYPE_CACHED = 1; // 0x1
15718    field public static final int SOURCE_TYPE_NETWORK = 0; // 0x0
15719  }
15720
15721  public static final class RcsContactUceCapability.OptionsBuilder {
15722    ctor public RcsContactUceCapability.OptionsBuilder(@NonNull android.net.Uri);
15723    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder addFeatureTag(@NonNull String);
15724    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder addFeatureTags(@NonNull java.util.Set<java.lang.String>);
15725    method @NonNull public android.telephony.ims.RcsContactUceCapability build();
15726    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder setRequestResult(int);
15727  }
15728
15729  public static final class RcsContactUceCapability.PresenceBuilder {
15730    ctor public RcsContactUceCapability.PresenceBuilder(@NonNull android.net.Uri, int, int);
15731    method @NonNull public android.telephony.ims.RcsContactUceCapability.PresenceBuilder addCapabilityTuple(@NonNull android.telephony.ims.RcsContactPresenceTuple);
15732    method @NonNull public android.telephony.ims.RcsContactUceCapability.PresenceBuilder addCapabilityTuples(@NonNull java.util.List<android.telephony.ims.RcsContactPresenceTuple>);
15733    method @NonNull public android.telephony.ims.RcsContactUceCapability build();
15734  }
15735
15736  public class RcsUceAdapter {
15737    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;
15738    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getUcePublishState() throws android.telephony.ims.ImsException;
15739    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void removeOnPublishStateChangedListener(@NonNull android.telephony.ims.RcsUceAdapter.OnPublishStateChangedListener) throws android.telephony.ims.ImsException;
15740    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;
15741    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;
15742    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUceSettingEnabled(boolean) throws android.telephony.ims.ImsException;
15743    field public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
15744    field public static final int CAPABILITY_UPDATE_TRIGGER_ETAG_EXPIRED = 1; // 0x1
15745    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_2G = 7; // 0x7
15746    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_3G = 6; // 0x6
15747    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_EHRPD = 4; // 0x4
15748    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_HSPAPLUS = 5; // 0x5
15749    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_IWLAN = 9; // 0x9
15750    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_DISABLED = 2; // 0x2
15751    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_ENABLED = 3; // 0x3
15752    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_DISABLED = 10; // 0xa
15753    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_ENABLED = 11; // 0xb
15754    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_WLAN = 8; // 0x8
15755    field public static final int CAPABILITY_UPDATE_TRIGGER_UNKNOWN = 0; // 0x0
15756    field public static final int ERROR_FORBIDDEN = 6; // 0x6
15757    field public static final int ERROR_GENERIC_FAILURE = 1; // 0x1
15758    field public static final int ERROR_INSUFFICIENT_MEMORY = 10; // 0xa
15759    field public static final int ERROR_LOST_NETWORK = 11; // 0xb
15760    field public static final int ERROR_NOT_AUTHORIZED = 5; // 0x5
15761    field public static final int ERROR_NOT_AVAILABLE = 3; // 0x3
15762    field public static final int ERROR_NOT_ENABLED = 2; // 0x2
15763    field public static final int ERROR_NOT_FOUND = 7; // 0x7
15764    field public static final int ERROR_NOT_REGISTERED = 4; // 0x4
15765    field public static final int ERROR_REQUEST_TIMEOUT = 9; // 0x9
15766    field public static final int ERROR_REQUEST_TOO_LARGE = 8; // 0x8
15767    field public static final int ERROR_SERVER_UNAVAILABLE = 12; // 0xc
15768    field public static final int PUBLISH_STATE_NOT_PUBLISHED = 2; // 0x2
15769    field public static final int PUBLISH_STATE_OK = 1; // 0x1
15770    field public static final int PUBLISH_STATE_OTHER_ERROR = 6; // 0x6
15771    field public static final int PUBLISH_STATE_RCS_PROVISION_ERROR = 4; // 0x4
15772    field public static final int PUBLISH_STATE_REQUEST_TIMEOUT = 5; // 0x5
15773    field public static final int PUBLISH_STATE_VOICE_PROVISION_ERROR = 3; // 0x3
15774  }
15775
15776  public static interface RcsUceAdapter.CapabilitiesCallback {
15777    method public void onCapabilitiesReceived(@NonNull java.util.List<android.telephony.ims.RcsContactUceCapability>);
15778    method public void onComplete();
15779    method public void onError(int, long);
15780  }
15781
15782  public static interface RcsUceAdapter.OnPublishStateChangedListener {
15783    method public void onPublishStateChange(int);
15784  }
15785
15786  public final class RtpHeaderExtension implements android.os.Parcelable {
15787    ctor public RtpHeaderExtension(@IntRange(from=1, to=14) int, @NonNull byte[]);
15788    method public int describeContents();
15789    method @NonNull public byte[] getExtensionData();
15790    method @IntRange(from=1, to=14) public int getLocalIdentifier();
15791    method public void writeToParcel(@NonNull android.os.Parcel, int);
15792    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RtpHeaderExtension> CREATOR;
15793  }
15794
15795  public final class RtpHeaderExtensionType implements android.os.Parcelable {
15796    ctor public RtpHeaderExtensionType(@IntRange(from=1, to=14) int, @NonNull android.net.Uri);
15797    method public int describeContents();
15798    method @IntRange(from=1, to=14) public int getLocalIdentifier();
15799    method @NonNull public android.net.Uri getUri();
15800    method public void writeToParcel(@NonNull android.os.Parcel, int);
15801    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RtpHeaderExtensionType> CREATOR;
15802  }
15803
15804  public final class SipDelegateConfiguration implements android.os.Parcelable {
15805    method public int describeContents();
15806    method @Nullable public String getHomeDomain();
15807    method @Nullable public String getImei();
15808    method @Nullable public android.telephony.ims.SipDelegateConfiguration.IpSecConfiguration getIpSecConfiguration();
15809    method @NonNull public java.net.InetSocketAddress getLocalAddress();
15810    method public int getMaxUdpPayloadSizeBytes();
15811    method @Nullable public java.net.InetSocketAddress getNatSocketAddress();
15812    method @Nullable public String getPrivateUserIdentifier();
15813    method @Nullable public android.net.Uri getPublicGruuUri();
15814    method @Nullable public String getPublicUserIdentifier();
15815    method @Nullable public String getSipAssociatedUriHeader();
15816    method @Nullable public String getSipAuthenticationHeader();
15817    method @Nullable public String getSipAuthenticationNonce();
15818    method @Nullable public String getSipCniHeader();
15819    method @Nullable public String getSipContactUserParameter();
15820    method @Nullable public String getSipPaniHeader();
15821    method @Nullable public String getSipPathHeader();
15822    method @Nullable public String getSipPlaniHeader();
15823    method @NonNull public java.net.InetSocketAddress getSipServerAddress();
15824    method @Nullable public String getSipServiceRouteHeader();
15825    method @Nullable public String getSipUserAgentHeader();
15826    method public int getTransportType();
15827    method @IntRange(from=0) public long getVersion();
15828    method public boolean isSipCompactFormEnabled();
15829    method public boolean isSipKeepaliveEnabled();
15830    method public void writeToParcel(@NonNull android.os.Parcel, int);
15831    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipDelegateConfiguration> CREATOR;
15832    field public static final int SIP_TRANSPORT_TCP = 1; // 0x1
15833    field public static final int SIP_TRANSPORT_UDP = 0; // 0x0
15834    field public static final int UDP_PAYLOAD_SIZE_UNDEFINED = -1; // 0xffffffff
15835  }
15836
15837  public static final class SipDelegateConfiguration.Builder {
15838    ctor public SipDelegateConfiguration.Builder(@IntRange(from=0) long, int, @NonNull java.net.InetSocketAddress, @NonNull java.net.InetSocketAddress);
15839    ctor public SipDelegateConfiguration.Builder(@NonNull android.telephony.ims.SipDelegateConfiguration);
15840    method @NonNull public android.telephony.ims.SipDelegateConfiguration build();
15841    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setHomeDomain(@Nullable String);
15842    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setImei(@Nullable String);
15843    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setIpSecConfiguration(@Nullable android.telephony.ims.SipDelegateConfiguration.IpSecConfiguration);
15844    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setMaxUdpPayloadSizeBytes(@IntRange(from=1) int);
15845    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setNatSocketAddress(@Nullable java.net.InetSocketAddress);
15846    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPrivateUserIdentifier(@Nullable String);
15847    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPublicGruuUri(@Nullable android.net.Uri);
15848    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPublicUserIdentifier(@Nullable String);
15849    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAssociatedUriHeader(@Nullable String);
15850    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAuthenticationHeader(@Nullable String);
15851    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAuthenticationNonce(@Nullable String);
15852    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipCniHeader(@Nullable String);
15853    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipCompactFormEnabled(boolean);
15854    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipContactUserParameter(@Nullable String);
15855    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipKeepaliveEnabled(boolean);
15856    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPaniHeader(@Nullable String);
15857    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPathHeader(@Nullable String);
15858    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPlaniHeader(@Nullable String);
15859    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipServiceRouteHeader(@Nullable String);
15860    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipUserAgentHeader(@Nullable String);
15861  }
15862
15863  public static final class SipDelegateConfiguration.IpSecConfiguration {
15864    ctor public SipDelegateConfiguration.IpSecConfiguration(int, int, int, int, int, int, @NonNull String);
15865    method public int getLastLocalTxPort();
15866    method public int getLastRemoteTxPort();
15867    method public int getLocalRxPort();
15868    method public int getLocalTxPort();
15869    method public int getRemoteRxPort();
15870    method public int getRemoteTxPort();
15871    method @NonNull public String getSipSecurityVerifyHeader();
15872  }
15873
15874  public interface SipDelegateConnection {
15875    method public void cleanupSession(@NonNull String);
15876    method public void notifyMessageReceiveError(@NonNull String, int);
15877    method public void notifyMessageReceived(@NonNull String);
15878    method public void sendMessage(@NonNull android.telephony.ims.SipMessage, long);
15879  }
15880
15881  public class SipDelegateManager {
15882    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;
15883    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void destroySipDelegate(@NonNull android.telephony.ims.SipDelegateConnection, int);
15884    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;
15885    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);
15886    field public static final int DENIED_REASON_INVALID = 4; // 0x4
15887    field public static final int DENIED_REASON_IN_USE_BY_ANOTHER_DELEGATE = 1; // 0x1
15888    field public static final int DENIED_REASON_NOT_ALLOWED = 2; // 0x2
15889    field public static final int DENIED_REASON_SINGLE_REGISTRATION_NOT_ALLOWED = 3; // 0x3
15890    field public static final int DENIED_REASON_UNKNOWN = 0; // 0x0
15891    field public static final int MESSAGE_FAILURE_REASON_DELEGATE_CLOSED = 2; // 0x2
15892    field public static final int MESSAGE_FAILURE_REASON_DELEGATE_DEAD = 1; // 0x1
15893    field public static final int MESSAGE_FAILURE_REASON_INTERNAL_DELEGATE_STATE_TRANSITION = 11; // 0xb
15894    field public static final int MESSAGE_FAILURE_REASON_INVALID_BODY_CONTENT = 5; // 0x5
15895    field public static final int MESSAGE_FAILURE_REASON_INVALID_FEATURE_TAG = 6; // 0x6
15896    field public static final int MESSAGE_FAILURE_REASON_INVALID_HEADER_FIELDS = 4; // 0x4
15897    field public static final int MESSAGE_FAILURE_REASON_INVALID_START_LINE = 3; // 0x3
15898    field public static final int MESSAGE_FAILURE_REASON_NETWORK_NOT_AVAILABLE = 8; // 0x8
15899    field public static final int MESSAGE_FAILURE_REASON_NOT_REGISTERED = 9; // 0x9
15900    field public static final int MESSAGE_FAILURE_REASON_STALE_IMS_CONFIGURATION = 10; // 0xa
15901    field public static final int MESSAGE_FAILURE_REASON_TAG_NOT_ENABLED_FOR_DELEGATE = 7; // 0x7
15902    field public static final int MESSAGE_FAILURE_REASON_UNKNOWN = 0; // 0x0
15903    field public static final int SIP_DELEGATE_DESTROY_REASON_REQUESTED_BY_APP = 2; // 0x2
15904    field public static final int SIP_DELEGATE_DESTROY_REASON_SERVICE_DEAD = 1; // 0x1
15905    field public static final int SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN = 4; // 0x4
15906    field public static final int SIP_DELEGATE_DESTROY_REASON_UNKNOWN = 0; // 0x0
15907    field public static final int SIP_DELEGATE_DESTROY_REASON_USER_DISABLED_RCS = 3; // 0x3
15908  }
15909
15910  public final class SipMessage implements android.os.Parcelable {
15911    ctor public SipMessage(@NonNull String, @NonNull String, @NonNull byte[]);
15912    method public int describeContents();
15913    method @Nullable public String getCallIdParameter();
15914    method @NonNull public byte[] getContent();
15915    method @NonNull public String getHeaderSection();
15916    method @NonNull public String getStartLine();
15917    method @NonNull public String getViaBranchParameter();
15918    method @NonNull public byte[] toEncodedMessage();
15919    method public void writeToParcel(@NonNull android.os.Parcel, int);
15920    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipMessage> CREATOR;
15921  }
15922
15923}
15924
15925package android.telephony.ims.feature {
15926
15927  public final class CapabilityChangeRequest implements android.os.Parcelable {
15928    method public void addCapabilitiesToDisableForTech(int, int);
15929    method public void addCapabilitiesToEnableForTech(int, int);
15930    method public int describeContents();
15931    method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToDisable();
15932    method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToEnable();
15933    method public void writeToParcel(android.os.Parcel, int);
15934    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.feature.CapabilityChangeRequest> CREATOR;
15935  }
15936
15937  public static class CapabilityChangeRequest.CapabilityPair {
15938    ctor public CapabilityChangeRequest.CapabilityPair(int, int);
15939    method public int getCapability();
15940    method public int getRadioTech();
15941  }
15942
15943  public abstract class ImsFeature {
15944    ctor public ImsFeature();
15945    method public abstract void changeEnabledCapabilities(android.telephony.ims.feature.CapabilityChangeRequest, android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
15946    method public int getFeatureState();
15947    method public final int getSlotIndex();
15948    method public abstract void onFeatureReady();
15949    method public abstract void onFeatureRemoved();
15950    method public final void setFeatureState(int);
15951    field public static final int CAPABILITY_ERROR_GENERIC = -1; // 0xffffffff
15952    field public static final int CAPABILITY_SUCCESS = 0; // 0x0
15953    field public static final int FEATURE_EMERGENCY_MMTEL = 0; // 0x0
15954    field public static final int FEATURE_MMTEL = 1; // 0x1
15955    field public static final int FEATURE_RCS = 2; // 0x2
15956    field public static final int STATE_INITIALIZING = 1; // 0x1
15957    field public static final int STATE_READY = 2; // 0x2
15958    field public static final int STATE_UNAVAILABLE = 0; // 0x0
15959  }
15960
15961  @Deprecated public static class ImsFeature.Capabilities {
15962    field @Deprecated protected int mCapabilities;
15963  }
15964
15965  protected static class ImsFeature.CapabilityCallbackProxy {
15966    method public void onChangeCapabilityConfigurationError(int, int, int);
15967  }
15968
15969  public class MmTelFeature extends android.telephony.ims.feature.ImsFeature {
15970    ctor public MmTelFeature();
15971    method public void changeEnabledCapabilities(@NonNull android.telephony.ims.feature.CapabilityChangeRequest, @NonNull android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
15972    method public void changeOfferedRtpHeaderExtensionTypes(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtensionType>);
15973    method @Nullable public android.telephony.ims.ImsCallProfile createCallProfile(int, int);
15974    method @Nullable public android.telephony.ims.stub.ImsCallSessionImplBase createCallSession(@NonNull android.telephony.ims.ImsCallProfile);
15975    method @NonNull public android.telephony.ims.stub.ImsEcbmImplBase getEcbm();
15976    method @NonNull public android.telephony.ims.stub.ImsMultiEndpointImplBase getMultiEndpoint();
15977    method @NonNull public android.telephony.ims.stub.ImsSmsImplBase getSmsImplementation();
15978    method @NonNull public android.telephony.ims.stub.ImsUtImplBase getUt();
15979    method public final void notifyCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.MmTelFeature.MmTelCapabilities);
15980    method public final void notifyIncomingCall(@NonNull android.telephony.ims.stub.ImsCallSessionImplBase, @NonNull android.os.Bundle);
15981    method public final void notifyRejectedCall(@NonNull android.telephony.ims.ImsCallProfile, @NonNull android.telephony.ims.ImsReasonInfo);
15982    method public final void notifyVoiceMessageCountUpdate(int);
15983    method public void onFeatureReady();
15984    method public void onFeatureRemoved();
15985    method public boolean queryCapabilityConfiguration(int, int);
15986    method @NonNull public final android.telephony.ims.feature.MmTelFeature.MmTelCapabilities queryCapabilityStatus();
15987    method public void setUiTtyMode(int, @Nullable android.os.Message);
15988    method public int shouldProcessCall(@NonNull String[]);
15989    field public static final String EXTRA_IS_UNKNOWN_CALL = "android.telephony.ims.feature.extra.IS_UNKNOWN_CALL";
15990    field public static final String EXTRA_IS_USSD = "android.telephony.ims.feature.extra.IS_USSD";
15991    field public static final int PROCESS_CALL_CSFB = 1; // 0x1
15992    field public static final int PROCESS_CALL_IMS = 0; // 0x0
15993  }
15994
15995  public static class MmTelFeature.MmTelCapabilities extends android.telephony.ims.feature.ImsFeature.Capabilities {
15996    ctor public MmTelFeature.MmTelCapabilities();
15997    ctor @Deprecated public MmTelFeature.MmTelCapabilities(android.telephony.ims.feature.ImsFeature.Capabilities);
15998    ctor public MmTelFeature.MmTelCapabilities(int);
15999    method public final void addCapabilities(int);
16000    method public final void removeCapabilities(int);
16001  }
16002
16003  public class RcsFeature extends android.telephony.ims.feature.ImsFeature {
16004    ctor @Deprecated public RcsFeature();
16005    ctor public RcsFeature(@NonNull java.util.concurrent.Executor);
16006    method public void changeEnabledCapabilities(@NonNull android.telephony.ims.feature.CapabilityChangeRequest, @NonNull android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
16007    method @NonNull public android.telephony.ims.stub.RcsCapabilityExchangeImplBase createCapabilityExchangeImpl(@NonNull android.telephony.ims.stub.CapabilityExchangeEventListener);
16008    method public void destroyCapabilityExchangeImpl(@NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase);
16009    method public final void notifyCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.RcsFeature.RcsImsCapabilities);
16010    method public void onFeatureReady();
16011    method public void onFeatureRemoved();
16012    method public boolean queryCapabilityConfiguration(int, int);
16013    method @NonNull public final android.telephony.ims.feature.RcsFeature.RcsImsCapabilities queryCapabilityStatus();
16014  }
16015
16016  public static class RcsFeature.RcsImsCapabilities extends android.telephony.ims.feature.ImsFeature.Capabilities {
16017    ctor public RcsFeature.RcsImsCapabilities(int);
16018    method public void addCapabilities(int);
16019    method public boolean isCapable(int);
16020    method public void removeCapabilities(int);
16021    field public static final int CAPABILITY_TYPE_NONE = 0; // 0x0
16022    field public static final int CAPABILITY_TYPE_OPTIONS_UCE = 1; // 0x1
16023    field public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
16024  }
16025
16026}
16027
16028package android.telephony.ims.stub {
16029
16030  public interface CapabilityExchangeEventListener {
16031    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;
16032    method public void onRequestPublishCapabilities(int) throws android.telephony.ims.ImsException;
16033    method public void onUnpublish() throws android.telephony.ims.ImsException;
16034  }
16035
16036  public static interface CapabilityExchangeEventListener.OptionsRequestCallback {
16037    method public void onRespondToCapabilityRequest(@NonNull android.telephony.ims.RcsContactUceCapability, boolean);
16038    method public void onRespondToCapabilityRequestWithError(@IntRange(from=100, to=699) int, @NonNull String);
16039  }
16040
16041  public interface DelegateConnectionMessageCallback {
16042    method public void onMessageReceived(@NonNull android.telephony.ims.SipMessage);
16043    method public void onMessageSendFailure(@NonNull String, int);
16044    method public void onMessageSent(@NonNull String);
16045  }
16046
16047  public interface DelegateConnectionStateCallback {
16048    method public void onConfigurationChanged(@NonNull android.telephony.ims.SipDelegateConfiguration);
16049    method public void onCreated(@NonNull android.telephony.ims.SipDelegateConnection);
16050    method public void onDestroyed(int);
16051    method public void onFeatureTagStatusChanged(@NonNull android.telephony.ims.DelegateRegistrationState, @NonNull java.util.Set<android.telephony.ims.FeatureTagState>);
16052  }
16053
16054  public class ImsCallSessionImplBase implements java.lang.AutoCloseable {
16055    ctor public ImsCallSessionImplBase();
16056    method public void accept(int, android.telephony.ims.ImsStreamMediaProfile);
16057    method public void close();
16058    method public void deflect(String);
16059    method public void extendToConference(String[]);
16060    method public String getCallId();
16061    method public android.telephony.ims.ImsCallProfile getCallProfile();
16062    method public android.telephony.ims.ImsVideoCallProvider getImsVideoCallProvider();
16063    method public android.telephony.ims.ImsCallProfile getLocalCallProfile();
16064    method public String getProperty(String);
16065    method public android.telephony.ims.ImsCallProfile getRemoteCallProfile();
16066    method public int getState();
16067    method public void hold(android.telephony.ims.ImsStreamMediaProfile);
16068    method public void inviteParticipants(String[]);
16069    method public boolean isInCall();
16070    method public boolean isMultiparty();
16071    method public void merge();
16072    method public void reject(int);
16073    method public void removeParticipants(String[]);
16074    method public void resume(android.telephony.ims.ImsStreamMediaProfile);
16075    method public void sendDtmf(char, android.os.Message);
16076    method public void sendRtpHeaderExtensions(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtension>);
16077    method public void sendRttMessage(String);
16078    method public void sendRttModifyRequest(android.telephony.ims.ImsCallProfile);
16079    method public void sendRttModifyResponse(boolean);
16080    method public void sendUssd(String);
16081    method public void setListener(android.telephony.ims.ImsCallSessionListener);
16082    method public void setMute(boolean);
16083    method public void start(String, android.telephony.ims.ImsCallProfile);
16084    method public void startConference(String[], android.telephony.ims.ImsCallProfile);
16085    method public void startDtmf(char);
16086    method public void stopDtmf();
16087    method public void terminate(int);
16088    method public void update(int, android.telephony.ims.ImsStreamMediaProfile);
16089    field public static final int USSD_MODE_NOTIFY = 0; // 0x0
16090    field public static final int USSD_MODE_REQUEST = 1; // 0x1
16091  }
16092
16093  public static class ImsCallSessionImplBase.State {
16094    method public static String toString(int);
16095    field public static final int ESTABLISHED = 4; // 0x4
16096    field public static final int ESTABLISHING = 3; // 0x3
16097    field public static final int IDLE = 0; // 0x0
16098    field public static final int INITIATED = 1; // 0x1
16099    field public static final int INVALID = -1; // 0xffffffff
16100    field public static final int NEGOTIATING = 2; // 0x2
16101    field public static final int REESTABLISHING = 6; // 0x6
16102    field public static final int RENEGOTIATING = 5; // 0x5
16103    field public static final int TERMINATED = 8; // 0x8
16104    field public static final int TERMINATING = 7; // 0x7
16105  }
16106
16107  public class ImsConfigImplBase {
16108    ctor public ImsConfigImplBase();
16109    method public int getConfigInt(int);
16110    method public String getConfigString(int);
16111    method public final void notifyAutoConfigurationErrorReceived(int, @NonNull String);
16112    method public final void notifyPreProvisioningReceived(@NonNull byte[]);
16113    method public final void notifyProvisionedValueChanged(int, int);
16114    method public final void notifyProvisionedValueChanged(int, String);
16115    method public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean);
16116    method public void notifyRcsAutoConfigurationRemoved();
16117    method public int setConfig(int, int);
16118    method public int setConfig(int, String);
16119    method public void setRcsClientConfiguration(@NonNull android.telephony.ims.RcsClientConfiguration);
16120    method public void triggerAutoConfiguration();
16121    field public static final int CONFIG_RESULT_FAILED = 1; // 0x1
16122    field public static final int CONFIG_RESULT_SUCCESS = 0; // 0x0
16123    field public static final int CONFIG_RESULT_UNKNOWN = -1; // 0xffffffff
16124  }
16125
16126  public class ImsEcbmImplBase {
16127    ctor public ImsEcbmImplBase();
16128    method public final void enteredEcbm();
16129    method public void exitEmergencyCallbackMode();
16130    method public final void exitedEcbm();
16131  }
16132
16133  public final class ImsFeatureConfiguration implements android.os.Parcelable {
16134    method public int describeContents();
16135    method public java.util.Set<android.telephony.ims.stub.ImsFeatureConfiguration.FeatureSlotPair> getServiceFeatures();
16136    method public void writeToParcel(android.os.Parcel, int);
16137    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.stub.ImsFeatureConfiguration> CREATOR;
16138  }
16139
16140  public static class ImsFeatureConfiguration.Builder {
16141    ctor public ImsFeatureConfiguration.Builder();
16142    method public android.telephony.ims.stub.ImsFeatureConfiguration.Builder addFeature(int, int);
16143    method public android.telephony.ims.stub.ImsFeatureConfiguration build();
16144  }
16145
16146  public static final class ImsFeatureConfiguration.FeatureSlotPair {
16147    ctor public ImsFeatureConfiguration.FeatureSlotPair(int, int);
16148    field public final int featureType;
16149    field public final int slotId;
16150  }
16151
16152  public class ImsMultiEndpointImplBase {
16153    ctor public ImsMultiEndpointImplBase();
16154    method public final void onImsExternalCallStateUpdate(java.util.List<android.telephony.ims.ImsExternalCallState>);
16155    method public void requestImsExternalCallStateInfo();
16156  }
16157
16158  public class ImsRegistrationImplBase {
16159    ctor public ImsRegistrationImplBase();
16160    method public final void onDeregistered(android.telephony.ims.ImsReasonInfo);
16161    method public final void onRegistered(int);
16162    method public final void onRegistered(@NonNull android.telephony.ims.ImsRegistrationAttributes);
16163    method public final void onRegistering(int);
16164    method public final void onRegistering(@NonNull android.telephony.ims.ImsRegistrationAttributes);
16165    method public final void onSubscriberAssociatedUriChanged(android.net.Uri[]);
16166    method public final void onTechnologyChangeFailed(int, android.telephony.ims.ImsReasonInfo);
16167    method public void triggerFullNetworkRegistration(@IntRange(from=100, to=699) int, @Nullable String);
16168    method public void triggerSipDelegateDeregistration();
16169    method public void updateSipDelegateRegistration();
16170    field public static final int REGISTRATION_TECH_CROSS_SIM = 2; // 0x2
16171    field public static final int REGISTRATION_TECH_IWLAN = 1; // 0x1
16172    field public static final int REGISTRATION_TECH_LTE = 0; // 0x0
16173    field public static final int REGISTRATION_TECH_NONE = -1; // 0xffffffff
16174    field public static final int REGISTRATION_TECH_NR = 3; // 0x3
16175  }
16176
16177  public class ImsSmsImplBase {
16178    ctor public ImsSmsImplBase();
16179    method public void acknowledgeSms(int, @IntRange(from=0, to=65535) int, int);
16180    method public void acknowledgeSmsReport(int, @IntRange(from=0, to=65535) int, int);
16181    method public String getSmsFormat();
16182    method public void onReady();
16183    method @Deprecated public final void onSendSmsResult(int, @IntRange(from=0, to=65535) int, int, int) throws java.lang.RuntimeException;
16184    method public final void onSendSmsResultError(int, @IntRange(from=0, to=65535) int, int, int, int) throws java.lang.RuntimeException;
16185    method public final void onSendSmsResultSuccess(int, @IntRange(from=0, to=65535) int) throws java.lang.RuntimeException;
16186    method public final void onSmsReceived(int, String, byte[]) throws java.lang.RuntimeException;
16187    method @Deprecated public final void onSmsStatusReportReceived(int, @IntRange(from=0, to=65535) int, String, byte[]) throws java.lang.RuntimeException;
16188    method public final void onSmsStatusReportReceived(int, String, byte[]) throws java.lang.RuntimeException;
16189    method public void sendSms(int, @IntRange(from=0, to=65535) int, String, String, boolean, byte[]);
16190    field public static final int DELIVER_STATUS_ERROR_GENERIC = 2; // 0x2
16191    field public static final int DELIVER_STATUS_ERROR_NO_MEMORY = 3; // 0x3
16192    field public static final int DELIVER_STATUS_ERROR_REQUEST_NOT_SUPPORTED = 4; // 0x4
16193    field public static final int DELIVER_STATUS_OK = 1; // 0x1
16194    field public static final int RESULT_NO_NETWORK_ERROR = -1; // 0xffffffff
16195    field public static final int SEND_STATUS_ERROR = 2; // 0x2
16196    field public static final int SEND_STATUS_ERROR_FALLBACK = 4; // 0x4
16197    field public static final int SEND_STATUS_ERROR_RETRY = 3; // 0x3
16198    field public static final int SEND_STATUS_OK = 1; // 0x1
16199    field public static final int STATUS_REPORT_STATUS_ERROR = 2; // 0x2
16200    field public static final int STATUS_REPORT_STATUS_OK = 1; // 0x1
16201  }
16202
16203  public class ImsUtImplBase {
16204    ctor public ImsUtImplBase();
16205    method public void close();
16206    method public int queryCallBarring(int);
16207    method public int queryCallBarringForServiceClass(int, int);
16208    method public int queryCallForward(int, String);
16209    method public int queryCallWaiting();
16210    method public int queryClip();
16211    method public int queryClir();
16212    method public int queryColp();
16213    method public int queryColr();
16214    method public void setListener(android.telephony.ims.ImsUtListener);
16215    method public int transact(android.os.Bundle);
16216    method public int updateCallBarring(int, int, String[]);
16217    method public int updateCallBarringForServiceClass(int, int, String[], int);
16218    method public int updateCallForward(int, int, String, int, int);
16219    method public int updateCallWaiting(boolean, int);
16220    method public int updateClip(boolean);
16221    method public int updateClir(int);
16222    method public int updateColp(boolean);
16223    method public int updateColr(int);
16224  }
16225
16226  public class RcsCapabilityExchangeImplBase {
16227    ctor public RcsCapabilityExchangeImplBase();
16228    method public void publishCapabilities(@NonNull String, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.PublishResponseCallback);
16229    method public void sendOptionsCapabilityRequest(@NonNull android.net.Uri, @NonNull java.util.Set<java.lang.String>, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.OptionsResponseCallback);
16230    method public void subscribeForCapabilities(@NonNull java.util.Collection<android.net.Uri>, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.SubscribeResponseCallback);
16231    field public static final int COMMAND_CODE_FETCH_ERROR = 3; // 0x3
16232    field public static final int COMMAND_CODE_GENERIC_FAILURE = 1; // 0x1
16233    field public static final int COMMAND_CODE_INSUFFICIENT_MEMORY = 5; // 0x5
16234    field public static final int COMMAND_CODE_INVALID_PARAM = 2; // 0x2
16235    field public static final int COMMAND_CODE_LOST_NETWORK_CONNECTION = 6; // 0x6
16236    field public static final int COMMAND_CODE_NOT_FOUND = 8; // 0x8
16237    field public static final int COMMAND_CODE_NOT_SUPPORTED = 7; // 0x7
16238    field public static final int COMMAND_CODE_NO_CHANGE = 10; // 0xa
16239    field public static final int COMMAND_CODE_REQUEST_TIMEOUT = 4; // 0x4
16240    field public static final int COMMAND_CODE_SERVICE_UNAVAILABLE = 9; // 0x9
16241    field public static final int COMMAND_CODE_SERVICE_UNKNOWN = 0; // 0x0
16242  }
16243
16244  public static interface RcsCapabilityExchangeImplBase.OptionsResponseCallback {
16245    method public void onCommandError(int) throws android.telephony.ims.ImsException;
16246    method public void onNetworkResponse(int, @NonNull String, @NonNull java.util.List<java.lang.String>) throws android.telephony.ims.ImsException;
16247  }
16248
16249  public static interface RcsCapabilityExchangeImplBase.PublishResponseCallback {
16250    method public void onCommandError(int) throws android.telephony.ims.ImsException;
16251    method public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
16252    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;
16253  }
16254
16255  public static interface RcsCapabilityExchangeImplBase.SubscribeResponseCallback {
16256    method public void onCommandError(int) throws android.telephony.ims.ImsException;
16257    method public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
16258    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;
16259    method public void onNotifyCapabilitiesUpdate(@NonNull java.util.List<java.lang.String>) throws android.telephony.ims.ImsException;
16260    method public void onResourceTerminated(@NonNull java.util.List<android.util.Pair<android.net.Uri,java.lang.String>>) throws android.telephony.ims.ImsException;
16261    method public void onTerminated(@NonNull String, long) throws android.telephony.ims.ImsException;
16262  }
16263
16264  public interface SipDelegate {
16265    method public void cleanupSession(@NonNull String);
16266    method public void notifyMessageReceiveError(@NonNull String, int);
16267    method public void notifyMessageReceived(@NonNull String);
16268    method public void sendMessage(@NonNull android.telephony.ims.SipMessage, long);
16269  }
16270
16271  public class SipTransportImplBase {
16272    ctor public SipTransportImplBase(@NonNull java.util.concurrent.Executor);
16273    method public void createSipDelegate(int, @NonNull android.telephony.ims.DelegateRequest, @NonNull android.telephony.ims.DelegateStateCallback, @NonNull android.telephony.ims.DelegateMessageCallback);
16274    method public void destroySipDelegate(@NonNull android.telephony.ims.stub.SipDelegate, int);
16275  }
16276
16277}
16278
16279package android.telephony.mbms {
16280
16281  public static class DownloadRequest.Builder {
16282    method public android.telephony.mbms.DownloadRequest.Builder setServiceId(String);
16283  }
16284
16285  public final class FileInfo implements android.os.Parcelable {
16286    ctor public FileInfo(android.net.Uri, String);
16287  }
16288
16289  public final class FileServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
16290    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>);
16291  }
16292
16293  public class MbmsDownloadReceiver extends android.content.BroadcastReceiver {
16294    field public static final int RESULT_APP_NOTIFICATION_ERROR = 6; // 0x6
16295    field public static final int RESULT_BAD_TEMP_FILE_ROOT = 3; // 0x3
16296    field public static final int RESULT_DOWNLOAD_FINALIZATION_ERROR = 4; // 0x4
16297    field public static final int RESULT_INVALID_ACTION = 1; // 0x1
16298    field public static final int RESULT_MALFORMED_INTENT = 2; // 0x2
16299    field public static final int RESULT_OK = 0; // 0x0
16300    field public static final int RESULT_TEMP_FILE_GENERATION_ERROR = 5; // 0x5
16301  }
16302
16303  public final class StreamingServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
16304    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);
16305  }
16306
16307  public final class UriPathPair implements android.os.Parcelable {
16308    method public int describeContents();
16309    method public android.net.Uri getContentUri();
16310    method public android.net.Uri getFilePathUri();
16311    method public void writeToParcel(android.os.Parcel, int);
16312    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.mbms.UriPathPair> CREATOR;
16313  }
16314
16315}
16316
16317package android.telephony.mbms.vendor {
16318
16319  public class MbmsDownloadServiceBase extends android.os.Binder implements android.os.IInterface {
16320    ctor public MbmsDownloadServiceBase();
16321    method public int addProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener) throws android.os.RemoteException;
16322    method public int addServiceAnnouncement(int, @NonNull byte[]);
16323    method public int addStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener) throws android.os.RemoteException;
16324    method public android.os.IBinder asBinder();
16325    method public int cancelDownload(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
16326    method public void dispose(int) throws android.os.RemoteException;
16327    method public int download(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
16328    method public int initialize(int, android.telephony.mbms.MbmsDownloadSessionCallback) throws android.os.RemoteException;
16329    method @NonNull public java.util.List<android.telephony.mbms.DownloadRequest> listPendingDownloads(int) throws android.os.RemoteException;
16330    method public void onAppCallbackDied(int, int);
16331    method public boolean onTransact(int, android.os.Parcel, android.os.Parcel, int) throws android.os.RemoteException;
16332    method public int removeProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener) throws android.os.RemoteException;
16333    method public int removeStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener) throws android.os.RemoteException;
16334    method public int requestDownloadState(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo) throws android.os.RemoteException;
16335    method public int requestUpdateFileServices(int, java.util.List<java.lang.String>) throws android.os.RemoteException;
16336    method public int resetDownloadKnowledge(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
16337    method public int setTempFileRootDirectory(int, String) throws android.os.RemoteException;
16338  }
16339
16340  public class MbmsGroupCallServiceBase extends android.app.Service {
16341    ctor public MbmsGroupCallServiceBase();
16342    method public void dispose(int) throws android.os.RemoteException;
16343    method public int initialize(@NonNull android.telephony.mbms.MbmsGroupCallSessionCallback, int) throws android.os.RemoteException;
16344    method public void onAppCallbackDied(int, int);
16345    method public android.os.IBinder onBind(android.content.Intent);
16346    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);
16347    method public void stopGroupCall(int, long);
16348    method public void updateGroupCall(int, long, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>);
16349  }
16350
16351  public class MbmsStreamingServiceBase extends android.os.Binder implements android.os.IInterface {
16352    ctor public MbmsStreamingServiceBase();
16353    method public android.os.IBinder asBinder();
16354    method public void dispose(int) throws android.os.RemoteException;
16355    method @Nullable public android.net.Uri getPlaybackUri(int, String) throws android.os.RemoteException;
16356    method public int initialize(android.telephony.mbms.MbmsStreamingSessionCallback, int) throws android.os.RemoteException;
16357    method public void onAppCallbackDied(int, int);
16358    method public boolean onTransact(int, android.os.Parcel, android.os.Parcel, int) throws android.os.RemoteException;
16359    method public int requestUpdateStreamingServices(int, java.util.List<java.lang.String>) throws android.os.RemoteException;
16360    method public int startStreaming(int, String, android.telephony.mbms.StreamingServiceCallback) throws android.os.RemoteException;
16361    method public void stopStreaming(int, String) throws android.os.RemoteException;
16362  }
16363
16364  public class VendorUtils {
16365    ctor public VendorUtils();
16366    method public static android.content.ComponentName getAppReceiverFromPackageName(android.content.Context, String);
16367    field public static final String ACTION_CLEANUP = "android.telephony.mbms.action.CLEANUP";
16368    field public static final String ACTION_DOWNLOAD_RESULT_INTERNAL = "android.telephony.mbms.action.DOWNLOAD_RESULT_INTERNAL";
16369    field public static final String ACTION_FILE_DESCRIPTOR_REQUEST = "android.telephony.mbms.action.FILE_DESCRIPTOR_REQUEST";
16370    field public static final String EXTRA_FD_COUNT = "android.telephony.mbms.extra.FD_COUNT";
16371    field public static final String EXTRA_FINAL_URI = "android.telephony.mbms.extra.FINAL_URI";
16372    field public static final String EXTRA_FREE_URI_LIST = "android.telephony.mbms.extra.FREE_URI_LIST";
16373    field public static final String EXTRA_PAUSED_LIST = "android.telephony.mbms.extra.PAUSED_LIST";
16374    field public static final String EXTRA_PAUSED_URI_LIST = "android.telephony.mbms.extra.PAUSED_URI_LIST";
16375    field public static final String EXTRA_SERVICE_ID = "android.telephony.mbms.extra.SERVICE_ID";
16376    field public static final String EXTRA_TEMP_FILES_IN_USE = "android.telephony.mbms.extra.TEMP_FILES_IN_USE";
16377    field public static final String EXTRA_TEMP_FILE_ROOT = "android.telephony.mbms.extra.TEMP_FILE_ROOT";
16378    field public static final String EXTRA_TEMP_LIST = "android.telephony.mbms.extra.TEMP_LIST";
16379  }
16380
16381}
16382
16383package android.text {
16384
16385  public final class FontConfig implements android.os.Parcelable {
16386    method public int describeContents();
16387    method @NonNull public java.util.List<android.text.FontConfig.Alias> getAliases();
16388    method @IntRange(from=0) public int getConfigVersion();
16389    method @NonNull public java.util.List<android.text.FontConfig.FontFamily> getFontFamilies();
16390    method public long getLastModifiedTimeMillis();
16391    method public void writeToParcel(@NonNull android.os.Parcel, int);
16392    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig> CREATOR;
16393  }
16394
16395  public static final class FontConfig.Alias implements android.os.Parcelable {
16396    method public int describeContents();
16397    method @NonNull public String getName();
16398    method @NonNull public String getOriginal();
16399    method @IntRange(from=0, to=1000) public int getWeight();
16400    method public void writeToParcel(@NonNull android.os.Parcel, int);
16401    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.Alias> CREATOR;
16402  }
16403
16404  public static final class FontConfig.Font implements android.os.Parcelable {
16405    method public int describeContents();
16406    method @NonNull public java.io.File getFile();
16407    method @Nullable public String getFontFamilyName();
16408    method @NonNull public String getFontVariationSettings();
16409    method @NonNull public String getPostScriptName();
16410    method @NonNull public android.graphics.fonts.FontStyle getStyle();
16411    method public int getTtcIndex();
16412    method public void writeToParcel(@NonNull android.os.Parcel, int);
16413    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.Font> CREATOR;
16414  }
16415
16416  public static final class FontConfig.FontFamily implements android.os.Parcelable {
16417    method public int describeContents();
16418    method @NonNull public java.util.List<android.text.FontConfig.Font> getFontList();
16419    method @NonNull public android.os.LocaleList getLocaleList();
16420    method @Nullable public String getName();
16421    method public int getVariant();
16422    method public void writeToParcel(@NonNull android.os.Parcel, int);
16423    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.FontFamily> CREATOR;
16424    field public static final int VARIANT_COMPACT = 1; // 0x1
16425    field public static final int VARIANT_DEFAULT = 0; // 0x0
16426    field public static final int VARIANT_ELEGANT = 2; // 0x2
16427  }
16428
16429}
16430
16431package android.util {
16432
16433  public class EventLog {
16434    method public static void readEventsOnWrapping(int[], long, java.util.Collection<android.util.EventLog.Event>) throws java.io.IOException;
16435  }
16436
16437  public static final class EventLog.Event {
16438    method public int getUid();
16439  }
16440
16441  public final class StatsEvent {
16442    method @NonNull public static android.util.StatsEvent.Builder newBuilder();
16443  }
16444
16445  public static final class StatsEvent.Builder {
16446    method @NonNull public android.util.StatsEvent.Builder addBooleanAnnotation(byte, boolean);
16447    method @NonNull public android.util.StatsEvent.Builder addIntAnnotation(byte, int);
16448    method @NonNull public android.util.StatsEvent build();
16449    method @NonNull public android.util.StatsEvent.Builder setAtomId(int);
16450    method @NonNull public android.util.StatsEvent.Builder usePooledBuffer();
16451    method @NonNull public android.util.StatsEvent.Builder writeAttributionChain(@NonNull int[], @NonNull String[]);
16452    method @NonNull public android.util.StatsEvent.Builder writeBoolean(boolean);
16453    method @NonNull public android.util.StatsEvent.Builder writeByteArray(@NonNull byte[]);
16454    method @NonNull public android.util.StatsEvent.Builder writeFloat(float);
16455    method @NonNull public android.util.StatsEvent.Builder writeInt(int);
16456    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>);
16457    method @NonNull public android.util.StatsEvent.Builder writeLong(long);
16458    method @NonNull public android.util.StatsEvent.Builder writeString(@NonNull String);
16459  }
16460
16461  public final class StatsLog {
16462    method public static void write(@NonNull android.util.StatsEvent);
16463    method @Deprecated public static void writeRaw(@NonNull byte[], int);
16464    field public static final byte ANNOTATION_ID_DEFAULT_STATE = 6; // 0x6
16465    field public static final byte ANNOTATION_ID_EXCLUSIVE_STATE = 4; // 0x4
16466    field public static final byte ANNOTATION_ID_IS_UID = 1; // 0x1
16467    field public static final byte ANNOTATION_ID_PRIMARY_FIELD = 3; // 0x3
16468    field public static final byte ANNOTATION_ID_PRIMARY_FIELD_FIRST_UID = 5; // 0x5
16469    field public static final byte ANNOTATION_ID_STATE_NESTED = 8; // 0x8
16470    field public static final byte ANNOTATION_ID_TRIGGER_STATE_RESET = 7; // 0x7
16471    field public static final byte ANNOTATION_ID_TRUNCATE_TIMESTAMP = 2; // 0x2
16472  }
16473
16474}
16475
16476package android.uwb {
16477
16478  public final class AngleMeasurement implements android.os.Parcelable {
16479    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);
16480    method public int describeContents();
16481    method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel();
16482    method @FloatRange(from=0.0, to=3.141592653589793) public double getErrorRadians();
16483    method @FloatRange(from=-3.141592653589793, to=3.141592653589793) public double getRadians();
16484    method public void writeToParcel(@NonNull android.os.Parcel, int);
16485    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleMeasurement> CREATOR;
16486  }
16487
16488  public final class AngleOfArrivalMeasurement implements android.os.Parcelable {
16489    method public int describeContents();
16490    method @Nullable public android.uwb.AngleMeasurement getAltitude();
16491    method @NonNull public android.uwb.AngleMeasurement getAzimuth();
16492    method public void writeToParcel(@NonNull android.os.Parcel, int);
16493    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleOfArrivalMeasurement> CREATOR;
16494  }
16495
16496  public static final class AngleOfArrivalMeasurement.Builder {
16497    ctor public AngleOfArrivalMeasurement.Builder(@NonNull android.uwb.AngleMeasurement);
16498    method @NonNull public android.uwb.AngleOfArrivalMeasurement build();
16499    method @NonNull public android.uwb.AngleOfArrivalMeasurement.Builder setAltitude(@NonNull android.uwb.AngleMeasurement);
16500  }
16501
16502  public final class DistanceMeasurement implements android.os.Parcelable {
16503    method public int describeContents();
16504    method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel();
16505    method @FloatRange(from=0.0) public double getErrorMeters();
16506    method public double getMeters();
16507    method public void writeToParcel(@NonNull android.os.Parcel, int);
16508    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.DistanceMeasurement> CREATOR;
16509  }
16510
16511  public static final class DistanceMeasurement.Builder {
16512    ctor public DistanceMeasurement.Builder();
16513    method @NonNull public android.uwb.DistanceMeasurement build();
16514    method @NonNull public android.uwb.DistanceMeasurement.Builder setConfidenceLevel(@FloatRange(from=0.0, to=1.0) double);
16515    method @NonNull public android.uwb.DistanceMeasurement.Builder setErrorMeters(@FloatRange(from=0.0) double);
16516    method @NonNull public android.uwb.DistanceMeasurement.Builder setMeters(double);
16517  }
16518
16519  public final class RangingMeasurement implements android.os.Parcelable {
16520    method public int describeContents();
16521    method @Nullable public android.uwb.AngleOfArrivalMeasurement getAngleOfArrivalMeasurement();
16522    method @Nullable public android.uwb.DistanceMeasurement getDistanceMeasurement();
16523    method public long getElapsedRealtimeNanos();
16524    method @NonNull public android.uwb.UwbAddress getRemoteDeviceAddress();
16525    method public int getStatus();
16526    method public void writeToParcel(@NonNull android.os.Parcel, int);
16527    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingMeasurement> CREATOR;
16528    field public static final int RANGING_STATUS_FAILURE_OUT_OF_RANGE = 1; // 0x1
16529    field public static final int RANGING_STATUS_FAILURE_UNKNOWN_ERROR = -1; // 0xffffffff
16530    field public static final int RANGING_STATUS_SUCCESS = 0; // 0x0
16531  }
16532
16533  public static final class RangingMeasurement.Builder {
16534    ctor public RangingMeasurement.Builder();
16535    method @NonNull public android.uwb.RangingMeasurement build();
16536    method @NonNull public android.uwb.RangingMeasurement.Builder setAngleOfArrivalMeasurement(@NonNull android.uwb.AngleOfArrivalMeasurement);
16537    method @NonNull public android.uwb.RangingMeasurement.Builder setDistanceMeasurement(@NonNull android.uwb.DistanceMeasurement);
16538    method @NonNull public android.uwb.RangingMeasurement.Builder setElapsedRealtimeNanos(long);
16539    method @NonNull public android.uwb.RangingMeasurement.Builder setRemoteDeviceAddress(@NonNull android.uwb.UwbAddress);
16540    method @NonNull public android.uwb.RangingMeasurement.Builder setStatus(int);
16541  }
16542
16543  public final class RangingReport implements android.os.Parcelable {
16544    method public int describeContents();
16545    method @NonNull public java.util.List<android.uwb.RangingMeasurement> getMeasurements();
16546    method public void writeToParcel(@NonNull android.os.Parcel, int);
16547    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingReport> CREATOR;
16548  }
16549
16550  public static final class RangingReport.Builder {
16551    ctor public RangingReport.Builder();
16552    method @NonNull public android.uwb.RangingReport.Builder addMeasurement(@NonNull android.uwb.RangingMeasurement);
16553    method @NonNull public android.uwb.RangingReport.Builder addMeasurements(@NonNull java.util.List<android.uwb.RangingMeasurement>);
16554    method @NonNull public android.uwb.RangingReport build();
16555  }
16556
16557  public final class RangingSession implements java.lang.AutoCloseable {
16558    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void close();
16559    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void reconfigure(@NonNull android.os.PersistableBundle);
16560    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void start(@NonNull android.os.PersistableBundle);
16561    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void stop();
16562  }
16563
16564  public static interface RangingSession.Callback {
16565    method public void onClosed(int, @NonNull android.os.PersistableBundle);
16566    method public void onOpenFailed(int, @NonNull android.os.PersistableBundle);
16567    method public void onOpened(@NonNull android.uwb.RangingSession);
16568    method public void onReconfigureFailed(int, @NonNull android.os.PersistableBundle);
16569    method public void onReconfigured(@NonNull android.os.PersistableBundle);
16570    method public void onReportReceived(@NonNull android.uwb.RangingReport);
16571    method public void onStartFailed(int, @NonNull android.os.PersistableBundle);
16572    method public void onStarted(@NonNull android.os.PersistableBundle);
16573    method public void onStopFailed(int, @NonNull android.os.PersistableBundle);
16574    method public void onStopped(int, @NonNull android.os.PersistableBundle);
16575    field public static final int REASON_BAD_PARAMETERS = 3; // 0x3
16576    field public static final int REASON_GENERIC_ERROR = 4; // 0x4
16577    field public static final int REASON_LOCAL_REQUEST = 1; // 0x1
16578    field public static final int REASON_MAX_SESSIONS_REACHED = 5; // 0x5
16579    field public static final int REASON_PROTOCOL_SPECIFIC_ERROR = 7; // 0x7
16580    field public static final int REASON_REMOTE_REQUEST = 2; // 0x2
16581    field public static final int REASON_SYSTEM_POLICY = 6; // 0x6
16582    field public static final int REASON_UNKNOWN = 0; // 0x0
16583  }
16584
16585  public final class UwbAddress implements android.os.Parcelable {
16586    method public int describeContents();
16587    method @NonNull public static android.uwb.UwbAddress fromBytes(@NonNull byte[]);
16588    method public int size();
16589    method @NonNull public byte[] toBytes();
16590    method public void writeToParcel(@NonNull android.os.Parcel, int);
16591    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.UwbAddress> CREATOR;
16592    field public static final int EXTENDED_ADDRESS_BYTE_LENGTH = 8; // 0x8
16593    field public static final int SHORT_ADDRESS_BYTE_LENGTH = 2; // 0x2
16594  }
16595
16596  public final class UwbManager {
16597    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public long elapsedRealtimeResolutionNanos();
16598    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getSpecificationInfo();
16599    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);
16600    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerAdapterStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.AdapterStateCallback);
16601    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void unregisterAdapterStateCallback(@NonNull android.uwb.UwbManager.AdapterStateCallback);
16602  }
16603
16604  public static interface UwbManager.AdapterStateCallback {
16605    method public void onStateChanged(int, int);
16606    field public static final int STATE_CHANGED_REASON_ALL_SESSIONS_CLOSED = 1; // 0x1
16607    field public static final int STATE_CHANGED_REASON_ERROR_UNKNOWN = 4; // 0x4
16608    field public static final int STATE_CHANGED_REASON_SESSION_STARTED = 0; // 0x0
16609    field public static final int STATE_CHANGED_REASON_SYSTEM_BOOT = 3; // 0x3
16610    field public static final int STATE_CHANGED_REASON_SYSTEM_POLICY = 2; // 0x2
16611    field public static final int STATE_DISABLED = 0; // 0x0
16612    field public static final int STATE_ENABLED_ACTIVE = 2; // 0x2
16613    field public static final int STATE_ENABLED_INACTIVE = 1; // 0x1
16614  }
16615
16616}
16617
16618package android.view {
16619
16620  public abstract class Window {
16621    method public void addSystemFlags(@android.view.WindowManager.LayoutParams.SystemFlags int);
16622  }
16623
16624  public interface WindowManager extends android.view.ViewManager {
16625    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public android.graphics.Region getCurrentImeTouchRegion();
16626  }
16627
16628  public static class WindowManager.LayoutParams extends android.view.ViewGroup.LayoutParams implements android.os.Parcelable {
16629    method public final long getUserActivityTimeout();
16630    method public boolean isSystemApplicationOverlay();
16631    method @RequiresPermission(android.Manifest.permission.SYSTEM_APPLICATION_OVERLAY) public void setSystemApplicationOverlay(boolean);
16632    method public final void setUserActivityTimeout(long);
16633    field @RequiresPermission(android.Manifest.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS) public static final int SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS = 524288; // 0x80000
16634    field @RequiresPermission(android.Manifest.permission.INTERNAL_SYSTEM_WINDOW) public static final int SYSTEM_FLAG_SHOW_FOR_ALL_USERS = 16; // 0x10
16635  }
16636
16637  @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 {
16638  }
16639
16640}
16641
16642package android.view.accessibility {
16643
16644  public final class AccessibilityManager {
16645    method public int getAccessibilityWindowId(@Nullable android.os.IBinder);
16646    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void performAccessibilityShortcut();
16647    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void registerSystemAction(@NonNull android.app.RemoteAction, int);
16648    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void unregisterSystemAction(int);
16649  }
16650
16651}
16652
16653package android.view.autofill {
16654
16655  public final class AutofillManager {
16656    method public void setAugmentedAutofillWhitelist(@Nullable java.util.Set<java.lang.String>, @Nullable java.util.Set<android.content.ComponentName>);
16657  }
16658
16659}
16660
16661package android.view.contentcapture {
16662
16663  public final class ContentCaptureContext implements android.os.Parcelable {
16664    method @Nullable public android.content.ComponentName getActivityComponent();
16665    method @Nullable public android.app.assist.ActivityId getActivityId();
16666    method public int getDisplayId();
16667    method public int getFlags();
16668    method @Nullable public android.view.contentcapture.ContentCaptureSessionId getParentSessionId();
16669    method public int getTaskId();
16670    method @Nullable public android.os.IBinder getWindowToken();
16671    field public static final int FLAG_DISABLED_BY_APP = 1; // 0x1
16672    field public static final int FLAG_DISABLED_BY_FLAG_SECURE = 2; // 0x2
16673    field public static final int FLAG_RECONNECTED = 4; // 0x4
16674  }
16675
16676  public final class ContentCaptureEvent implements android.os.Parcelable {
16677    method public int describeContents();
16678    method @Nullable public android.graphics.Rect getBounds();
16679    method @Nullable public android.view.contentcapture.ContentCaptureContext getContentCaptureContext();
16680    method public long getEventTime();
16681    method @Nullable public android.view.autofill.AutofillId getId();
16682    method @Nullable public java.util.List<android.view.autofill.AutofillId> getIds();
16683    method @Nullable public android.graphics.Insets getInsets();
16684    method @Nullable public CharSequence getText();
16685    method public int getType();
16686    method @Nullable public android.view.contentcapture.ViewNode getViewNode();
16687    method public void writeToParcel(android.os.Parcel, int);
16688    field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureEvent> CREATOR;
16689    field public static final int TYPE_CONTEXT_UPDATED = 6; // 0x6
16690    field public static final int TYPE_SESSION_PAUSED = 8; // 0x8
16691    field public static final int TYPE_SESSION_RESUMED = 7; // 0x7
16692    field public static final int TYPE_VIEW_APPEARED = 1; // 0x1
16693    field public static final int TYPE_VIEW_DISAPPEARED = 2; // 0x2
16694    field public static final int TYPE_VIEW_INSETS_CHANGED = 9; // 0x9
16695    field public static final int TYPE_VIEW_TEXT_CHANGED = 3; // 0x3
16696    field public static final int TYPE_VIEW_TREE_APPEARED = 5; // 0x5
16697    field public static final int TYPE_VIEW_TREE_APPEARING = 4; // 0x4
16698    field public static final int TYPE_WINDOW_BOUNDS_CHANGED = 10; // 0xa
16699  }
16700
16701  public final class ContentCaptureManager {
16702    method public boolean isContentCaptureFeatureEnabled();
16703    field public static final int NO_SESSION_ID = 0; // 0x0
16704  }
16705
16706  public final class ViewNode extends android.app.assist.AssistStructure.ViewNode {
16707    method @Nullable public android.view.autofill.AutofillId getParentAutofillId();
16708  }
16709
16710}
16711
16712package android.view.displayhash {
16713
16714  public final class DisplayHash implements android.os.Parcelable {
16715    ctor public DisplayHash(long, @NonNull android.graphics.Rect, @NonNull String, @NonNull byte[], @NonNull byte[]);
16716    method public int describeContents();
16717    method @NonNull public android.graphics.Rect getBoundsInWindow();
16718    method @NonNull public String getHashAlgorithm();
16719    method @NonNull public byte[] getHmac();
16720    method @NonNull public byte[] getImageHash();
16721    method public long getTimeMillis();
16722    method public void writeToParcel(@NonNull android.os.Parcel, int);
16723  }
16724
16725}
16726
16727package android.view.translation {
16728
16729  public final class TranslationCapability implements android.os.Parcelable {
16730    ctor public TranslationCapability(int, @NonNull android.view.translation.TranslationSpec, @NonNull android.view.translation.TranslationSpec, boolean, int);
16731  }
16732
16733  public final class UiTranslationManager {
16734    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void finishTranslation(@NonNull android.app.assist.ActivityId);
16735    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void pauseTranslation(@NonNull android.app.assist.ActivityId);
16736    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void resumeTranslation(@NonNull android.app.assist.ActivityId);
16737    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);
16738  }
16739
16740  public final class UiTranslationSpec implements android.os.Parcelable {
16741    method public int describeContents();
16742    method public boolean shouldPadContentForCompat();
16743    method public void writeToParcel(@NonNull android.os.Parcel, int);
16744    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.UiTranslationSpec> CREATOR;
16745  }
16746
16747  public static final class UiTranslationSpec.Builder {
16748    ctor public UiTranslationSpec.Builder();
16749    method @NonNull public android.view.translation.UiTranslationSpec build();
16750    method @NonNull public android.view.translation.UiTranslationSpec.Builder setShouldPadContentForCompat(boolean);
16751  }
16752
16753}
16754
16755package android.webkit {
16756
16757  public abstract class CookieManager {
16758    method protected abstract boolean allowFileSchemeCookiesImpl();
16759    method public abstract String getCookie(String, boolean);
16760    method public String getCookie(android.net.WebAddress);
16761    method public abstract boolean hasCookies(boolean);
16762    method protected abstract void setAcceptFileSchemeCookiesImpl(boolean);
16763  }
16764
16765  public class FindActionModeCallback implements android.view.ActionMode.Callback android.text.TextWatcher android.view.View.OnClickListener android.webkit.WebView.FindListener {
16766    ctor public FindActionModeCallback(android.content.Context);
16767    method public void afterTextChanged(android.text.Editable);
16768    method public void beforeTextChanged(CharSequence, int, int, int);
16769    method public void findAll();
16770    method public void finish();
16771    method public int getActionModeGlobalBottom();
16772    method public boolean onActionItemClicked(android.view.ActionMode, android.view.MenuItem);
16773    method public void onClick(android.view.View);
16774    method public boolean onCreateActionMode(android.view.ActionMode, android.view.Menu);
16775    method public void onDestroyActionMode(android.view.ActionMode);
16776    method public void onFindResultReceived(int, int, boolean);
16777    method public boolean onPrepareActionMode(android.view.ActionMode, android.view.Menu);
16778    method public void onTextChanged(CharSequence, int, int, int);
16779    method public void setText(String);
16780    method public void setWebView(@NonNull android.webkit.WebView);
16781    method public void showSoftInput();
16782    method public void updateMatchCount(int, int, boolean);
16783  }
16784
16785  public static class FindActionModeCallback.NoAction implements android.view.ActionMode.Callback {
16786    ctor public FindActionModeCallback.NoAction();
16787    method public boolean onActionItemClicked(android.view.ActionMode, android.view.MenuItem);
16788    method public boolean onCreateActionMode(android.view.ActionMode, android.view.Menu);
16789    method public void onDestroyActionMode(android.view.ActionMode);
16790    method public boolean onPrepareActionMode(android.view.ActionMode, android.view.Menu);
16791  }
16792
16793  public class GeolocationPermissions {
16794    ctor public GeolocationPermissions();
16795  }
16796
16797  public class HttpAuthHandler extends android.os.Handler {
16798    ctor public HttpAuthHandler();
16799  }
16800
16801  public class JsDialogHelper {
16802    ctor public JsDialogHelper(android.webkit.JsPromptResult, int, String, String, String);
16803    ctor public JsDialogHelper(android.webkit.JsPromptResult, android.os.Message);
16804    method public boolean invokeCallback(android.webkit.WebChromeClient, android.webkit.WebView);
16805    method public void showDialog(android.content.Context);
16806    field public static final int ALERT = 1; // 0x1
16807    field public static final int CONFIRM = 2; // 0x2
16808    field public static final int PROMPT = 3; // 0x3
16809    field public static final int UNLOAD = 4; // 0x4
16810  }
16811
16812  public class JsPromptResult extends android.webkit.JsResult {
16813    ctor public JsPromptResult(android.webkit.JsResult.ResultReceiver);
16814    method public String getStringResult();
16815  }
16816
16817  public class JsResult {
16818    ctor public JsResult(android.webkit.JsResult.ResultReceiver);
16819    method public final boolean getResult();
16820  }
16821
16822  public static interface JsResult.ResultReceiver {
16823    method public void onJsResultComplete(android.webkit.JsResult);
16824  }
16825
16826  public interface PacProcessor {
16827    method @NonNull public static android.webkit.PacProcessor createInstance();
16828    method @Nullable public String findProxyForUrl(@NonNull String);
16829    method @NonNull public static android.webkit.PacProcessor getInstance();
16830    method @Nullable public default android.net.Network getNetwork();
16831    method public default void release();
16832    method public default void setNetwork(@Nullable android.net.Network);
16833    method public boolean setProxyScript(@NonNull String);
16834  }
16835
16836  public class SslErrorHandler extends android.os.Handler {
16837    ctor public SslErrorHandler();
16838  }
16839
16840  @Deprecated public abstract class TokenBindingService {
16841    ctor @Deprecated public TokenBindingService();
16842  }
16843
16844  public class WebChromeClient {
16845    method @Deprecated public void openFileChooser(android.webkit.ValueCallback<android.net.Uri>, String, String);
16846  }
16847
16848  public abstract class WebHistoryItem implements java.lang.Cloneable {
16849    method @Deprecated public abstract int getId();
16850  }
16851
16852  @Deprecated public abstract class WebIconDatabase {
16853    method @Deprecated public abstract void bulkRequestIconForPageUrl(android.content.ContentResolver, String, android.webkit.WebIconDatabase.IconListener);
16854  }
16855
16856  public abstract class WebMessagePort {
16857    ctor public WebMessagePort();
16858  }
16859
16860  public abstract class WebResourceError {
16861    ctor public WebResourceError();
16862  }
16863
16864  public class WebResourceResponse {
16865    ctor public WebResourceResponse(boolean, String, String, int, String, java.util.Map<java.lang.String,java.lang.String>, java.io.InputStream);
16866  }
16867
16868  public abstract class WebSettings {
16869    method public abstract boolean getAcceptThirdPartyCookies();
16870    method @Deprecated public abstract boolean getNavDump();
16871    method @Deprecated public abstract boolean getPluginsEnabled();
16872    method @Deprecated public abstract boolean getUseWebViewBackgroundForOverscrollBackground();
16873    method @Deprecated public abstract int getUserAgent();
16874    method public abstract boolean getVideoOverlayForEmbeddedEncryptedVideoEnabled();
16875    method public abstract void setAcceptThirdPartyCookies(boolean);
16876    method @Deprecated public abstract void setNavDump(boolean);
16877    method @Deprecated public abstract void setPluginsEnabled(boolean);
16878    method @Deprecated public abstract void setUseWebViewBackgroundForOverscrollBackground(boolean);
16879    method @Deprecated public abstract void setUserAgent(int);
16880    method public abstract void setVideoOverlayForEmbeddedEncryptedVideoEnabled(boolean);
16881  }
16882
16883  public class WebStorage {
16884    ctor public WebStorage();
16885  }
16886
16887  public static class WebStorage.Origin {
16888    ctor protected WebStorage.Origin(String, long, long);
16889  }
16890
16891  public class WebView extends android.widget.AbsoluteLayout implements android.view.ViewGroup.OnHierarchyChangeListener android.view.ViewTreeObserver.OnGlobalFocusChangeListener {
16892    method public android.webkit.WebViewProvider getWebViewProvider();
16893  }
16894
16895  public static class WebView.HitTestResult {
16896    ctor public WebView.HitTestResult();
16897    method public void setExtra(String);
16898    method public void setType(int);
16899  }
16900
16901  public class WebView.PrivateAccess {
16902    ctor public WebView.PrivateAccess();
16903    method public void awakenScrollBars(int);
16904    method public void awakenScrollBars(int, boolean);
16905    method public float getHorizontalScrollFactor();
16906    method public int getHorizontalScrollbarHeight();
16907    method public float getVerticalScrollFactor();
16908    method public void onScrollChanged(int, int, int, int);
16909    method public void overScrollBy(int, int, int, int, int, int, int, int, boolean);
16910    method public void setMeasuredDimension(int, int);
16911    method public void setScrollXRaw(int);
16912    method public void setScrollYRaw(int);
16913    method public void super_computeScroll();
16914    method public boolean super_dispatchKeyEvent(android.view.KeyEvent);
16915    method public int super_getScrollBarStyle();
16916    method @Nullable public android.view.WindowInsets super_onApplyWindowInsets(@Nullable android.view.WindowInsets);
16917    method public void super_onDrawVerticalScrollBar(android.graphics.Canvas, android.graphics.drawable.Drawable, int, int, int, int);
16918    method public boolean super_onGenericMotionEvent(android.view.MotionEvent);
16919    method public boolean super_onHoverEvent(android.view.MotionEvent);
16920    method public boolean super_performAccessibilityAction(int, android.os.Bundle);
16921    method public boolean super_performLongClick();
16922    method public boolean super_requestFocus(int, android.graphics.Rect);
16923    method public void super_scrollTo(int, int);
16924    method public boolean super_setFrame(int, int, int, int);
16925    method public void super_setLayoutParams(android.view.ViewGroup.LayoutParams);
16926    method public void super_startActivityForResult(android.content.Intent, int);
16927  }
16928
16929  public final class WebViewDelegate {
16930    method public void addWebViewAssetPath(android.content.Context);
16931    method @Deprecated public void callDrawGlFunction(android.graphics.Canvas, long);
16932    method @Deprecated public void callDrawGlFunction(@NonNull android.graphics.Canvas, long, @Nullable Runnable);
16933    method @Deprecated public boolean canInvokeDrawGlFunctor(android.view.View);
16934    method @Deprecated public void detachDrawGlFunctor(android.view.View, long);
16935    method public void drawWebViewFunctor(@NonNull android.graphics.Canvas, int);
16936    method public android.app.Application getApplication();
16937    method public String getDataDirectorySuffix();
16938    method public String getErrorString(android.content.Context, int);
16939    method public int getPackageId(android.content.res.Resources, String);
16940    method @NonNull public android.webkit.WebViewFactory.StartupTimestamps getStartupTimestamps();
16941    method @Deprecated public void invokeDrawGlFunctor(android.view.View, long, boolean);
16942    method public boolean isMultiProcessEnabled();
16943    method public boolean isTraceTagEnabled();
16944    method public void setOnTraceEnabledChangeListener(android.webkit.WebViewDelegate.OnTraceEnabledChangeListener);
16945  }
16946
16947  public static interface WebViewDelegate.OnTraceEnabledChangeListener {
16948    method public void onTraceEnabledChange(boolean);
16949  }
16950
16951  public final class WebViewFactory {
16952    ctor public WebViewFactory();
16953    method public static android.content.pm.PackageInfo getLoadedPackageInfo();
16954    method public static int loadWebViewNativeLibraryFromPackage(String, ClassLoader);
16955    method public static void prepareWebViewInZygote();
16956    field public static final int LIBLOAD_ADDRESS_SPACE_NOT_RESERVED = 2; // 0x2
16957    field public static final int LIBLOAD_FAILED_JNI_CALL = 7; // 0x7
16958    field public static final int LIBLOAD_FAILED_LISTING_WEBVIEW_PACKAGES = 4; // 0x4
16959    field public static final int LIBLOAD_FAILED_TO_FIND_NAMESPACE = 10; // 0xa
16960    field public static final int LIBLOAD_FAILED_TO_LOAD_LIBRARY = 6; // 0x6
16961    field public static final int LIBLOAD_FAILED_TO_OPEN_RELRO_FILE = 5; // 0x5
16962    field public static final int LIBLOAD_FAILED_WAITING_FOR_RELRO = 3; // 0x3
16963    field public static final int LIBLOAD_FAILED_WAITING_FOR_WEBVIEW_REASON_UNKNOWN = 8; // 0x8
16964    field public static final int LIBLOAD_SUCCESS = 0; // 0x0
16965    field public static final int LIBLOAD_WRONG_PACKAGE_NAME = 1; // 0x1
16966  }
16967
16968  public static class WebViewFactory.StartupTimestamps {
16969    method public long getAddAssetsEnd();
16970    method public long getAddAssetsStart();
16971    method public long getCreateContextEnd();
16972    method public long getCreateContextStart();
16973    method public long getGetClassLoaderEnd();
16974    method public long getGetClassLoaderStart();
16975    method public long getNativeLoadEnd();
16976    method public long getNativeLoadStart();
16977    method public long getProviderClassForNameEnd();
16978    method public long getProviderClassForNameStart();
16979    method public long getWebViewLoadStart();
16980  }
16981
16982  public interface WebViewFactoryProvider {
16983    method @NonNull public default android.webkit.PacProcessor createPacProcessor();
16984    method public android.webkit.WebViewProvider createWebView(android.webkit.WebView, android.webkit.WebView.PrivateAccess);
16985    method public android.webkit.CookieManager getCookieManager();
16986    method public android.webkit.GeolocationPermissions getGeolocationPermissions();
16987    method @NonNull public default android.webkit.PacProcessor getPacProcessor();
16988    method public android.webkit.ServiceWorkerController getServiceWorkerController();
16989    method public android.webkit.WebViewFactoryProvider.Statics getStatics();
16990    method @Deprecated public android.webkit.TokenBindingService getTokenBindingService();
16991    method public android.webkit.TracingController getTracingController();
16992    method public android.webkit.WebIconDatabase getWebIconDatabase();
16993    method public android.webkit.WebStorage getWebStorage();
16994    method public ClassLoader getWebViewClassLoader();
16995    method public android.webkit.WebViewDatabase getWebViewDatabase(android.content.Context);
16996  }
16997
16998  public static interface WebViewFactoryProvider.Statics {
16999    method public void clearClientCertPreferences(Runnable);
17000    method public void enableSlowWholeDocumentDraw();
17001    method public String findAddress(String);
17002    method public void freeMemoryForTests();
17003    method public String getDefaultUserAgent(android.content.Context);
17004    method @NonNull public android.net.Uri getSafeBrowsingPrivacyPolicyUrl();
17005    method public void initSafeBrowsing(android.content.Context, android.webkit.ValueCallback<java.lang.Boolean>);
17006    method public android.net.Uri[] parseFileChooserResult(int, android.content.Intent);
17007    method public void setSafeBrowsingWhitelist(java.util.List<java.lang.String>, android.webkit.ValueCallback<java.lang.Boolean>);
17008    method public void setWebContentsDebuggingEnabled(boolean);
17009  }
17010
17011  public interface WebViewProvider {
17012    method public void addJavascriptInterface(Object, String);
17013    method public boolean canGoBack();
17014    method public boolean canGoBackOrForward(int);
17015    method public boolean canGoForward();
17016    method public boolean canZoomIn();
17017    method public boolean canZoomOut();
17018    method public android.graphics.Picture capturePicture();
17019    method public void clearCache(boolean);
17020    method public void clearFormData();
17021    method public void clearHistory();
17022    method public void clearMatches();
17023    method public void clearSslPreferences();
17024    method public void clearView();
17025    method public android.webkit.WebBackForwardList copyBackForwardList();
17026    method public android.print.PrintDocumentAdapter createPrintDocumentAdapter(String);
17027    method public android.webkit.WebMessagePort[] createWebMessageChannel();
17028    method public void destroy();
17029    method public void documentHasImages(android.os.Message);
17030    method public void dumpViewHierarchyWithProperties(java.io.BufferedWriter, int);
17031    method public void evaluateJavaScript(String, android.webkit.ValueCallback<java.lang.String>);
17032    method public int findAll(String);
17033    method public void findAllAsync(String);
17034    method public android.view.View findHierarchyView(String, int);
17035    method public void findNext(boolean);
17036    method public void flingScroll(int, int);
17037    method public void freeMemory();
17038    method public android.net.http.SslCertificate getCertificate();
17039    method public int getContentHeight();
17040    method public int getContentWidth();
17041    method public android.graphics.Bitmap getFavicon();
17042    method public android.webkit.WebView.HitTestResult getHitTestResult();
17043    method public String[] getHttpAuthUsernamePassword(String, String);
17044    method public String getOriginalUrl();
17045    method public int getProgress();
17046    method public boolean getRendererPriorityWaivedWhenNotVisible();
17047    method public int getRendererRequestedPriority();
17048    method public float getScale();
17049    method public android.webkit.WebViewProvider.ScrollDelegate getScrollDelegate();
17050    method public android.webkit.WebSettings getSettings();
17051    method @NonNull public default android.view.textclassifier.TextClassifier getTextClassifier();
17052    method public String getTitle();
17053    method public String getTouchIconUrl();
17054    method public String getUrl();
17055    method public android.webkit.WebViewProvider.ViewDelegate getViewDelegate();
17056    method public int getVisibleTitleHeight();
17057    method public android.webkit.WebChromeClient getWebChromeClient();
17058    method public android.webkit.WebViewClient getWebViewClient();
17059    method @Nullable public android.webkit.WebViewRenderProcess getWebViewRenderProcess();
17060    method @Nullable public android.webkit.WebViewRenderProcessClient getWebViewRenderProcessClient();
17061    method public android.view.View getZoomControls();
17062    method public void goBack();
17063    method public void goBackOrForward(int);
17064    method public void goForward();
17065    method public void init(java.util.Map<java.lang.String,java.lang.Object>, boolean);
17066    method public void insertVisualStateCallback(long, android.webkit.WebView.VisualStateCallback);
17067    method public void invokeZoomPicker();
17068    method public boolean isPaused();
17069    method public boolean isPrivateBrowsingEnabled();
17070    method public void loadData(String, String, String);
17071    method public void loadDataWithBaseURL(String, String, String, String, String);
17072    method public void loadUrl(String, java.util.Map<java.lang.String,java.lang.String>);
17073    method public void loadUrl(String);
17074    method public void notifyFindDialogDismissed();
17075    method public void onPause();
17076    method public void onResume();
17077    method public boolean overlayHorizontalScrollbar();
17078    method public boolean overlayVerticalScrollbar();
17079    method public boolean pageDown(boolean);
17080    method public boolean pageUp(boolean);
17081    method public void pauseTimers();
17082    method public void postMessageToMainFrame(android.webkit.WebMessage, android.net.Uri);
17083    method public void postUrl(String, byte[]);
17084    method public void reload();
17085    method public void removeJavascriptInterface(String);
17086    method public void requestFocusNodeHref(android.os.Message);
17087    method public void requestImageRef(android.os.Message);
17088    method public boolean restorePicture(android.os.Bundle, java.io.File);
17089    method public android.webkit.WebBackForwardList restoreState(android.os.Bundle);
17090    method public void resumeTimers();
17091    method public void savePassword(String, String, String);
17092    method public boolean savePicture(android.os.Bundle, java.io.File);
17093    method public android.webkit.WebBackForwardList saveState(android.os.Bundle);
17094    method public void saveWebArchive(String);
17095    method public void saveWebArchive(String, boolean, android.webkit.ValueCallback<java.lang.String>);
17096    method public void setCertificate(android.net.http.SslCertificate);
17097    method public void setDownloadListener(android.webkit.DownloadListener);
17098    method public void setFindListener(android.webkit.WebView.FindListener);
17099    method public void setHorizontalScrollbarOverlay(boolean);
17100    method public void setHttpAuthUsernamePassword(String, String, String, String);
17101    method public void setInitialScale(int);
17102    method public void setMapTrackballToArrowKeys(boolean);
17103    method public void setNetworkAvailable(boolean);
17104    method public void setPictureListener(android.webkit.WebView.PictureListener);
17105    method public void setRendererPriorityPolicy(int, boolean);
17106    method public default void setTextClassifier(@Nullable android.view.textclassifier.TextClassifier);
17107    method public void setVerticalScrollbarOverlay(boolean);
17108    method public void setWebChromeClient(android.webkit.WebChromeClient);
17109    method public void setWebViewClient(android.webkit.WebViewClient);
17110    method public void setWebViewRenderProcessClient(@Nullable java.util.concurrent.Executor, @Nullable android.webkit.WebViewRenderProcessClient);
17111    method public boolean showFindDialog(String, boolean);
17112    method public void stopLoading();
17113    method public boolean zoomBy(float);
17114    method public boolean zoomIn();
17115    method public boolean zoomOut();
17116  }
17117
17118  public static interface WebViewProvider.ScrollDelegate {
17119    method public int computeHorizontalScrollOffset();
17120    method public int computeHorizontalScrollRange();
17121    method public void computeScroll();
17122    method public int computeVerticalScrollExtent();
17123    method public int computeVerticalScrollOffset();
17124    method public int computeVerticalScrollRange();
17125  }
17126
17127  public static interface WebViewProvider.ViewDelegate {
17128    method public default void autofill(android.util.SparseArray<android.view.autofill.AutofillValue>);
17129    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>);
17130    method public boolean dispatchKeyEvent(android.view.KeyEvent);
17131    method public android.view.View findFocus(android.view.View);
17132    method public android.view.accessibility.AccessibilityNodeProvider getAccessibilityNodeProvider();
17133    method public android.os.Handler getHandler(android.os.Handler);
17134    method public default boolean isVisibleToUserForAutofill(int);
17135    method public void onActivityResult(int, int, android.content.Intent);
17136    method @Nullable public default android.view.WindowInsets onApplyWindowInsets(@Nullable android.view.WindowInsets);
17137    method public void onAttachedToWindow();
17138    method public default boolean onCheckIsTextEditor();
17139    method public void onConfigurationChanged(android.content.res.Configuration);
17140    method public android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo);
17141    method public default void onCreateVirtualViewTranslationRequests(@NonNull long[], @NonNull int[], @NonNull java.util.function.Consumer<android.view.translation.ViewTranslationRequest>);
17142    method public void onDetachedFromWindow();
17143    method public boolean onDragEvent(android.view.DragEvent);
17144    method public void onDraw(android.graphics.Canvas);
17145    method public void onDrawVerticalScrollBar(android.graphics.Canvas, android.graphics.drawable.Drawable, int, int, int, int);
17146    method public void onFinishTemporaryDetach();
17147    method public void onFocusChanged(boolean, int, android.graphics.Rect);
17148    method public boolean onGenericMotionEvent(android.view.MotionEvent);
17149    method public boolean onHoverEvent(android.view.MotionEvent);
17150    method public void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
17151    method public void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo);
17152    method public boolean onKeyDown(int, android.view.KeyEvent);
17153    method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
17154    method public boolean onKeyUp(int, android.view.KeyEvent);
17155    method public void onMeasure(int, int);
17156    method public default void onMovedToDisplay(int, android.content.res.Configuration);
17157    method public void onOverScrolled(int, int, boolean, boolean);
17158    method public default void onProvideAutofillVirtualStructure(android.view.ViewStructure, int);
17159    method public default void onProvideContentCaptureStructure(@NonNull android.view.ViewStructure, int);
17160    method public void onProvideVirtualStructure(android.view.ViewStructure);
17161    method public void onScrollChanged(int, int, int, int);
17162    method public void onSizeChanged(int, int, int, int);
17163    method public void onStartTemporaryDetach();
17164    method public boolean onTouchEvent(android.view.MotionEvent);
17165    method public boolean onTrackballEvent(android.view.MotionEvent);
17166    method public default void onVirtualViewTranslationResponses(@NonNull android.util.LongSparseArray<android.view.translation.ViewTranslationResponse>);
17167    method public void onVisibilityChanged(android.view.View, int);
17168    method public void onWindowFocusChanged(boolean);
17169    method public void onWindowVisibilityChanged(int);
17170    method public boolean performAccessibilityAction(int, android.os.Bundle);
17171    method public boolean performLongClick();
17172    method public void preDispatchDraw(android.graphics.Canvas);
17173    method public boolean requestChildRectangleOnScreen(android.view.View, android.graphics.Rect, boolean);
17174    method public boolean requestFocus(int, android.graphics.Rect);
17175    method public void setBackgroundColor(int);
17176    method public boolean setFrame(int, int, int, int);
17177    method public void setLayerType(int, android.graphics.Paint);
17178    method public void setLayoutParams(android.view.ViewGroup.LayoutParams);
17179    method public void setOverScrollMode(int);
17180    method public void setScrollBarStyle(int);
17181    method public boolean shouldDelayChildPressedState();
17182  }
17183
17184  public final class WebViewProviderInfo implements android.os.Parcelable {
17185    ctor public WebViewProviderInfo(String, String, boolean, boolean, String[]);
17186    method public int describeContents();
17187    method public void writeToParcel(android.os.Parcel, int);
17188    field @NonNull public static final android.os.Parcelable.Creator<android.webkit.WebViewProviderInfo> CREATOR;
17189    field public final boolean availableByDefault;
17190    field public final String description;
17191    field public final boolean isFallback;
17192    field public final String packageName;
17193    field public final android.content.pm.Signature[] signatures;
17194  }
17195
17196  public final class WebViewUpdateService {
17197    method public static android.webkit.WebViewProviderInfo[] getAllWebViewPackages();
17198    method public static String getCurrentWebViewPackageName();
17199    method public static android.webkit.WebViewProviderInfo[] getValidWebViewPackages();
17200  }
17201
17202}
17203
17204