xref: /aosp_15_r20/prebuilts/sdk/30/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_SHARED_LIBRARIES = "android.permission.ACCESS_SHARED_LIBRARIES";
18    field public static final String ACCESS_SHORTCUTS = "android.permission.ACCESS_SHORTCUTS";
19    field public static final String ACCESS_SURFACE_FLINGER = "android.permission.ACCESS_SURFACE_FLINGER";
20    field public static final String ACCESS_TV_DESCRAMBLER = "android.permission.ACCESS_TV_DESCRAMBLER";
21    field public static final String ACCESS_TV_TUNER = "android.permission.ACCESS_TV_TUNER";
22    field public static final String ACCESS_VIBRATOR_STATE = "android.permission.ACCESS_VIBRATOR_STATE";
23    field public static final String ACTIVITY_EMBEDDING = "android.permission.ACTIVITY_EMBEDDING";
24    field public static final String ADJUST_RUNTIME_PERMISSIONS_POLICY = "android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY";
25    field public static final String ALLOCATE_AGGRESSIVE = "android.permission.ALLOCATE_AGGRESSIVE";
26    field public static final String ALLOW_ANY_CODEC_FOR_PLAYBACK = "android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK";
27    field public static final String AMBIENT_WALLPAPER = "android.permission.AMBIENT_WALLPAPER";
28    field public static final String APPROVE_INCIDENT_REPORTS = "android.permission.APPROVE_INCIDENT_REPORTS";
29    field public static final String BACKUP = "android.permission.BACKUP";
30    field public static final String BIND_ATTENTION_SERVICE = "android.permission.BIND_ATTENTION_SERVICE";
31    field public static final String BIND_AUGMENTED_AUTOFILL_SERVICE = "android.permission.BIND_AUGMENTED_AUTOFILL_SERVICE";
32    field public static final String BIND_CELL_BROADCAST_SERVICE = "android.permission.BIND_CELL_BROADCAST_SERVICE";
33    field @Deprecated public static final String BIND_CONNECTION_SERVICE = "android.permission.BIND_CONNECTION_SERVICE";
34    field public static final String BIND_CONTENT_CAPTURE_SERVICE = "android.permission.BIND_CONTENT_CAPTURE_SERVICE";
35    field public static final String BIND_CONTENT_SUGGESTIONS_SERVICE = "android.permission.BIND_CONTENT_SUGGESTIONS_SERVICE";
36    field public static final String BIND_DIRECTORY_SEARCH = "android.permission.BIND_DIRECTORY_SEARCH";
37    field public static final String BIND_EUICC_SERVICE = "android.permission.BIND_EUICC_SERVICE";
38    field public static final String BIND_EXTERNAL_STORAGE_SERVICE = "android.permission.BIND_EXTERNAL_STORAGE_SERVICE";
39    field public static final String BIND_IMS_SERVICE = "android.permission.BIND_IMS_SERVICE";
40    field public static final String BIND_KEYGUARD_APPWIDGET = "android.permission.BIND_KEYGUARD_APPWIDGET";
41    field public static final String BIND_NETWORK_RECOMMENDATION_SERVICE = "android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE";
42    field public static final String BIND_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.BIND_NOTIFICATION_ASSISTANT_SERVICE";
43    field public static final String BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE = "android.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE";
44    field public static final String BIND_PRINT_RECOMMENDATION_SERVICE = "android.permission.BIND_PRINT_RECOMMENDATION_SERVICE";
45    field public static final String BIND_RESOLVER_RANKER_SERVICE = "android.permission.BIND_RESOLVER_RANKER_SERVICE";
46    field public static final String BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE = "android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE";
47    field public static final String BIND_SETTINGS_SUGGESTIONS_SERVICE = "android.permission.BIND_SETTINGS_SUGGESTIONS_SERVICE";
48    field public static final String BIND_SOUND_TRIGGER_DETECTION_SERVICE = "android.permission.BIND_SOUND_TRIGGER_DETECTION_SERVICE";
49    field public static final String BIND_TELEPHONY_DATA_SERVICE = "android.permission.BIND_TELEPHONY_DATA_SERVICE";
50    field public static final String BIND_TELEPHONY_NETWORK_SERVICE = "android.permission.BIND_TELEPHONY_NETWORK_SERVICE";
51    field public static final String BIND_TEXTCLASSIFIER_SERVICE = "android.permission.BIND_TEXTCLASSIFIER_SERVICE";
52    field public static final String BIND_TRUST_AGENT = "android.permission.BIND_TRUST_AGENT";
53    field public static final String BIND_TV_REMOTE_SERVICE = "android.permission.BIND_TV_REMOTE_SERVICE";
54    field public static final String BRICK = "android.permission.BRICK";
55    field public static final String BRIGHTNESS_SLIDER_USAGE = "android.permission.BRIGHTNESS_SLIDER_USAGE";
56    field @Deprecated public static final String BROADCAST_NETWORK_PRIVILEGED = "android.permission.BROADCAST_NETWORK_PRIVILEGED";
57    field public static final String CAMERA_DISABLE_TRANSMIT_LED = "android.permission.CAMERA_DISABLE_TRANSMIT_LED";
58    field public static final String CAPTURE_AUDIO_HOTWORD = "android.permission.CAPTURE_AUDIO_HOTWORD";
59    field public static final String CAPTURE_MEDIA_OUTPUT = "android.permission.CAPTURE_MEDIA_OUTPUT";
60    field public static final String CAPTURE_TV_INPUT = "android.permission.CAPTURE_TV_INPUT";
61    field public static final String CAPTURE_VOICE_COMMUNICATION_OUTPUT = "android.permission.CAPTURE_VOICE_COMMUNICATION_OUTPUT";
62    field public static final String CHANGE_APP_IDLE_STATE = "android.permission.CHANGE_APP_IDLE_STATE";
63    field public static final String CHANGE_DEVICE_IDLE_TEMP_WHITELIST = "android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST";
64    field public static final String CLEAR_APP_USER_DATA = "android.permission.CLEAR_APP_USER_DATA";
65    field public static final String COMPANION_APPROVE_WIFI_CONNECTIONS = "android.permission.COMPANION_APPROVE_WIFI_CONNECTIONS";
66    field public static final String CONFIGURE_DISPLAY_BRIGHTNESS = "android.permission.CONFIGURE_DISPLAY_BRIGHTNESS";
67    field public static final String CONFIGURE_WIFI_DISPLAY = "android.permission.CONFIGURE_WIFI_DISPLAY";
68    field @Deprecated public static final String CONNECTIVITY_INTERNAL = "android.permission.CONNECTIVITY_INTERNAL";
69    field public static final String CONNECTIVITY_USE_RESTRICTED_NETWORKS = "android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS";
70    field public static final String CONTROL_DEVICE_LIGHTS = "android.permission.CONTROL_DEVICE_LIGHTS";
71    field public static final String CONTROL_DISPLAY_COLOR_TRANSFORMS = "android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS";
72    field public static final String CONTROL_DISPLAY_SATURATION = "android.permission.CONTROL_DISPLAY_SATURATION";
73    field public static final String CONTROL_INCALL_EXPERIENCE = "android.permission.CONTROL_INCALL_EXPERIENCE";
74    field public static final String CONTROL_KEYGUARD_SECURE_NOTIFICATIONS = "android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS";
75    field public static final String CONTROL_VPN = "android.permission.CONTROL_VPN";
76    field public static final String CREATE_USERS = "android.permission.CREATE_USERS";
77    field public static final String CRYPT_KEEPER = "android.permission.CRYPT_KEEPER";
78    field public static final String DEVICE_POWER = "android.permission.DEVICE_POWER";
79    field public static final String DISPATCH_PROVISIONING_MESSAGE = "android.permission.DISPATCH_PROVISIONING_MESSAGE";
80    field public static final String ENTER_CAR_MODE_PRIORITIZED = "android.permission.ENTER_CAR_MODE_PRIORITIZED";
81    field public static final String EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS = "android.permission.EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS";
82    field public static final String FORCE_BACK = "android.permission.FORCE_BACK";
83    field public static final String FORCE_STOP_PACKAGES = "android.permission.FORCE_STOP_PACKAGES";
84    field public static final String GET_APP_OPS_STATS = "android.permission.GET_APP_OPS_STATS";
85    field public static final String GET_PROCESS_STATE_AND_OOM_SCORE = "android.permission.GET_PROCESS_STATE_AND_OOM_SCORE";
86    field public static final String GET_RUNTIME_PERMISSIONS = "android.permission.GET_RUNTIME_PERMISSIONS";
87    field public static final String GET_TOP_ACTIVITY_INFO = "android.permission.GET_TOP_ACTIVITY_INFO";
88    field @Deprecated public static final String GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS = "android.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS";
89    field public static final String GRANT_RUNTIME_PERMISSIONS = "android.permission.GRANT_RUNTIME_PERMISSIONS";
90    field public static final String GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS = "android.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS";
91    field public static final String HANDLE_CAR_MODE_CHANGES = "android.permission.HANDLE_CAR_MODE_CHANGES";
92    field public static final String HARDWARE_TEST = "android.permission.HARDWARE_TEST";
93    field public static final String HDMI_CEC = "android.permission.HDMI_CEC";
94    field public static final String HIDE_NON_SYSTEM_OVERLAY_WINDOWS = "android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS";
95    field public static final String INJECT_EVENTS = "android.permission.INJECT_EVENTS";
96    field public static final String INSTALL_DYNAMIC_SYSTEM = "android.permission.INSTALL_DYNAMIC_SYSTEM";
97    field public static final String INSTALL_GRANT_RUNTIME_PERMISSIONS = "android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS";
98    field public static final String INSTALL_PACKAGE_UPDATES = "android.permission.INSTALL_PACKAGE_UPDATES";
99    field public static final String INSTALL_SELF_UPDATES = "android.permission.INSTALL_SELF_UPDATES";
100    field public static final String INTENT_FILTER_VERIFICATION_AGENT = "android.permission.INTENT_FILTER_VERIFICATION_AGENT";
101    field public static final String INTERACT_ACROSS_USERS = "android.permission.INTERACT_ACROSS_USERS";
102    field public static final String INTERACT_ACROSS_USERS_FULL = "android.permission.INTERACT_ACROSS_USERS_FULL";
103    field public static final String INTERNAL_SYSTEM_WINDOW = "android.permission.INTERNAL_SYSTEM_WINDOW";
104    field public static final String INVOKE_CARRIER_SETUP = "android.permission.INVOKE_CARRIER_SETUP";
105    field public static final String KILL_UID = "android.permission.KILL_UID";
106    field public static final String LOCAL_MAC_ADDRESS = "android.permission.LOCAL_MAC_ADDRESS";
107    field public static final String LOCK_DEVICE = "android.permission.LOCK_DEVICE";
108    field public static final String LOOP_RADIO = "android.permission.LOOP_RADIO";
109    field public static final String MANAGE_ACCESSIBILITY = "android.permission.MANAGE_ACCESSIBILITY";
110    field public static final String MANAGE_ACTIVITY_STACKS = "android.permission.MANAGE_ACTIVITY_STACKS";
111    field public static final String MANAGE_APP_OPS_RESTRICTIONS = "android.permission.MANAGE_APP_OPS_RESTRICTIONS";
112    field public static final String MANAGE_APP_PREDICTIONS = "android.permission.MANAGE_APP_PREDICTIONS";
113    field public static final String MANAGE_APP_TOKENS = "android.permission.MANAGE_APP_TOKENS";
114    field public static final String MANAGE_AUTO_FILL = "android.permission.MANAGE_AUTO_FILL";
115    field public static final String MANAGE_CARRIER_OEM_UNLOCK_STATE = "android.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE";
116    field public static final String MANAGE_CA_CERTIFICATES = "android.permission.MANAGE_CA_CERTIFICATES";
117    field public static final String MANAGE_CONTENT_CAPTURE = "android.permission.MANAGE_CONTENT_CAPTURE";
118    field public static final String MANAGE_CONTENT_SUGGESTIONS = "android.permission.MANAGE_CONTENT_SUGGESTIONS";
119    field public static final String MANAGE_DEBUGGING = "android.permission.MANAGE_DEBUGGING";
120    field public static final String MANAGE_FACTORY_RESET_PROTECTION = "android.permission.MANAGE_FACTORY_RESET_PROTECTION";
121    field public static final String MANAGE_IPSEC_TUNNELS = "android.permission.MANAGE_IPSEC_TUNNELS";
122    field public static final String MANAGE_ONE_TIME_PERMISSION_SESSIONS = "android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS";
123    field public static final String MANAGE_ROLE_HOLDERS = "android.permission.MANAGE_ROLE_HOLDERS";
124    field public static final String MANAGE_ROLLBACKS = "android.permission.MANAGE_ROLLBACKS";
125    field public static final String MANAGE_SENSOR_PRIVACY = "android.permission.MANAGE_SENSOR_PRIVACY";
126    field public static final String MANAGE_SOUND_TRIGGER = "android.permission.MANAGE_SOUND_TRIGGER";
127    field public static final String MANAGE_SUBSCRIPTION_PLANS = "android.permission.MANAGE_SUBSCRIPTION_PLANS";
128    field public static final String MANAGE_USB = "android.permission.MANAGE_USB";
129    field public static final String MANAGE_USERS = "android.permission.MANAGE_USERS";
130    field public static final String MANAGE_USER_OEM_UNLOCK_STATE = "android.permission.MANAGE_USER_OEM_UNLOCK_STATE";
131    field public static final String MODIFY_APPWIDGET_BIND_PERMISSIONS = "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS";
132    field public static final String MODIFY_AUDIO_ROUTING = "android.permission.MODIFY_AUDIO_ROUTING";
133    field public static final String MODIFY_CELL_BROADCASTS = "android.permission.MODIFY_CELL_BROADCASTS";
134    field public static final String MODIFY_DAY_NIGHT_MODE = "android.permission.MODIFY_DAY_NIGHT_MODE";
135    field @Deprecated public static final String MODIFY_NETWORK_ACCOUNTING = "android.permission.MODIFY_NETWORK_ACCOUNTING";
136    field public static final String MODIFY_PARENTAL_CONTROLS = "android.permission.MODIFY_PARENTAL_CONTROLS";
137    field public static final String MODIFY_QUIET_MODE = "android.permission.MODIFY_QUIET_MODE";
138    field public static final String MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE = "android.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE";
139    field public static final String MOVE_PACKAGE = "android.permission.MOVE_PACKAGE";
140    field public static final String NETWORK_AIRPLANE_MODE = "android.permission.NETWORK_AIRPLANE_MODE";
141    field public static final String NETWORK_CARRIER_PROVISIONING = "android.permission.NETWORK_CARRIER_PROVISIONING";
142    field public static final String NETWORK_FACTORY = "android.permission.NETWORK_FACTORY";
143    field public static final String NETWORK_MANAGED_PROVISIONING = "android.permission.NETWORK_MANAGED_PROVISIONING";
144    field public static final String NETWORK_SCAN = "android.permission.NETWORK_SCAN";
145    field public static final String NETWORK_SETTINGS = "android.permission.NETWORK_SETTINGS";
146    field public static final String NETWORK_SETUP_WIZARD = "android.permission.NETWORK_SETUP_WIZARD";
147    field public static final String NETWORK_SIGNAL_STRENGTH_WAKEUP = "android.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP";
148    field public static final String NETWORK_STACK = "android.permission.NETWORK_STACK";
149    field public static final String NETWORK_STATS_PROVIDER = "android.permission.NETWORK_STATS_PROVIDER";
150    field public static final String NOTIFICATION_DURING_SETUP = "android.permission.NOTIFICATION_DURING_SETUP";
151    field public static final String NOTIFY_TV_INPUTS = "android.permission.NOTIFY_TV_INPUTS";
152    field public static final String OBSERVE_APP_USAGE = "android.permission.OBSERVE_APP_USAGE";
153    field public static final String OBSERVE_NETWORK_POLICY = "android.permission.OBSERVE_NETWORK_POLICY";
154    field public static final String OBSERVE_ROLE_HOLDERS = "android.permission.OBSERVE_ROLE_HOLDERS";
155    field public static final String OPEN_ACCESSIBILITY_DETAILS_SETTINGS = "android.permission.OPEN_ACCESSIBILITY_DETAILS_SETTINGS";
156    field public static final String OVERRIDE_WIFI_CONFIG = "android.permission.OVERRIDE_WIFI_CONFIG";
157    field public static final String PACKAGE_VERIFICATION_AGENT = "android.permission.PACKAGE_VERIFICATION_AGENT";
158    field public static final String PACKET_KEEPALIVE_OFFLOAD = "android.permission.PACKET_KEEPALIVE_OFFLOAD";
159    field public static final String PEERS_MAC_ADDRESS = "android.permission.PEERS_MAC_ADDRESS";
160    field public static final String PERFORM_CDMA_PROVISIONING = "android.permission.PERFORM_CDMA_PROVISIONING";
161    field public static final String PERFORM_SIM_ACTIVATION = "android.permission.PERFORM_SIM_ACTIVATION";
162    field public static final String POWER_SAVER = "android.permission.POWER_SAVER";
163    field public static final String PROVIDE_RESOLVER_RANKER_SERVICE = "android.permission.PROVIDE_RESOLVER_RANKER_SERVICE";
164    field public static final String PROVIDE_TRUST_AGENT = "android.permission.PROVIDE_TRUST_AGENT";
165    field public static final String QUERY_TIME_ZONE_RULES = "android.permission.QUERY_TIME_ZONE_RULES";
166    field public static final String RADIO_SCAN_WITHOUT_LOCATION = "android.permission.RADIO_SCAN_WITHOUT_LOCATION";
167    field public static final String READ_ACTIVE_EMERGENCY_SESSION = "android.permission.READ_ACTIVE_EMERGENCY_SESSION";
168    field public static final String READ_CARRIER_APP_INFO = "android.permission.READ_CARRIER_APP_INFO";
169    field public static final String READ_CELL_BROADCASTS = "android.permission.READ_CELL_BROADCASTS";
170    field public static final String READ_CONTENT_RATING_SYSTEMS = "android.permission.READ_CONTENT_RATING_SYSTEMS";
171    field public static final String READ_DEVICE_CONFIG = "android.permission.READ_DEVICE_CONFIG";
172    field public static final String READ_DREAM_STATE = "android.permission.READ_DREAM_STATE";
173    field public static final String READ_INSTALL_SESSIONS = "android.permission.READ_INSTALL_SESSIONS";
174    field public static final String READ_NETWORK_USAGE_HISTORY = "android.permission.READ_NETWORK_USAGE_HISTORY";
175    field public static final String READ_OEM_UNLOCK_STATE = "android.permission.READ_OEM_UNLOCK_STATE";
176    field public static final String READ_PRINT_SERVICES = "android.permission.READ_PRINT_SERVICES";
177    field public static final String READ_PRINT_SERVICE_RECOMMENDATIONS = "android.permission.READ_PRINT_SERVICE_RECOMMENDATIONS";
178    field public static final String READ_PRIVILEGED_PHONE_STATE = "android.permission.READ_PRIVILEGED_PHONE_STATE";
179    field public static final String READ_RUNTIME_PROFILES = "android.permission.READ_RUNTIME_PROFILES";
180    field public static final String READ_SEARCH_INDEXABLES = "android.permission.READ_SEARCH_INDEXABLES";
181    field public static final String READ_SYSTEM_UPDATE_INFO = "android.permission.READ_SYSTEM_UPDATE_INFO";
182    field public static final String READ_WALLPAPER_INTERNAL = "android.permission.READ_WALLPAPER_INTERNAL";
183    field public static final String READ_WIFI_CREDENTIAL = "android.permission.READ_WIFI_CREDENTIAL";
184    field public static final String REAL_GET_TASKS = "android.permission.REAL_GET_TASKS";
185    field public static final String RECEIVE_DATA_ACTIVITY_CHANGE = "android.permission.RECEIVE_DATA_ACTIVITY_CHANGE";
186    field public static final String RECEIVE_DEVICE_CUSTOMIZATION_READY = "android.permission.RECEIVE_DEVICE_CUSTOMIZATION_READY";
187    field public static final String RECEIVE_EMERGENCY_BROADCAST = "android.permission.RECEIVE_EMERGENCY_BROADCAST";
188    field public static final String RECEIVE_WIFI_CREDENTIAL_CHANGE = "android.permission.RECEIVE_WIFI_CREDENTIAL_CHANGE";
189    field public static final String RECOVERY = "android.permission.RECOVERY";
190    field public static final String RECOVER_KEYSTORE = "android.permission.RECOVER_KEYSTORE";
191    field public static final String REGISTER_CALL_PROVIDER = "android.permission.REGISTER_CALL_PROVIDER";
192    field public static final String REGISTER_CONNECTION_MANAGER = "android.permission.REGISTER_CONNECTION_MANAGER";
193    field public static final String REGISTER_SIM_SUBSCRIPTION = "android.permission.REGISTER_SIM_SUBSCRIPTION";
194    field public static final String REGISTER_STATS_PULL_ATOM = "android.permission.REGISTER_STATS_PULL_ATOM";
195    field public static final String REMOTE_DISPLAY_PROVIDER = "android.permission.REMOTE_DISPLAY_PROVIDER";
196    field public static final String REMOVE_DRM_CERTIFICATES = "android.permission.REMOVE_DRM_CERTIFICATES";
197    field public static final String REMOVE_TASKS = "android.permission.REMOVE_TASKS";
198    field public static final String REQUEST_NETWORK_SCORES = "android.permission.REQUEST_NETWORK_SCORES";
199    field public static final String REQUEST_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE";
200    field public static final String RESET_PASSWORD = "android.permission.RESET_PASSWORD";
201    field public static final String RESTORE_RUNTIME_PERMISSIONS = "android.permission.RESTORE_RUNTIME_PERMISSIONS";
202    field public static final String RESTRICTED_VR_ACCESS = "android.permission.RESTRICTED_VR_ACCESS";
203    field public static final String RETRIEVE_WINDOW_CONTENT = "android.permission.RETRIEVE_WINDOW_CONTENT";
204    field public static final String REVIEW_ACCESSIBILITY_SERVICES = "android.permission.REVIEW_ACCESSIBILITY_SERVICES";
205    field public static final String REVOKE_RUNTIME_PERMISSIONS = "android.permission.REVOKE_RUNTIME_PERMISSIONS";
206    field public static final String SCORE_NETWORKS = "android.permission.SCORE_NETWORKS";
207    field public static final String SECURE_ELEMENT_PRIVILEGED_OPERATION = "android.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION";
208    field public static final String SEND_DEVICE_CUSTOMIZATION_READY = "android.permission.SEND_DEVICE_CUSTOMIZATION_READY";
209    field public static final String SEND_SHOW_SUSPENDED_APP_DETAILS = "android.permission.SEND_SHOW_SUSPENDED_APP_DETAILS";
210    field public static final String SEND_SMS_NO_CONFIRMATION = "android.permission.SEND_SMS_NO_CONFIRMATION";
211    field public static final String SERIAL_PORT = "android.permission.SERIAL_PORT";
212    field public static final String SET_ACTIVITY_WATCHER = "android.permission.SET_ACTIVITY_WATCHER";
213    field public static final String SET_HARMFUL_APP_WARNINGS = "android.permission.SET_HARMFUL_APP_WARNINGS";
214    field public static final String SET_MEDIA_KEY_LISTENER = "android.permission.SET_MEDIA_KEY_LISTENER";
215    field public static final String SET_ORIENTATION = "android.permission.SET_ORIENTATION";
216    field public static final String SET_POINTER_SPEED = "android.permission.SET_POINTER_SPEED";
217    field public static final String SET_SCREEN_COMPATIBILITY = "android.permission.SET_SCREEN_COMPATIBILITY";
218    field public static final String SET_VOLUME_KEY_LONG_PRESS_LISTENER = "android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER";
219    field public static final String SET_WALLPAPER_COMPONENT = "android.permission.SET_WALLPAPER_COMPONENT";
220    field public static final String SHOW_KEYGUARD_MESSAGE = "android.permission.SHOW_KEYGUARD_MESSAGE";
221    field public static final String SHUTDOWN = "android.permission.SHUTDOWN";
222    field public static final String STOP_APP_SWITCHES = "android.permission.STOP_APP_SWITCHES";
223    field public static final String SUBSTITUTE_NOTIFICATION_APP_NAME = "android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME";
224    field public static final String SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON = "android.permission.SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON";
225    field public static final String SUSPEND_APPS = "android.permission.SUSPEND_APPS";
226    field public static final String SYSTEM_CAMERA = "android.permission.SYSTEM_CAMERA";
227    field public static final String TETHER_PRIVILEGED = "android.permission.TETHER_PRIVILEGED";
228    field public static final String TV_INPUT_HARDWARE = "android.permission.TV_INPUT_HARDWARE";
229    field public static final String TV_VIRTUAL_REMOTE_CONTROLLER = "android.permission.TV_VIRTUAL_REMOTE_CONTROLLER";
230    field public static final String UNLIMITED_SHORTCUTS_API_CALLS = "android.permission.UNLIMITED_SHORTCUTS_API_CALLS";
231    field public static final String UPDATE_APP_OPS_STATS = "android.permission.UPDATE_APP_OPS_STATS";
232    field public static final String UPDATE_LOCK = "android.permission.UPDATE_LOCK";
233    field public static final String UPDATE_TIME_ZONE_RULES = "android.permission.UPDATE_TIME_ZONE_RULES";
234    field public static final String UPGRADE_RUNTIME_PERMISSIONS = "android.permission.UPGRADE_RUNTIME_PERMISSIONS";
235    field public static final String USER_ACTIVITY = "android.permission.USER_ACTIVITY";
236    field public static final String USE_RESERVED_DISK = "android.permission.USE_RESERVED_DISK";
237    field public static final String WHITELIST_AUTO_REVOKE_PERMISSIONS = "android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS";
238    field public static final String WHITELIST_RESTRICTED_PERMISSIONS = "android.permission.WHITELIST_RESTRICTED_PERMISSIONS";
239    field public static final String WIFI_SET_DEVICE_MOBILITY_STATE = "android.permission.WIFI_SET_DEVICE_MOBILITY_STATE";
240    field public static final String WIFI_UPDATE_USABILITY_STATS_SCORE = "android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE";
241    field public static final String WRITE_DEVICE_CONFIG = "android.permission.WRITE_DEVICE_CONFIG";
242    field public static final String WRITE_DREAM_STATE = "android.permission.WRITE_DREAM_STATE";
243    field public static final String WRITE_EMBEDDED_SUBSCRIPTIONS = "android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS";
244    field @Deprecated public static final String WRITE_MEDIA_STORAGE = "android.permission.WRITE_MEDIA_STORAGE";
245    field public static final String WRITE_OBB = "android.permission.WRITE_OBB";
246  }
247
248  public static final class Manifest.permission_group {
249    field public static final String UNDEFINED = "android.permission-group.UNDEFINED";
250  }
251
252  public static final class R.array {
253    field public static final int config_keySystemUuidMapping = 17235973; // 0x1070005
254  }
255
256  public static final class R.attr {
257    field public static final int allowClearUserDataOnFailedRestore = 16844288; // 0x1010600
258    field public static final int isVrOnly = 16844152; // 0x1010578
259    field public static final int minExtensionVersion = 16844305; // 0x1010611
260    field public static final int requiredSystemPropertyName = 16844133; // 0x1010565
261    field public static final int requiredSystemPropertyValue = 16844134; // 0x1010566
262    field public static final int sdkVersion = 16844304; // 0x1010610
263    field public static final int supportsAmbientMode = 16844173; // 0x101058d
264    field public static final int userRestriction = 16844164; // 0x1010584
265  }
266
267  public static final class R.bool {
268    field public static final int config_sendPackageName = 17891328; // 0x1110000
269    field public static final int config_showDefaultAssistant = 17891329; // 0x1110001
270    field public static final int config_showDefaultEmergency = 17891330; // 0x1110002
271    field public static final int config_showDefaultHome = 17891331; // 0x1110003
272  }
273
274  public static final class R.color {
275    field public static final int system_notification_accent_color = 17170460; // 0x106001c
276  }
277
278  public static final class R.dimen {
279    field public static final int config_restrictedIconSize = 17104903; // 0x1050007
280  }
281
282  public static final class R.drawable {
283    field public static final int ic_info = 17301684; // 0x10800b4
284  }
285
286  public static final class R.raw {
287    field public static final int loaderror = 17825792; // 0x1100000
288    field public static final int nodomain = 17825793; // 0x1100001
289  }
290
291  public static final class R.string {
292    field public static final int config_defaultAssistant = 17039393; // 0x1040021
293    field public static final int config_defaultBrowser = 17039394; // 0x1040022
294    field public static final int config_defaultCallRedirection = 17039397; // 0x1040025
295    field public static final int config_defaultCallScreening = 17039398; // 0x1040026
296    field public static final int config_defaultDialer = 17039395; // 0x1040023
297    field public static final int config_defaultSms = 17039396; // 0x1040024
298    field public static final int config_feedbackIntentExtraKey = 17039391; // 0x104001f
299    field public static final int config_feedbackIntentNameKey = 17039392; // 0x1040020
300    field public static final int config_helpIntentExtraKey = 17039389; // 0x104001d
301    field public static final int config_helpIntentNameKey = 17039390; // 0x104001e
302    field public static final int config_helpPackageNameKey = 17039387; // 0x104001b
303    field public static final int config_helpPackageNameValue = 17039388; // 0x104001c
304    field public static final int config_systemGallery = 17039399; // 0x1040027
305  }
306
307  public static final class R.style {
308    field public static final int Theme_DeviceDefault_DocumentsUI = 16974562; // 0x10302e2
309    field public static final int Theme_Leanback_FormWizard = 16974544; // 0x10302d0
310  }
311
312}
313
314package android.accounts {
315
316  public class AccountManager {
317    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);
318  }
319
320}
321
322package android.app {
323
324  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 {
325    method public void convertFromTranslucent();
326    method public boolean convertToTranslucent(android.app.Activity.TranslucentConversionListener, android.app.ActivityOptions);
327    method @Deprecated public boolean isBackgroundVisibleBehind();
328    method @Deprecated public void onBackgroundVisibleBehindChanged(boolean);
329  }
330
331  public static interface Activity.TranslucentConversionListener {
332    method public void onTranslucentConversionComplete(boolean);
333  }
334
335  public class ActivityManager {
336    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void addOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener, int);
337    method @RequiresPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) public void forceStopPackage(String);
338    method @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL"}) public static int getCurrentUser();
339    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getPackageImportance(String);
340    method @NonNull public java.util.Collection<java.util.Locale> getSupportedLocales();
341    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getUidImportance(int);
342    method @RequiresPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) public void killProcessesWhenImperceptible(@NonNull int[], @NonNull String);
343    method @RequiresPermission(android.Manifest.permission.KILL_UID) public void killUid(int, String);
344    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void removeOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener);
345    method public void setDeviceLocales(@NonNull android.os.LocaleList);
346    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public static void setPersistentVrThread(int);
347    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean switchUser(@NonNull android.os.UserHandle);
348  }
349
350  public static interface ActivityManager.OnUidImportanceListener {
351    method public void onUidImportance(int, int);
352  }
353
354  public class AlarmManager {
355    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void set(int, long, long, long, android.app.PendingIntent, android.os.WorkSource);
356    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);
357  }
358
359  public class AppOpsManager {
360    method @Nullable @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public android.app.RuntimeAppOpAccessMessage collectRuntimeAppOpAccessMessage();
361    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>);
362    method public static String[] getOpStrs();
363    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...);
364    method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getPackagesForOps(@Nullable String[]);
365    method public static int opToDefaultMode(@NonNull String);
366    method @Nullable public static String opToPermission(@NonNull String);
367    method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setMode(@NonNull String, int, @Nullable String, int);
368    method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setUidMode(@NonNull String, int, int);
369    field public static final String OPSTR_ACCEPT_HANDOVER = "android:accept_handover";
370    field public static final String OPSTR_ACCESS_ACCESSIBILITY = "android:access_accessibility";
371    field public static final String OPSTR_ACCESS_NOTIFICATIONS = "android:access_notifications";
372    field public static final String OPSTR_ACTIVATE_VPN = "android:activate_vpn";
373    field public static final String OPSTR_ASSIST_SCREENSHOT = "android:assist_screenshot";
374    field public static final String OPSTR_ASSIST_STRUCTURE = "android:assist_structure";
375    field public static final String OPSTR_AUDIO_ACCESSIBILITY_VOLUME = "android:audio_accessibility_volume";
376    field public static final String OPSTR_AUDIO_ALARM_VOLUME = "android:audio_alarm_volume";
377    field public static final String OPSTR_AUDIO_BLUETOOTH_VOLUME = "android:audio_bluetooth_volume";
378    field public static final String OPSTR_AUDIO_MASTER_VOLUME = "android:audio_master_volume";
379    field public static final String OPSTR_AUDIO_MEDIA_VOLUME = "android:audio_media_volume";
380    field public static final String OPSTR_AUDIO_NOTIFICATION_VOLUME = "android:audio_notification_volume";
381    field public static final String OPSTR_AUDIO_RING_VOLUME = "android:audio_ring_volume";
382    field public static final String OPSTR_AUDIO_VOICE_VOLUME = "android:audio_voice_volume";
383    field public static final String OPSTR_AUTO_REVOKE_MANAGED_BY_INSTALLER = "android:auto_revoke_managed_by_installer";
384    field public static final String OPSTR_AUTO_REVOKE_PERMISSIONS_IF_UNUSED = "android:auto_revoke_permissions_if_unused";
385    field public static final String OPSTR_BIND_ACCESSIBILITY_SERVICE = "android:bind_accessibility_service";
386    field public static final String OPSTR_CHANGE_WIFI_STATE = "android:change_wifi_state";
387    field public static final String OPSTR_GET_ACCOUNTS = "android:get_accounts";
388    field public static final String OPSTR_GPS = "android:gps";
389    field public static final String OPSTR_INSTANT_APP_START_FOREGROUND = "android:instant_app_start_foreground";
390    field public static final String OPSTR_INTERACT_ACROSS_PROFILES = "android:interact_across_profiles";
391    field public static final String OPSTR_LEGACY_STORAGE = "android:legacy_storage";
392    field public static final String OPSTR_LOADER_USAGE_STATS = "android:loader_usage_stats";
393    field public static final String OPSTR_MANAGE_EXTERNAL_STORAGE = "android:manage_external_storage";
394    field public static final String OPSTR_MANAGE_IPSEC_TUNNELS = "android:manage_ipsec_tunnels";
395    field public static final String OPSTR_MUTE_MICROPHONE = "android:mute_microphone";
396    field public static final String OPSTR_NEIGHBORING_CELLS = "android:neighboring_cells";
397    field public static final String OPSTR_PLAY_AUDIO = "android:play_audio";
398    field public static final String OPSTR_POST_NOTIFICATION = "android:post_notification";
399    field public static final String OPSTR_PROJECT_MEDIA = "android:project_media";
400    field public static final String OPSTR_READ_CLIPBOARD = "android:read_clipboard";
401    field public static final String OPSTR_READ_ICC_SMS = "android:read_icc_sms";
402    field public static final String OPSTR_READ_MEDIA_AUDIO = "android:read_media_audio";
403    field public static final String OPSTR_READ_MEDIA_IMAGES = "android:read_media_images";
404    field public static final String OPSTR_READ_MEDIA_VIDEO = "android:read_media_video";
405    field public static final String OPSTR_RECEIVE_EMERGENCY_BROADCAST = "android:receive_emergency_broadcast";
406    field public static final String OPSTR_REQUEST_DELETE_PACKAGES = "android:request_delete_packages";
407    field public static final String OPSTR_REQUEST_INSTALL_PACKAGES = "android:request_install_packages";
408    field public static final String OPSTR_RUN_ANY_IN_BACKGROUND = "android:run_any_in_background";
409    field public static final String OPSTR_RUN_IN_BACKGROUND = "android:run_in_background";
410    field public static final String OPSTR_START_FOREGROUND = "android:start_foreground";
411    field public static final String OPSTR_TAKE_AUDIO_FOCUS = "android:take_audio_focus";
412    field public static final String OPSTR_TAKE_MEDIA_BUTTONS = "android:take_media_buttons";
413    field public static final String OPSTR_TOAST_WINDOW = "android:toast_window";
414    field public static final String OPSTR_TURN_SCREEN_ON = "android:turn_screen_on";
415    field public static final String OPSTR_VIBRATE = "android:vibrate";
416    field public static final String OPSTR_WAKE_LOCK = "android:wake_lock";
417    field public static final String OPSTR_WIFI_SCAN = "android:wifi_scan";
418    field public static final String OPSTR_WRITE_CLIPBOARD = "android:write_clipboard";
419    field public static final String OPSTR_WRITE_ICC_SMS = "android:write_icc_sms";
420    field public static final String OPSTR_WRITE_MEDIA_AUDIO = "android:write_media_audio";
421    field public static final String OPSTR_WRITE_MEDIA_IMAGES = "android:write_media_images";
422    field public static final String OPSTR_WRITE_MEDIA_VIDEO = "android:write_media_video";
423    field public static final String OPSTR_WRITE_SMS = "android:write_sms";
424    field public static final String OPSTR_WRITE_WALLPAPER = "android:write_wallpaper";
425    field public static final int OP_FLAGS_ALL = 31; // 0x1f
426    field public static final int OP_FLAGS_ALL_TRUSTED = 13; // 0xd
427    field public static final int OP_FLAG_SELF = 1; // 0x1
428    field public static final int OP_FLAG_TRUSTED_PROXIED = 8; // 0x8
429    field public static final int OP_FLAG_TRUSTED_PROXY = 2; // 0x2
430    field public static final int OP_FLAG_UNTRUSTED_PROXIED = 16; // 0x10
431    field public static final int OP_FLAG_UNTRUSTED_PROXY = 4; // 0x4
432    field public static final int UID_STATE_BACKGROUND = 600; // 0x258
433    field public static final int UID_STATE_CACHED = 700; // 0x2bc
434    field public static final int UID_STATE_FOREGROUND = 500; // 0x1f4
435    field public static final int UID_STATE_FOREGROUND_SERVICE = 400; // 0x190
436    field @Deprecated public static final int UID_STATE_FOREGROUND_SERVICE_LOCATION = 300; // 0x12c
437    field public static final int UID_STATE_PERSISTENT = 100; // 0x64
438    field public static final int UID_STATE_TOP = 200; // 0xc8
439  }
440
441  public static final class AppOpsManager.AttributedHistoricalOps implements android.os.Parcelable {
442    method public int describeContents();
443    method @Nullable public android.app.AppOpsManager.HistoricalOp getOp(@NonNull String);
444    method @NonNull public android.app.AppOpsManager.HistoricalOp getOpAt(@IntRange(from=0) int);
445    method @IntRange(from=0) public int getOpCount();
446    method @Nullable public String getTag();
447    method public void writeToParcel(@NonNull android.os.Parcel, int);
448    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.AttributedHistoricalOps> CREATOR;
449  }
450
451  public static final class AppOpsManager.AttributedOpEntry implements android.os.Parcelable {
452    method public int describeContents();
453    method public long getLastAccessBackgroundTime(int);
454    method public long getLastAccessForegroundTime(int);
455    method public long getLastAccessTime(int);
456    method public long getLastAccessTime(int, int, int);
457    method public long getLastBackgroundDuration(int);
458    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastBackgroundProxyInfo(int);
459    method public long getLastDuration(int);
460    method public long getLastDuration(int, int, int);
461    method public long getLastForegroundDuration(int);
462    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastForegroundProxyInfo(int);
463    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int);
464    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int, int, int);
465    method public long getLastRejectBackgroundTime(int);
466    method public long getLastRejectForegroundTime(int);
467    method public long getLastRejectTime(int);
468    method public long getLastRejectTime(int, int, int);
469    method public boolean isRunning();
470    method public void writeToParcel(@NonNull android.os.Parcel, int);
471    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.AttributedOpEntry> CREATOR;
472  }
473
474  public static final class AppOpsManager.HistoricalOp implements android.os.Parcelable {
475    method public int describeContents();
476    method public long getAccessCount(int, int, int);
477    method public long getAccessDuration(int, int, int);
478    method public long getBackgroundAccessCount(int);
479    method public long getBackgroundAccessDuration(int);
480    method public long getBackgroundRejectCount(int);
481    method public long getForegroundAccessCount(int);
482    method public long getForegroundAccessDuration(int);
483    method public long getForegroundRejectCount(int);
484    method @NonNull public String getOpName();
485    method public long getRejectCount(int, int, int);
486    method public void writeToParcel(android.os.Parcel, int);
487    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOp> CREATOR;
488  }
489
490  public static final class AppOpsManager.HistoricalOps implements android.os.Parcelable {
491    method public int describeContents();
492    method public long getBeginTimeMillis();
493    method public long getEndTimeMillis();
494    method @IntRange(from=0) public int getUidCount();
495    method @Nullable public android.app.AppOpsManager.HistoricalUidOps getUidOps(int);
496    method @NonNull public android.app.AppOpsManager.HistoricalUidOps getUidOpsAt(@IntRange(from=0) int);
497    method public void writeToParcel(android.os.Parcel, int);
498    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOps> CREATOR;
499  }
500
501  public static final class AppOpsManager.HistoricalOpsRequest {
502  }
503
504  public static final class AppOpsManager.HistoricalOpsRequest.Builder {
505    ctor public AppOpsManager.HistoricalOpsRequest.Builder(long, long);
506    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest build();
507    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setAttributionTag(@Nullable String);
508    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setFlags(int);
509    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setOpNames(@Nullable java.util.List<java.lang.String>);
510    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setPackageName(@Nullable String);
511    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setUid(int);
512  }
513
514  public static final class AppOpsManager.HistoricalPackageOps implements android.os.Parcelable {
515    method public int describeContents();
516    method @Nullable public android.app.AppOpsManager.AttributedHistoricalOps getAttributedOps(@NonNull String);
517    method @NonNull public android.app.AppOpsManager.AttributedHistoricalOps getAttributedOpsAt(@IntRange(from=0) int);
518    method @IntRange(from=0) public int getAttributedOpsCount();
519    method @Nullable public android.app.AppOpsManager.HistoricalOp getOp(@NonNull String);
520    method @NonNull public android.app.AppOpsManager.HistoricalOp getOpAt(@IntRange(from=0) int);
521    method @IntRange(from=0) public int getOpCount();
522    method @NonNull public String getPackageName();
523    method public void writeToParcel(@NonNull android.os.Parcel, int);
524    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalPackageOps> CREATOR;
525  }
526
527  public static final class AppOpsManager.HistoricalUidOps implements android.os.Parcelable {
528    method public int describeContents();
529    method @IntRange(from=0) public int getPackageCount();
530    method @Nullable public android.app.AppOpsManager.HistoricalPackageOps getPackageOps(@NonNull String);
531    method @NonNull public android.app.AppOpsManager.HistoricalPackageOps getPackageOpsAt(@IntRange(from=0) int);
532    method public int getUid();
533    method public void writeToParcel(android.os.Parcel, int);
534    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalUidOps> CREATOR;
535  }
536
537  public static final class AppOpsManager.OpEntry implements android.os.Parcelable {
538    method public int describeContents();
539    method @NonNull public java.util.Map<java.lang.String,android.app.AppOpsManager.AttributedOpEntry> getAttributedOpEntries();
540    method @Deprecated public long getDuration();
541    method public long getLastAccessBackgroundTime(int);
542    method public long getLastAccessForegroundTime(int);
543    method public long getLastAccessTime(int);
544    method public long getLastAccessTime(int, int, int);
545    method public long getLastBackgroundDuration(int);
546    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastBackgroundProxyInfo(int);
547    method public long getLastDuration(int);
548    method public long getLastDuration(int, int, int);
549    method public long getLastForegroundDuration(int);
550    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastForegroundProxyInfo(int);
551    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int);
552    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int, int, int);
553    method public long getLastRejectBackgroundTime(int);
554    method public long getLastRejectForegroundTime(int);
555    method public long getLastRejectTime(int);
556    method public long getLastRejectTime(int, int, int);
557    method public int getMode();
558    method @NonNull public String getOpStr();
559    method @Deprecated @Nullable public String getProxyPackageName();
560    method @Deprecated @Nullable public String getProxyPackageName(int, int);
561    method @Deprecated public int getProxyUid();
562    method @Deprecated public int getProxyUid(int, int);
563    method public boolean isRunning();
564    method public void writeToParcel(android.os.Parcel, int);
565    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEntry> CREATOR;
566  }
567
568  public static final class AppOpsManager.OpEventProxyInfo implements android.os.Parcelable {
569    method public int describeContents();
570    method @Nullable public String getAttributionTag();
571    method @Nullable public String getPackageName();
572    method @IntRange(from=0) public int getUid();
573    method public void writeToParcel(@NonNull android.os.Parcel, int);
574    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEventProxyInfo> CREATOR;
575  }
576
577  public static final class AppOpsManager.PackageOps implements android.os.Parcelable {
578    method public int describeContents();
579    method @NonNull public java.util.List<android.app.AppOpsManager.OpEntry> getOps();
580    method @NonNull public String getPackageName();
581    method public int getUid();
582    method public void writeToParcel(@NonNull android.os.Parcel, int);
583    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.PackageOps> CREATOR;
584  }
585
586  public class BroadcastOptions {
587    method public static android.app.BroadcastOptions makeBasic();
588    method @RequiresPermission("android.permission.START_ACTIVITIES_FROM_BACKGROUND") public void setBackgroundActivityStartsAllowed(boolean);
589    method public void setDontSendToRestrictedApps(boolean);
590    method @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void setTemporaryAppWhitelistDuration(long);
591    method public android.os.Bundle toBundle();
592  }
593
594  public class DownloadManager {
595    method @RequiresPermission(android.Manifest.permission.WRITE_MEDIA_STORAGE) public void onMediaStoreDownloadsDeleted(@NonNull android.util.LongSparseArray<java.lang.String>);
596    field public static final String ACTION_DOWNLOAD_COMPLETED = "android.intent.action.DOWNLOAD_COMPLETED";
597  }
598
599  public abstract class InstantAppResolverService extends android.app.Service {
600    ctor public InstantAppResolverService();
601    method public final void attachBaseContext(android.content.Context);
602    method public final android.os.IBinder onBind(android.content.Intent);
603    method @Deprecated public void onGetInstantAppIntentFilter(@Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
604    method @Deprecated public void onGetInstantAppIntentFilter(@NonNull android.content.Intent, @Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
605    method @Deprecated public void onGetInstantAppIntentFilter(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
606    method @MainThread public void onGetInstantAppIntentFilter(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
607    method @Deprecated public void onGetInstantAppResolveInfo(@Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
608    method @Deprecated public void onGetInstantAppResolveInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
609    method @Deprecated public void onGetInstantAppResolveInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
610    method @MainThread public void onGetInstantAppResolveInfo(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
611  }
612
613  public static final class InstantAppResolverService.InstantAppResolutionCallback {
614    method public void onInstantAppResolveInfo(java.util.List<android.content.pm.InstantAppResolveInfo>);
615  }
616
617  public class KeyguardManager {
618    method public android.content.Intent createConfirmFactoryResetCredentialIntent(CharSequence, CharSequence, CharSequence);
619    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public int getMinLockLength(boolean, int);
620    method @RequiresPermission(android.Manifest.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS) public boolean getPrivateNotificationsAllowed();
621    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public boolean isValidLockPasswordComplexity(int, @NonNull byte[], int);
622    method @RequiresPermission(android.Manifest.permission.SHOW_KEYGUARD_MESSAGE) public void requestDismissKeyguard(@NonNull android.app.Activity, @Nullable CharSequence, @Nullable android.app.KeyguardManager.KeyguardDismissCallback);
623    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public boolean setLock(int, @NonNull byte[], int);
624    method @RequiresPermission(android.Manifest.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS) public void setPrivateNotificationsAllowed(boolean);
625  }
626
627  public class Notification implements android.os.Parcelable {
628    field public static final String CATEGORY_CAR_EMERGENCY = "car_emergency";
629    field public static final String CATEGORY_CAR_INFORMATION = "car_information";
630    field public static final String CATEGORY_CAR_WARNING = "car_warning";
631    field @RequiresPermission(android.Manifest.permission.NOTIFICATION_DURING_SETUP) public static final String EXTRA_ALLOW_DURING_SETUP = "android.allowDuringSetup";
632    field @RequiresPermission(android.Manifest.permission.SUBSTITUTE_NOTIFICATION_APP_NAME) public static final String EXTRA_SUBSTITUTE_APP_NAME = "android.substName";
633    field public static final int FLAG_AUTOGROUP_SUMMARY = 1024; // 0x400
634  }
635
636  public static final class Notification.TvExtender implements android.app.Notification.Extender {
637    ctor public Notification.TvExtender();
638    ctor public Notification.TvExtender(android.app.Notification);
639    method public android.app.Notification.Builder extend(android.app.Notification.Builder);
640    method public String getChannelId();
641    method public android.app.PendingIntent getContentIntent();
642    method public android.app.PendingIntent getDeleteIntent();
643    method public boolean getSuppressShowOverApps();
644    method public boolean isAvailableOnTv();
645    method public android.app.Notification.TvExtender setChannel(String);
646    method public android.app.Notification.TvExtender setChannelId(String);
647    method public android.app.Notification.TvExtender setContentIntent(android.app.PendingIntent);
648    method public android.app.Notification.TvExtender setDeleteIntent(android.app.PendingIntent);
649    method public android.app.Notification.TvExtender setSuppressShowOverApps(boolean);
650  }
651
652  public final class NotificationChannel implements android.os.Parcelable {
653    method public int getUserLockedFields();
654    method public boolean isDeleted();
655    method public void populateFromXml(org.xmlpull.v1.XmlPullParser);
656    method public void setBlockable(boolean);
657    method public org.json.JSONObject toJson() throws org.json.JSONException;
658    method public void writeXml(org.xmlpull.v1.XmlSerializer) throws java.io.IOException;
659    field public static final int USER_LOCKED_SOUND = 32; // 0x20
660  }
661
662  public final class NotificationChannelGroup implements android.os.Parcelable {
663    method public org.json.JSONObject toJson() throws org.json.JSONException;
664  }
665
666  public class NotificationManager {
667    method @NonNull public java.util.List<java.lang.String> getAllowedAssistantAdjustments();
668    method @Nullable public android.content.ComponentName getAllowedNotificationAssistant();
669    method public boolean isNotificationAssistantAccessGranted(@NonNull android.content.ComponentName);
670    method public void setNotificationAssistantAccessGranted(@Nullable android.content.ComponentName, boolean);
671  }
672
673  public final class RuntimeAppOpAccessMessage implements android.os.Parcelable {
674    ctor public RuntimeAppOpAccessMessage(@IntRange(from=0L) int, @IntRange(from=0L) int, @NonNull String, @Nullable String, @NonNull String, int);
675    method public int describeContents();
676    method @Nullable public String getAttributionTag();
677    method @NonNull public String getMessage();
678    method @NonNull public String getOp();
679    method @NonNull public String getPackageName();
680    method public int getSamplingStrategy();
681    method @IntRange(from=0L) public int getUid();
682    method public void writeToParcel(@NonNull android.os.Parcel, int);
683    field @NonNull public static final android.os.Parcelable.Creator<android.app.RuntimeAppOpAccessMessage> CREATOR;
684  }
685
686  public class SearchManager implements android.content.DialogInterface.OnCancelListener android.content.DialogInterface.OnDismissListener {
687    method public void launchAssist(@Nullable android.os.Bundle);
688  }
689
690  public final class StatsManager {
691    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void addConfig(long, byte[]) throws android.app.StatsManager.StatsUnavailableException;
692    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean addConfiguration(long, byte[]);
693    method @RequiresPermission(android.Manifest.permission.REGISTER_STATS_PULL_ATOM) public void clearPullAtomCallback(int);
694    method @Deprecated @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getData(long);
695    method @Deprecated @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getMetadata();
696    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long[] getRegisteredExperimentIds() throws android.app.StatsManager.StatsUnavailableException;
697    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getReports(long) throws android.app.StatsManager.StatsUnavailableException;
698    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getStatsMetadata() throws android.app.StatsManager.StatsUnavailableException;
699    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void removeConfig(long) throws android.app.StatsManager.StatsUnavailableException;
700    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean removeConfiguration(long);
701    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;
702    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;
703    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean setBroadcastSubscriber(long, long, android.app.PendingIntent);
704    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean setDataFetchOperation(long, android.app.PendingIntent);
705    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;
706    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);
707    field public static final String ACTION_STATSD_STARTED = "android.app.action.STATSD_STARTED";
708    field public static final String EXTRA_STATS_ACTIVE_CONFIG_KEYS = "android.app.extra.STATS_ACTIVE_CONFIG_KEYS";
709    field public static final String EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES = "android.app.extra.STATS_BROADCAST_SUBSCRIBER_COOKIES";
710    field public static final String EXTRA_STATS_CONFIG_KEY = "android.app.extra.STATS_CONFIG_KEY";
711    field public static final String EXTRA_STATS_CONFIG_UID = "android.app.extra.STATS_CONFIG_UID";
712    field public static final String EXTRA_STATS_DIMENSIONS_VALUE = "android.app.extra.STATS_DIMENSIONS_VALUE";
713    field public static final String EXTRA_STATS_SUBSCRIPTION_ID = "android.app.extra.STATS_SUBSCRIPTION_ID";
714    field public static final String EXTRA_STATS_SUBSCRIPTION_RULE_ID = "android.app.extra.STATS_SUBSCRIPTION_RULE_ID";
715    field public static final int PULL_SKIP = 1; // 0x1
716    field public static final int PULL_SUCCESS = 0; // 0x0
717  }
718
719  public static class StatsManager.PullAtomMetadata {
720    method @Nullable public int[] getAdditiveFields();
721    method public long getCoolDownMillis();
722    method public long getTimeoutMillis();
723  }
724
725  public static class StatsManager.PullAtomMetadata.Builder {
726    ctor public StatsManager.PullAtomMetadata.Builder();
727    method @NonNull public android.app.StatsManager.PullAtomMetadata build();
728    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setAdditiveFields(@NonNull int[]);
729    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setCoolDownMillis(long);
730    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setTimeoutMillis(long);
731  }
732
733  public static interface StatsManager.StatsPullAtomCallback {
734    method public int onPullAtom(int, @NonNull java.util.List<android.util.StatsEvent>);
735  }
736
737  public static class StatsManager.StatsUnavailableException extends android.util.AndroidException {
738    ctor public StatsManager.StatsUnavailableException(String);
739    ctor public StatsManager.StatsUnavailableException(String, Throwable);
740  }
741
742  public class StatusBarManager {
743    method @NonNull @RequiresPermission(android.Manifest.permission.STATUS_BAR) public android.app.StatusBarManager.DisableInfo getDisableInfo();
744    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setDisabledForSetup(boolean);
745  }
746
747  public static final class StatusBarManager.DisableInfo {
748    method public boolean areAllComponentsEnabled();
749    method public boolean isNavigateToHomeDisabled();
750    method public boolean isNotificationPeekingDisabled();
751    method public boolean isRecentsDisabled();
752    method public boolean isSearchDisabled();
753    method public boolean isStatusBarExpansionDisabled();
754  }
755
756  public final class SystemServiceRegistry {
757    method public static <TServiceClass> void registerContextAwareService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.ContextAwareServiceProducerWithBinder<TServiceClass>);
758    method public static <TServiceClass> void registerContextAwareService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.ContextAwareServiceProducerWithoutBinder<TServiceClass>);
759    method public static <TServiceClass> void registerStaticService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.StaticServiceProducerWithBinder<TServiceClass>);
760    method public static <TServiceClass> void registerStaticService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.StaticServiceProducerWithoutBinder<TServiceClass>);
761  }
762
763  public static interface SystemServiceRegistry.ContextAwareServiceProducerWithBinder<TServiceClass> {
764    method @NonNull public TServiceClass createService(@NonNull android.content.Context, @NonNull android.os.IBinder);
765  }
766
767  public static interface SystemServiceRegistry.ContextAwareServiceProducerWithoutBinder<TServiceClass> {
768    method @NonNull public TServiceClass createService(@NonNull android.content.Context);
769  }
770
771  public static interface SystemServiceRegistry.StaticServiceProducerWithBinder<TServiceClass> {
772    method @NonNull public TServiceClass createService(@NonNull android.os.IBinder);
773  }
774
775  public static interface SystemServiceRegistry.StaticServiceProducerWithoutBinder<TServiceClass> {
776    method @NonNull public TServiceClass createService();
777  }
778
779  public class UiModeManager {
780    method @RequiresPermission(android.Manifest.permission.ENTER_CAR_MODE_PRIORITIZED) public void enableCarMode(@IntRange(from=0) int, int);
781    field public static final String ACTION_ENTER_CAR_MODE_PRIORITIZED = "android.app.action.ENTER_CAR_MODE_PRIORITIZED";
782    field public static final String ACTION_EXIT_CAR_MODE_PRIORITIZED = "android.app.action.EXIT_CAR_MODE_PRIORITIZED";
783    field public static final int DEFAULT_PRIORITY = 0; // 0x0
784    field public static final String EXTRA_CALLING_PACKAGE = "android.app.extra.CALLING_PACKAGE";
785    field public static final String EXTRA_PRIORITY = "android.app.extra.PRIORITY";
786  }
787
788  public final class Vr2dDisplayProperties implements android.os.Parcelable {
789    ctor public Vr2dDisplayProperties(int, int, int);
790    method public int describeContents();
791    method public void dump(@NonNull java.io.PrintWriter, @NonNull String);
792    method public int getAddedFlags();
793    method public int getDpi();
794    method public int getHeight();
795    method public int getRemovedFlags();
796    method public int getWidth();
797    method public void writeToParcel(android.os.Parcel, int);
798    field @NonNull public static final android.os.Parcelable.Creator<android.app.Vr2dDisplayProperties> CREATOR;
799    field public static final int FLAG_VIRTUAL_DISPLAY_ENABLED = 1; // 0x1
800  }
801
802  public static final class Vr2dDisplayProperties.Builder {
803    ctor public Vr2dDisplayProperties.Builder();
804    method @NonNull public android.app.Vr2dDisplayProperties.Builder addFlags(int);
805    method @NonNull public android.app.Vr2dDisplayProperties build();
806    method @NonNull public android.app.Vr2dDisplayProperties.Builder removeFlags(int);
807    method @NonNull public android.app.Vr2dDisplayProperties.Builder setDimensions(int, int, int);
808    method @NonNull public android.app.Vr2dDisplayProperties.Builder setEnabled(boolean);
809  }
810
811  public class VrManager {
812    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public int getVr2dDisplayId();
813    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public boolean isPersistentVrModeEnabled();
814    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public boolean isVrModeEnabled();
815    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);
816    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setAndBindVrCompositor(android.content.ComponentName);
817    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setPersistentVrModeEnabled(boolean);
818    method @RequiresPermission("android.permission.ACCESS_VR_MANAGER") public void setStandbyEnabled(boolean);
819    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setVr2dDisplayProperties(@NonNull android.app.Vr2dDisplayProperties);
820    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setVrInputMethod(@Nullable android.content.ComponentName);
821    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public void unregisterVrStateCallback(@NonNull android.app.VrStateCallback);
822  }
823
824  public abstract class VrStateCallback {
825    ctor public VrStateCallback();
826    method public void onPersistentVrStateChanged(boolean);
827    method public void onVrStateChanged(boolean);
828  }
829
830  public final class WallpaperColors implements android.os.Parcelable {
831    ctor public WallpaperColors(@NonNull android.graphics.Color, @Nullable android.graphics.Color, @Nullable android.graphics.Color, int);
832    method public int getColorHints();
833    field public static final int HINT_SUPPORTS_DARK_TEXT = 1; // 0x1
834    field public static final int HINT_SUPPORTS_DARK_THEME = 2; // 0x2
835  }
836
837  public final class WallpaperInfo implements android.os.Parcelable {
838    method public boolean supportsAmbientMode();
839  }
840
841  public class WallpaperManager {
842    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public void clearWallpaper(int, int);
843    method public void setDisplayOffset(android.os.IBinder, int, int);
844    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_COMPONENT) public boolean setWallpaperComponent(android.content.ComponentName);
845  }
846
847}
848
849package android.app.admin {
850
851  public class DevicePolicyKeyguardService extends android.app.Service {
852    ctor public DevicePolicyKeyguardService();
853    method @Nullable public void dismiss();
854    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
855    method @Nullable public android.view.SurfaceControlViewHost.SurfacePackage onCreateKeyguardSurface(@NonNull android.os.IBinder);
856  }
857
858  public class DevicePolicyManager {
859    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public boolean getBluetoothContactSharingDisabled(@NonNull android.os.UserHandle);
860    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getDeviceOwner();
861    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.content.ComponentName getDeviceOwnerComponentOnAnyUser();
862    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getDeviceOwnerNameOnAnyUser();
863    method @Nullable public CharSequence getDeviceOwnerOrganizationName();
864    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.UserHandle getDeviceOwnerUser();
865    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public java.util.List<java.lang.String> getPermittedAccessibilityServices(int);
866    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public java.util.List<java.lang.String> getPermittedInputMethodsForCurrentUser();
867    method @Nullable public android.content.ComponentName getProfileOwner() throws java.lang.IllegalArgumentException;
868    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getProfileOwnerNameAsUser(int) throws java.lang.IllegalArgumentException;
869    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public int getUserProvisioningState();
870    method public boolean isDeviceManaged();
871    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isDeviceProvisioned();
872    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isDeviceProvisioningConfigApplied();
873    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isManagedKiosk();
874    method public boolean isSecondaryLockscreenEnabled(@NonNull android.os.UserHandle);
875    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isUnattendedManagedKiosk();
876    method @RequiresPermission("android.permission.NOTIFY_PENDING_SYSTEM_UPDATE") public void notifyPendingSystemUpdate(long);
877    method @RequiresPermission("android.permission.NOTIFY_PENDING_SYSTEM_UPDATE") public void notifyPendingSystemUpdate(long, boolean);
878    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public boolean packageHasActiveAdmins(String);
879    method @Deprecated @RequiresPermission("android.permission.MANAGE_DEVICE_ADMINS") public boolean setActiveProfileOwner(@NonNull android.content.ComponentName, String) throws java.lang.IllegalArgumentException;
880    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setDeviceProvisioningConfigApplied();
881    method @Deprecated @RequiresPermission(value=android.Manifest.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS, conditional=true) public void setProfileOwnerCanAccessDeviceIds(@NonNull android.content.ComponentName);
882    method public void setSecondaryLockscreenEnabled(@NonNull android.content.ComponentName, boolean);
883    field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_ALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_ALLOWED";
884    field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_DISALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_DISALLOWED";
885    field public static final String ACTION_BIND_SECONDARY_LOCKSCREEN_SERVICE = "android.app.action.BIND_SECONDARY_LOCKSCREEN_SERVICE";
886    field public static final String ACTION_PROVISION_FINALIZATION = "android.app.action.PROVISION_FINALIZATION";
887    field public static final String ACTION_PROVISION_FINANCED_DEVICE = "android.app.action.PROVISION_FINANCED_DEVICE";
888    field public static final String ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE = "android.app.action.PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE";
889    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";
890    field public static final String ACTION_SET_PROFILE_OWNER = "android.app.action.SET_PROFILE_OWNER";
891    field public static final String ACTION_STATE_USER_SETUP_COMPLETE = "android.app.action.STATE_USER_SETUP_COMPLETE";
892    field public static final String EXTRA_PROFILE_OWNER_NAME = "android.app.extra.PROFILE_OWNER_NAME";
893    field public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI";
894    field public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL";
895    field public static final String EXTRA_PROVISIONING_ORGANIZATION_NAME = "android.app.extra.PROVISIONING_ORGANIZATION_NAME";
896    field public static final String EXTRA_PROVISIONING_SUPPORT_URL = "android.app.extra.PROVISIONING_SUPPORT_URL";
897    field public static final String EXTRA_PROVISIONING_TRIGGER = "android.app.extra.PROVISIONING_TRIGGER";
898    field public static final String EXTRA_RESTRICTION = "android.app.extra.RESTRICTION";
899    field public static final int PROVISIONING_TRIGGER_CLOUD_ENROLLMENT = 1; // 0x1
900    field public static final int PROVISIONING_TRIGGER_PERSISTENT_DEVICE_OWNER = 3; // 0x3
901    field public static final int PROVISIONING_TRIGGER_QR_CODE = 2; // 0x2
902    field public static final int PROVISIONING_TRIGGER_UNSPECIFIED = 0; // 0x0
903    field public static final int STATE_USER_PROFILE_COMPLETE = 4; // 0x4
904    field public static final int STATE_USER_SETUP_COMPLETE = 2; // 0x2
905    field public static final int STATE_USER_SETUP_FINALIZED = 3; // 0x3
906    field public static final int STATE_USER_SETUP_INCOMPLETE = 1; // 0x1
907    field public static final int STATE_USER_UNMANAGED = 0; // 0x0
908  }
909
910  public final class SystemUpdatePolicy implements android.os.Parcelable {
911    method public android.app.admin.SystemUpdatePolicy.InstallationOption getInstallationOptionAt(long);
912    field public static final int TYPE_PAUSE = 4; // 0x4
913  }
914
915  public static class SystemUpdatePolicy.InstallationOption {
916    method public long getEffectiveTime();
917    method public int getType();
918  }
919
920}
921
922package android.app.assist {
923
924  public static class AssistStructure.ViewNode {
925    ctor public AssistStructure.ViewNode();
926  }
927
928}
929
930package android.app.backup {
931
932  public class BackupDataInput {
933    ctor public BackupDataInput(java.io.FileDescriptor);
934  }
935
936  public class BackupDataOutput {
937    ctor public BackupDataOutput(java.io.FileDescriptor);
938    ctor public BackupDataOutput(java.io.FileDescriptor, long);
939  }
940
941  public class BackupManager {
942    method @RequiresPermission(android.Manifest.permission.BACKUP) public void backupNow();
943    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.app.backup.RestoreSession beginRestoreSession();
944    method @RequiresPermission(android.Manifest.permission.BACKUP) public void cancelBackups();
945    method @RequiresPermission(android.Manifest.permission.BACKUP) public void excludeKeysFromRestore(@NonNull String, @NonNull java.util.List<java.lang.String>);
946    method @RequiresPermission(android.Manifest.permission.BACKUP) public long getAvailableRestoreToken(String);
947    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.Intent getConfigurationIntent(String);
948    method @RequiresPermission(android.Manifest.permission.BACKUP) public String getCurrentTransport();
949    method @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.ComponentName getCurrentTransportComponent();
950    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.Intent getDataManagementIntent(String);
951    method @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public CharSequence getDataManagementIntentLabel(@NonNull String);
952    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public String getDataManagementLabel(@NonNull String);
953    method @RequiresPermission(android.Manifest.permission.BACKUP) public String getDestinationString(String);
954    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isAppEligibleForBackup(String);
955    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isBackupEnabled();
956    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isBackupServiceActive(android.os.UserHandle);
957    method @RequiresPermission(android.Manifest.permission.BACKUP) public String[] listAllTransports();
958    method @RequiresPermission(android.Manifest.permission.BACKUP) public int requestBackup(String[], android.app.backup.BackupObserver);
959    method @RequiresPermission(android.Manifest.permission.BACKUP) public int requestBackup(String[], android.app.backup.BackupObserver, android.app.backup.BackupManagerMonitor, int);
960    method @Deprecated public int requestRestore(android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
961    method @Deprecated @RequiresPermission(android.Manifest.permission.BACKUP) public String selectBackupTransport(String);
962    method @RequiresPermission(android.Manifest.permission.BACKUP) public void selectBackupTransport(android.content.ComponentName, android.app.backup.SelectBackupTransportCallback);
963    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setAncestralSerialNumber(long);
964    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setAutoRestore(boolean);
965    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setBackupEnabled(boolean);
966    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);
967    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);
968    field public static final int ERROR_AGENT_FAILURE = -1003; // 0xfffffc15
969    field public static final int ERROR_BACKUP_CANCELLED = -2003; // 0xfffff82d
970    field public static final int ERROR_BACKUP_NOT_ALLOWED = -2001; // 0xfffff82f
971    field public static final int ERROR_PACKAGE_NOT_FOUND = -2002; // 0xfffff82e
972    field public static final int ERROR_TRANSPORT_ABORTED = -1000; // 0xfffffc18
973    field public static final int ERROR_TRANSPORT_INVALID = -2; // 0xfffffffe
974    field public static final int ERROR_TRANSPORT_PACKAGE_REJECTED = -1002; // 0xfffffc16
975    field public static final int ERROR_TRANSPORT_QUOTA_EXCEEDED = -1005; // 0xfffffc13
976    field public static final int ERROR_TRANSPORT_UNAVAILABLE = -1; // 0xffffffff
977    field public static final int FLAG_NON_INCREMENTAL_BACKUP = 1; // 0x1
978    field public static final String PACKAGE_MANAGER_SENTINEL = "@pm@";
979    field public static final int SUCCESS = 0; // 0x0
980  }
981
982  public class BackupManagerMonitor {
983    ctor public BackupManagerMonitor();
984    method public void onEvent(android.os.Bundle);
985    field public static final String EXTRA_LOG_CANCEL_ALL = "android.app.backup.extra.LOG_CANCEL_ALL";
986    field public static final String EXTRA_LOG_EVENT_CATEGORY = "android.app.backup.extra.LOG_EVENT_CATEGORY";
987    field public static final String EXTRA_LOG_EVENT_ID = "android.app.backup.extra.LOG_EVENT_ID";
988    field public static final String EXTRA_LOG_EVENT_PACKAGE_LONG_VERSION = "android.app.backup.extra.LOG_EVENT_PACKAGE_FULL_VERSION";
989    field public static final String EXTRA_LOG_EVENT_PACKAGE_NAME = "android.app.backup.extra.LOG_EVENT_PACKAGE_NAME";
990    field @Deprecated public static final String EXTRA_LOG_EVENT_PACKAGE_VERSION = "android.app.backup.extra.LOG_EVENT_PACKAGE_VERSION";
991    field public static final String EXTRA_LOG_EXCEPTION_FULL_BACKUP = "android.app.backup.extra.LOG_EXCEPTION_FULL_BACKUP";
992    field public static final String EXTRA_LOG_ILLEGAL_KEY = "android.app.backup.extra.LOG_ILLEGAL_KEY";
993    field public static final String EXTRA_LOG_MANIFEST_PACKAGE_NAME = "android.app.backup.extra.LOG_MANIFEST_PACKAGE_NAME";
994    field public static final String EXTRA_LOG_OLD_VERSION = "android.app.backup.extra.LOG_OLD_VERSION";
995    field public static final String EXTRA_LOG_POLICY_ALLOW_APKS = "android.app.backup.extra.LOG_POLICY_ALLOW_APKS";
996    field public static final String EXTRA_LOG_PREFLIGHT_ERROR = "android.app.backup.extra.LOG_PREFLIGHT_ERROR";
997    field public static final String EXTRA_LOG_RESTORE_ANYWAY = "android.app.backup.extra.LOG_RESTORE_ANYWAY";
998    field public static final String EXTRA_LOG_RESTORE_VERSION = "android.app.backup.extra.LOG_RESTORE_VERSION";
999    field public static final String EXTRA_LOG_WIDGET_PACKAGE_NAME = "android.app.backup.extra.LOG_WIDGET_PACKAGE_NAME";
1000    field public static final int LOG_EVENT_CATEGORY_AGENT = 2; // 0x2
1001    field public static final int LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY = 3; // 0x3
1002    field public static final int LOG_EVENT_CATEGORY_TRANSPORT = 1; // 0x1
1003    field public static final int LOG_EVENT_ID_APK_NOT_INSTALLED = 40; // 0x28
1004    field public static final int LOG_EVENT_ID_APP_HAS_NO_AGENT = 28; // 0x1c
1005    field public static final int LOG_EVENT_ID_BACKUP_DISABLED = 13; // 0xd
1006    field public static final int LOG_EVENT_ID_CANNOT_RESTORE_WITHOUT_APK = 41; // 0x29
1007    field public static final int LOG_EVENT_ID_CANT_FIND_AGENT = 30; // 0x1e
1008    field public static final int LOG_EVENT_ID_CORRUPT_MANIFEST = 46; // 0x2e
1009    field public static final int LOG_EVENT_ID_DEVICE_NOT_PROVISIONED = 14; // 0xe
1010    field public static final int LOG_EVENT_ID_ERROR_PREFLIGHT = 16; // 0x10
1011    field public static final int LOG_EVENT_ID_EXCEPTION_FULL_BACKUP = 19; // 0x13
1012    field public static final int LOG_EVENT_ID_EXPECTED_DIFFERENT_PACKAGE = 43; // 0x2b
1013    field public static final int LOG_EVENT_ID_FULL_BACKUP_CANCEL = 4; // 0x4
1014    field public static final int LOG_EVENT_ID_FULL_RESTORE_ALLOW_BACKUP_FALSE = 39; // 0x27
1015    field public static final int LOG_EVENT_ID_FULL_RESTORE_SIGNATURE_MISMATCH = 37; // 0x25
1016    field public static final int LOG_EVENT_ID_FULL_RESTORE_TIMEOUT = 45; // 0x2d
1017    field public static final int LOG_EVENT_ID_ILLEGAL_KEY = 5; // 0x5
1018    field public static final int LOG_EVENT_ID_KEY_VALUE_BACKUP_CANCEL = 21; // 0x15
1019    field public static final int LOG_EVENT_ID_KEY_VALUE_RESTORE_TIMEOUT = 31; // 0x1f
1020    field public static final int LOG_EVENT_ID_LOST_TRANSPORT = 25; // 0x19
1021    field public static final int LOG_EVENT_ID_MISSING_SIGNATURE = 42; // 0x2a
1022    field public static final int LOG_EVENT_ID_NO_DATA_TO_SEND = 7; // 0x7
1023    field public static final int LOG_EVENT_ID_NO_PACKAGES = 49; // 0x31
1024    field public static final int LOG_EVENT_ID_NO_PM_METADATA_RECEIVED = 23; // 0x17
1025    field public static final int LOG_EVENT_ID_NO_RESTORE_METADATA_AVAILABLE = 22; // 0x16
1026    field public static final int LOG_EVENT_ID_PACKAGE_INELIGIBLE = 9; // 0x9
1027    field public static final int LOG_EVENT_ID_PACKAGE_KEY_VALUE_PARTICIPANT = 10; // 0xa
1028    field public static final int LOG_EVENT_ID_PACKAGE_NOT_FOUND = 12; // 0xc
1029    field public static final int LOG_EVENT_ID_PACKAGE_NOT_PRESENT = 26; // 0x1a
1030    field public static final int LOG_EVENT_ID_PACKAGE_STOPPED = 11; // 0xb
1031    field public static final int LOG_EVENT_ID_PACKAGE_TRANSPORT_NOT_PRESENT = 15; // 0xf
1032    field public static final int LOG_EVENT_ID_PM_AGENT_HAS_NO_METADATA = 24; // 0x18
1033    field public static final int LOG_EVENT_ID_QUOTA_HIT_PREFLIGHT = 18; // 0x12
1034    field public static final int LOG_EVENT_ID_RESTORE_ANY_VERSION = 34; // 0x22
1035    field public static final int LOG_EVENT_ID_RESTORE_VERSION_HIGHER = 27; // 0x1b
1036    field public static final int LOG_EVENT_ID_SIGNATURE_MISMATCH = 29; // 0x1d
1037    field public static final int LOG_EVENT_ID_SYSTEM_APP_NO_AGENT = 38; // 0x26
1038    field public static final int LOG_EVENT_ID_TRANSPORT_IS_NULL = 50; // 0x32
1039    field public static final int LOG_EVENT_ID_TRANSPORT_NON_INCREMENTAL_BACKUP_REQUIRED = 51; // 0x33
1040    field public static final int LOG_EVENT_ID_UNKNOWN_VERSION = 44; // 0x2c
1041    field public static final int LOG_EVENT_ID_VERSIONS_MATCH = 35; // 0x23
1042    field public static final int LOG_EVENT_ID_VERSION_OF_BACKUP_OLDER = 36; // 0x24
1043    field public static final int LOG_EVENT_ID_WIDGET_METADATA_MISMATCH = 47; // 0x2f
1044    field public static final int LOG_EVENT_ID_WIDGET_UNKNOWN_VERSION = 48; // 0x30
1045  }
1046
1047  public abstract class BackupObserver {
1048    ctor public BackupObserver();
1049    method public void backupFinished(int);
1050    method public void onResult(String, int);
1051    method public void onUpdate(String, android.app.backup.BackupProgress);
1052  }
1053
1054  public class BackupProgress implements android.os.Parcelable {
1055    ctor public BackupProgress(long, long);
1056    method public int describeContents();
1057    method public void writeToParcel(android.os.Parcel, int);
1058    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.BackupProgress> CREATOR;
1059    field public final long bytesExpected;
1060    field public final long bytesTransferred;
1061  }
1062
1063  public class BackupTransport {
1064    ctor public BackupTransport();
1065    method public int abortFullRestore();
1066    method public void cancelFullBackup();
1067    method public int checkFullBackupSize(long);
1068    method public int clearBackupData(android.content.pm.PackageInfo);
1069    method public android.content.Intent configurationIntent();
1070    method public String currentDestinationString();
1071    method public android.content.Intent dataManagementIntent();
1072    method @Nullable public CharSequence dataManagementIntentLabel();
1073    method @Deprecated @Nullable public String dataManagementLabel();
1074    method public int finishBackup();
1075    method public void finishRestore();
1076    method public android.app.backup.RestoreSet[] getAvailableRestoreSets();
1077    method public long getBackupQuota(String, boolean);
1078    method public android.os.IBinder getBinder();
1079    method public long getCurrentRestoreSet();
1080    method public int getNextFullRestoreDataChunk(android.os.ParcelFileDescriptor);
1081    method public int getRestoreData(android.os.ParcelFileDescriptor);
1082    method public int getTransportFlags();
1083    method public int initializeDevice();
1084    method public boolean isAppEligibleForBackup(android.content.pm.PackageInfo, boolean);
1085    method public String name();
1086    method public android.app.backup.RestoreDescription nextRestorePackage();
1087    method public int performBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor, int);
1088    method public int performBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor);
1089    method public int performFullBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor, int);
1090    method public int performFullBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor);
1091    method public long requestBackupTime();
1092    method public long requestFullBackupTime();
1093    method public int sendBackupData(int);
1094    method public int startRestore(long, android.content.pm.PackageInfo[]);
1095    method public String transportDirName();
1096    field public static final int AGENT_ERROR = -1003; // 0xfffffc15
1097    field public static final int AGENT_UNKNOWN = -1004; // 0xfffffc14
1098    field public static final String EXTRA_TRANSPORT_REGISTRATION = "android.app.backup.extra.TRANSPORT_REGISTRATION";
1099    field public static final int FLAG_DATA_NOT_CHANGED = 8; // 0x8
1100    field public static final int FLAG_INCREMENTAL = 2; // 0x2
1101    field public static final int FLAG_NON_INCREMENTAL = 4; // 0x4
1102    field public static final int FLAG_USER_INITIATED = 1; // 0x1
1103    field public static final int NO_MORE_DATA = -1; // 0xffffffff
1104    field public static final int TRANSPORT_ERROR = -1000; // 0xfffffc18
1105    field public static final int TRANSPORT_NON_INCREMENTAL_BACKUP_REQUIRED = -1006; // 0xfffffc12
1106    field public static final int TRANSPORT_NOT_INITIALIZED = -1001; // 0xfffffc17
1107    field public static final int TRANSPORT_OK = 0; // 0x0
1108    field public static final int TRANSPORT_PACKAGE_REJECTED = -1002; // 0xfffffc16
1109    field public static final int TRANSPORT_QUOTA_EXCEEDED = -1005; // 0xfffffc13
1110  }
1111
1112  public class RestoreDescription implements android.os.Parcelable {
1113    ctor public RestoreDescription(String, int);
1114    method public int describeContents();
1115    method public int getDataType();
1116    method public String getPackageName();
1117    method public void writeToParcel(android.os.Parcel, int);
1118    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.RestoreDescription> CREATOR;
1119    field public static final android.app.backup.RestoreDescription NO_MORE_PACKAGES;
1120    field public static final int TYPE_FULL_STREAM = 2; // 0x2
1121    field public static final int TYPE_KEY_VALUE = 1; // 0x1
1122  }
1123
1124  public abstract class RestoreObserver {
1125    method public void restoreSetsAvailable(android.app.backup.RestoreSet[]);
1126  }
1127
1128  public class RestoreSession {
1129    method public void endRestoreSession();
1130    method public int getAvailableRestoreSets(android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
1131    method public int getAvailableRestoreSets(android.app.backup.RestoreObserver);
1132    method public int restoreAll(long, android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
1133    method public int restoreAll(long, android.app.backup.RestoreObserver);
1134    method public int restorePackage(String, android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
1135    method public int restorePackage(String, android.app.backup.RestoreObserver);
1136    method public int restorePackages(long, @Nullable android.app.backup.RestoreObserver, @NonNull java.util.Set<java.lang.String>, @Nullable android.app.backup.BackupManagerMonitor);
1137    method public int restorePackages(long, @Nullable android.app.backup.RestoreObserver, @NonNull java.util.Set<java.lang.String>);
1138  }
1139
1140  public class RestoreSet implements android.os.Parcelable {
1141    ctor public RestoreSet();
1142    ctor public RestoreSet(String, String, long);
1143    method public int describeContents();
1144    method public void writeToParcel(android.os.Parcel, int);
1145    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.RestoreSet> CREATOR;
1146    field public String device;
1147    field public String name;
1148    field public long token;
1149  }
1150
1151  public abstract class SelectBackupTransportCallback {
1152    ctor public SelectBackupTransportCallback();
1153    method public void onFailure(int);
1154    method public void onSuccess(String);
1155  }
1156
1157}
1158
1159package android.app.compat {
1160
1161  public final class CompatChanges {
1162    method public static boolean isChangeEnabled(long);
1163    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);
1164    method @RequiresPermission(allOf={"android.permission.READ_COMPAT_CHANGE_CONFIG", "android.permission.LOG_COMPAT_CHANGE"}) public static boolean isChangeEnabled(long, int);
1165  }
1166
1167}
1168
1169package android.app.contentsuggestions {
1170
1171  public final class ClassificationsRequest implements android.os.Parcelable {
1172    method public int describeContents();
1173    method @NonNull public android.os.Bundle getExtras();
1174    method @NonNull public java.util.List<android.app.contentsuggestions.ContentSelection> getSelections();
1175    method public void writeToParcel(android.os.Parcel, int);
1176    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ClassificationsRequest> CREATOR;
1177  }
1178
1179  public static final class ClassificationsRequest.Builder {
1180    ctor public ClassificationsRequest.Builder(@NonNull java.util.List<android.app.contentsuggestions.ContentSelection>);
1181    method @NonNull public android.app.contentsuggestions.ClassificationsRequest build();
1182    method @NonNull public android.app.contentsuggestions.ClassificationsRequest.Builder setExtras(@NonNull android.os.Bundle);
1183  }
1184
1185  public final class ContentClassification implements android.os.Parcelable {
1186    ctor public ContentClassification(@NonNull String, @NonNull android.os.Bundle);
1187    method public int describeContents();
1188    method @NonNull public android.os.Bundle getExtras();
1189    method @NonNull public String getId();
1190    method public void writeToParcel(android.os.Parcel, int);
1191    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ContentClassification> CREATOR;
1192  }
1193
1194  public final class ContentSelection implements android.os.Parcelable {
1195    ctor public ContentSelection(@NonNull String, @NonNull android.os.Bundle);
1196    method public int describeContents();
1197    method @NonNull public android.os.Bundle getExtras();
1198    method @NonNull public String getId();
1199    method public void writeToParcel(android.os.Parcel, int);
1200    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ContentSelection> CREATOR;
1201  }
1202
1203  public final class ContentSuggestionsManager {
1204    method public void classifyContentSelections(@NonNull android.app.contentsuggestions.ClassificationsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.ClassificationsCallback);
1205    method public boolean isEnabled();
1206    method public void notifyInteraction(@NonNull String, @NonNull android.os.Bundle);
1207    method public void provideContextImage(@NonNull android.graphics.Bitmap, @NonNull android.os.Bundle);
1208    method public void provideContextImage(int, @NonNull android.os.Bundle);
1209    method public void suggestContentSelections(@NonNull android.app.contentsuggestions.SelectionsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.SelectionsCallback);
1210  }
1211
1212  public static interface ContentSuggestionsManager.ClassificationsCallback {
1213    method public void onContentClassificationsAvailable(int, @NonNull java.util.List<android.app.contentsuggestions.ContentClassification>);
1214  }
1215
1216  public static interface ContentSuggestionsManager.SelectionsCallback {
1217    method public void onContentSelectionsAvailable(int, @NonNull java.util.List<android.app.contentsuggestions.ContentSelection>);
1218  }
1219
1220  public final class SelectionsRequest implements android.os.Parcelable {
1221    method public int describeContents();
1222    method @NonNull public android.os.Bundle getExtras();
1223    method @Nullable public android.graphics.Point getInterestPoint();
1224    method public int getTaskId();
1225    method public void writeToParcel(android.os.Parcel, int);
1226    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.SelectionsRequest> CREATOR;
1227  }
1228
1229  public static final class SelectionsRequest.Builder {
1230    ctor public SelectionsRequest.Builder(int);
1231    method @NonNull public android.app.contentsuggestions.SelectionsRequest build();
1232    method @NonNull public android.app.contentsuggestions.SelectionsRequest.Builder setExtras(@NonNull android.os.Bundle);
1233    method @NonNull public android.app.contentsuggestions.SelectionsRequest.Builder setInterestPoint(@NonNull android.graphics.Point);
1234  }
1235
1236}
1237
1238package android.app.job {
1239
1240  public abstract class JobScheduler {
1241    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public abstract int scheduleAsPackage(@NonNull android.app.job.JobInfo, @NonNull String, int, String);
1242  }
1243
1244  public class JobSchedulerFrameworkInitializer {
1245    method public static void registerServiceWrappers();
1246  }
1247
1248}
1249
1250package android.app.prediction {
1251
1252  public final class AppPredictionContext implements android.os.Parcelable {
1253    method public int describeContents();
1254    method @Nullable public android.os.Bundle getExtras();
1255    method @NonNull public String getPackageName();
1256    method @IntRange(from=0) public int getPredictedTargetCount();
1257    method @NonNull public String getUiSurface();
1258    method public void writeToParcel(@NonNull android.os.Parcel, int);
1259    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionContext> CREATOR;
1260  }
1261
1262  public static final class AppPredictionContext.Builder {
1263    ctor public AppPredictionContext.Builder(@NonNull android.content.Context);
1264    method @NonNull public android.app.prediction.AppPredictionContext build();
1265    method @NonNull public android.app.prediction.AppPredictionContext.Builder setExtras(@Nullable android.os.Bundle);
1266    method @NonNull public android.app.prediction.AppPredictionContext.Builder setPredictedTargetCount(@IntRange(from=0) int);
1267    method @NonNull public android.app.prediction.AppPredictionContext.Builder setUiSurface(@NonNull String);
1268  }
1269
1270  public final class AppPredictionManager {
1271    method @NonNull public android.app.prediction.AppPredictor createAppPredictionSession(@NonNull android.app.prediction.AppPredictionContext);
1272  }
1273
1274  public final class AppPredictionSessionId implements android.os.Parcelable {
1275    method public int describeContents();
1276    method public void writeToParcel(android.os.Parcel, int);
1277    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionSessionId> CREATOR;
1278  }
1279
1280  public final class AppPredictor {
1281    method public void destroy();
1282    method public void notifyAppTargetEvent(@NonNull android.app.prediction.AppTargetEvent);
1283    method public void notifyLaunchLocationShown(@NonNull String, @NonNull java.util.List<android.app.prediction.AppTargetId>);
1284    method public void registerPredictionUpdates(@NonNull java.util.concurrent.Executor, @NonNull android.app.prediction.AppPredictor.Callback);
1285    method public void requestPredictionUpdate();
1286    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>>);
1287    method public void unregisterPredictionUpdates(@NonNull android.app.prediction.AppPredictor.Callback);
1288  }
1289
1290  public static interface AppPredictor.Callback {
1291    method public void onTargetsAvailable(@NonNull java.util.List<android.app.prediction.AppTarget>);
1292  }
1293
1294  public final class AppTarget implements android.os.Parcelable {
1295    method public int describeContents();
1296    method @Nullable public String getClassName();
1297    method @NonNull public android.app.prediction.AppTargetId getId();
1298    method @NonNull public String getPackageName();
1299    method @IntRange(from=0) public int getRank();
1300    method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
1301    method @NonNull public android.os.UserHandle getUser();
1302    method public void writeToParcel(android.os.Parcel, int);
1303    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTarget> CREATOR;
1304  }
1305
1306  public static final class AppTarget.Builder {
1307    ctor public AppTarget.Builder(@NonNull android.app.prediction.AppTargetId, @NonNull String, @NonNull android.os.UserHandle);
1308    ctor public AppTarget.Builder(@NonNull android.app.prediction.AppTargetId, @NonNull android.content.pm.ShortcutInfo);
1309    method @NonNull public android.app.prediction.AppTarget build();
1310    method @NonNull public android.app.prediction.AppTarget.Builder setClassName(@NonNull String);
1311    method @NonNull public android.app.prediction.AppTarget.Builder setRank(@IntRange(from=0) int);
1312  }
1313
1314  public final class AppTargetEvent implements android.os.Parcelable {
1315    method public int describeContents();
1316    method public int getAction();
1317    method @Nullable public String getLaunchLocation();
1318    method @Nullable public android.app.prediction.AppTarget getTarget();
1319    method public void writeToParcel(android.os.Parcel, int);
1320    field public static final int ACTION_DISMISS = 2; // 0x2
1321    field public static final int ACTION_LAUNCH = 1; // 0x1
1322    field public static final int ACTION_PIN = 3; // 0x3
1323    field public static final int ACTION_UNPIN = 4; // 0x4
1324    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetEvent> CREATOR;
1325  }
1326
1327  public static final class AppTargetEvent.Builder {
1328    ctor public AppTargetEvent.Builder(@Nullable android.app.prediction.AppTarget, int);
1329    method @NonNull public android.app.prediction.AppTargetEvent build();
1330    method @NonNull public android.app.prediction.AppTargetEvent.Builder setLaunchLocation(@Nullable String);
1331  }
1332
1333  public final class AppTargetId implements android.os.Parcelable {
1334    ctor public AppTargetId(@NonNull String);
1335    method public int describeContents();
1336    method public void writeToParcel(android.os.Parcel, int);
1337    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetId> CREATOR;
1338  }
1339
1340}
1341
1342package android.app.role {
1343
1344  public interface OnRoleHoldersChangedListener {
1345    method public void onRoleHoldersChanged(@NonNull String, @NonNull android.os.UserHandle);
1346  }
1347
1348  public abstract class RoleControllerService extends android.app.Service {
1349    ctor public RoleControllerService();
1350    method @WorkerThread public abstract boolean onAddRoleHolder(@NonNull String, @NonNull String, int);
1351    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
1352    method @WorkerThread public abstract boolean onClearRoleHolders(@NonNull String, int);
1353    method @WorkerThread public abstract boolean onGrantDefaultRoles();
1354    method @Deprecated public abstract boolean onIsApplicationQualifiedForRole(@NonNull String, @NonNull String);
1355    method public boolean onIsApplicationVisibleForRole(@NonNull String, @NonNull String);
1356    method public abstract boolean onIsRoleVisible(@NonNull String);
1357    method @WorkerThread public abstract boolean onRemoveRoleHolder(@NonNull String, @NonNull String, int);
1358    field public static final String SERVICE_INTERFACE = "android.app.role.RoleControllerService";
1359  }
1360
1361  public final class RoleManager {
1362    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);
1363    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>);
1364    method @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean addRoleHolderFromController(@NonNull String, @NonNull String);
1365    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>);
1366    method @NonNull @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public java.util.List<java.lang.String> getHeldRolesFromController(@NonNull String);
1367    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public java.util.List<java.lang.String> getRoleHolders(@NonNull String);
1368    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public java.util.List<java.lang.String> getRoleHoldersAsUser(@NonNull String, @NonNull android.os.UserHandle);
1369    method @RequiresPermission(android.Manifest.permission.OBSERVE_ROLE_HOLDERS) public void removeOnRoleHoldersChangedListenerAsUser(@NonNull android.app.role.OnRoleHoldersChangedListener, @NonNull android.os.UserHandle);
1370    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>);
1371    method @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean removeRoleHolderFromController(@NonNull String, @NonNull String);
1372    method @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public void setRoleNamesFromController(@NonNull java.util.List<java.lang.String>);
1373    field public static final int MANAGE_HOLDERS_FLAG_DONT_KILL_APP = 1; // 0x1
1374  }
1375
1376}
1377
1378package android.app.usage {
1379
1380  public final class CacheQuotaHint implements android.os.Parcelable {
1381    ctor public CacheQuotaHint(android.app.usage.CacheQuotaHint.Builder);
1382    method public int describeContents();
1383    method public long getQuota();
1384    method public int getUid();
1385    method public android.app.usage.UsageStats getUsageStats();
1386    method public String getVolumeUuid();
1387    method public void writeToParcel(android.os.Parcel, int);
1388    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.CacheQuotaHint> CREATOR;
1389    field public static final long QUOTA_NOT_SET = -1L; // 0xffffffffffffffffL
1390  }
1391
1392  public static final class CacheQuotaHint.Builder {
1393    ctor public CacheQuotaHint.Builder();
1394    ctor public CacheQuotaHint.Builder(android.app.usage.CacheQuotaHint);
1395    method @NonNull public android.app.usage.CacheQuotaHint build();
1396    method @NonNull public android.app.usage.CacheQuotaHint.Builder setQuota(long);
1397    method @NonNull public android.app.usage.CacheQuotaHint.Builder setUid(int);
1398    method @NonNull public android.app.usage.CacheQuotaHint.Builder setUsageStats(@Nullable android.app.usage.UsageStats);
1399    method @NonNull public android.app.usage.CacheQuotaHint.Builder setVolumeUuid(@Nullable String);
1400  }
1401
1402  public abstract class CacheQuotaService extends android.app.Service {
1403    ctor public CacheQuotaService();
1404    method public android.os.IBinder onBind(android.content.Intent);
1405    method public abstract java.util.List<android.app.usage.CacheQuotaHint> onComputeCacheQuotaHints(java.util.List<android.app.usage.CacheQuotaHint>);
1406    field public static final String SERVICE_INTERFACE = "android.app.usage.CacheQuotaService";
1407  }
1408
1409  public class NetworkStatsManager {
1410    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);
1411    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);
1412  }
1413
1414  public static final class UsageEvents.Event {
1415    method public int getInstanceId();
1416    method @Nullable public String getNotificationChannelId();
1417    method @Nullable public String getTaskRootClassName();
1418    method @Nullable public String getTaskRootPackageName();
1419    method public boolean isInstantApp();
1420    field public static final int NOTIFICATION_INTERRUPTION = 12; // 0xc
1421    field public static final int NOTIFICATION_SEEN = 10; // 0xa
1422    field public static final int SLICE_PINNED = 14; // 0xe
1423    field public static final int SLICE_PINNED_PRIV = 13; // 0xd
1424    field public static final int SYSTEM_INTERACTION = 6; // 0x6
1425  }
1426
1427  public final class UsageStats implements android.os.Parcelable {
1428    method public int getAppLaunchCount();
1429  }
1430
1431  public final class UsageStatsManager {
1432    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getAppStandbyBucket(String);
1433    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public java.util.Map<java.lang.String,java.lang.Integer> getAppStandbyBuckets();
1434    method public int getUsageSource();
1435    method @RequiresPermission(android.Manifest.permission.BIND_CARRIER_SERVICES) public void onCarrierPrivilegedAppsChanged();
1436    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);
1437    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void registerAppUsageObserver(int, @NonNull String[], long, @NonNull java.util.concurrent.TimeUnit, @NonNull android.app.PendingIntent);
1438    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);
1439    method public void reportUsageStart(@NonNull android.app.Activity, @NonNull String);
1440    method public void reportUsageStart(@NonNull android.app.Activity, @NonNull String, long);
1441    method public void reportUsageStop(@NonNull android.app.Activity, @NonNull String);
1442    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_IDLE_STATE) public void setAppStandbyBucket(String, int);
1443    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_IDLE_STATE) public void setAppStandbyBuckets(java.util.Map<java.lang.String,java.lang.Integer>);
1444    method @RequiresPermission(allOf={android.Manifest.permission.SUSPEND_APPS, android.Manifest.permission.OBSERVE_APP_USAGE}) public void unregisterAppUsageLimitObserver(int);
1445    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void unregisterAppUsageObserver(int);
1446    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void unregisterUsageSessionObserver(int);
1447    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(String, long, android.os.UserHandle);
1448    field public static final String EXTRA_OBSERVER_ID = "android.app.usage.extra.OBSERVER_ID";
1449    field public static final String EXTRA_TIME_LIMIT = "android.app.usage.extra.TIME_LIMIT";
1450    field public static final String EXTRA_TIME_USED = "android.app.usage.extra.TIME_USED";
1451    field public static final int STANDBY_BUCKET_EXEMPTED = 5; // 0x5
1452    field public static final int STANDBY_BUCKET_NEVER = 50; // 0x32
1453    field public static final int USAGE_SOURCE_CURRENT_ACTIVITY = 2; // 0x2
1454    field public static final int USAGE_SOURCE_TASK_ROOT_ACTIVITY = 1; // 0x1
1455  }
1456
1457}
1458
1459package android.bluetooth {
1460
1461  public final class BluetoothA2dp implements android.bluetooth.BluetoothProfile {
1462    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
1463    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
1464    field public static final int OPTIONAL_CODECS_NOT_SUPPORTED = 0; // 0x0
1465    field public static final int OPTIONAL_CODECS_PREF_DISABLED = 0; // 0x0
1466    field public static final int OPTIONAL_CODECS_PREF_ENABLED = 1; // 0x1
1467    field public static final int OPTIONAL_CODECS_PREF_UNKNOWN = -1; // 0xffffffff
1468    field public static final int OPTIONAL_CODECS_SUPPORTED = 1; // 0x1
1469    field public static final int OPTIONAL_CODECS_SUPPORT_UNKNOWN = -1; // 0xffffffff
1470  }
1471
1472  public final class BluetoothA2dpSink implements android.bluetooth.BluetoothProfile {
1473    method public void finalize();
1474    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
1475    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean isAudioPlaying(@NonNull android.bluetooth.BluetoothDevice);
1476    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
1477    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.a2dp-sink.profile.action.CONNECTION_STATE_CHANGED";
1478  }
1479
1480  public final class BluetoothAdapter {
1481    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean addOnMetadataChangedListener(@NonNull android.bluetooth.BluetoothDevice, @NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothAdapter.OnMetadataChangedListener);
1482    method public boolean disableBLE();
1483    method public boolean enableBLE();
1484    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADMIN) public boolean enableNoAutoConnect();
1485    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public long getDiscoveryEndMillis();
1486    method public boolean isBleScanAlwaysAvailable();
1487    method public boolean isLeEnabled();
1488    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean removeActiveDevice(int);
1489    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean removeOnMetadataChangedListener(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothAdapter.OnMetadataChangedListener);
1490    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setActiveDevice(@NonNull android.bluetooth.BluetoothDevice, int);
1491    field public static final String ACTION_BLE_STATE_CHANGED = "android.bluetooth.adapter.action.BLE_STATE_CHANGED";
1492    field public static final String ACTION_REQUEST_BLE_SCAN_ALWAYS_AVAILABLE = "android.bluetooth.adapter.action.REQUEST_BLE_SCAN_ALWAYS_AVAILABLE";
1493    field public static final int ACTIVE_DEVICE_ALL = 2; // 0x2
1494    field public static final int ACTIVE_DEVICE_AUDIO = 0; // 0x0
1495    field public static final int ACTIVE_DEVICE_PHONE_CALL = 1; // 0x1
1496  }
1497
1498  public static interface BluetoothAdapter.OnMetadataChangedListener {
1499    method public void onMetadataChanged(@NonNull android.bluetooth.BluetoothDevice, int, @Nullable byte[]);
1500  }
1501
1502  public final class BluetoothDevice implements android.os.Parcelable {
1503    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean cancelBondProcess();
1504    method @Nullable @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public byte[] getMetadata(int);
1505    method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public int getSimAccessPermission();
1506    method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public boolean isConnected();
1507    method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public boolean isEncrypted();
1508    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean isInSilenceMode();
1509    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean removeBond();
1510    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setMessageAccessPermission(int);
1511    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setMetadata(int, @NonNull byte[]);
1512    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setPhonebookAccessPermission(int);
1513    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setSilenceMode(boolean);
1514    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setSimAccessPermission(int);
1515    field public static final int ACCESS_ALLOWED = 1; // 0x1
1516    field public static final int ACCESS_REJECTED = 2; // 0x2
1517    field public static final int ACCESS_UNKNOWN = 0; // 0x0
1518    field public static final String ACTION_SILENCE_MODE_CHANGED = "android.bluetooth.device.action.SILENCE_MODE_CHANGED";
1519    field public static final int METADATA_COMPANION_APP = 4; // 0x4
1520    field public static final int METADATA_ENHANCED_SETTINGS_UI_URI = 16; // 0x10
1521    field public static final int METADATA_HARDWARE_VERSION = 3; // 0x3
1522    field public static final int METADATA_IS_UNTETHERED_HEADSET = 6; // 0x6
1523    field public static final int METADATA_MAIN_ICON = 5; // 0x5
1524    field public static final int METADATA_MANUFACTURER_NAME = 0; // 0x0
1525    field public static final int METADATA_MAX_LENGTH = 2048; // 0x800
1526    field public static final int METADATA_MODEL_NAME = 1; // 0x1
1527    field public static final int METADATA_SOFTWARE_VERSION = 2; // 0x2
1528    field public static final int METADATA_UNTETHERED_CASE_BATTERY = 12; // 0xc
1529    field public static final int METADATA_UNTETHERED_CASE_CHARGING = 15; // 0xf
1530    field public static final int METADATA_UNTETHERED_CASE_ICON = 9; // 0x9
1531    field public static final int METADATA_UNTETHERED_LEFT_BATTERY = 10; // 0xa
1532    field public static final int METADATA_UNTETHERED_LEFT_CHARGING = 13; // 0xd
1533    field public static final int METADATA_UNTETHERED_LEFT_ICON = 7; // 0x7
1534    field public static final int METADATA_UNTETHERED_RIGHT_BATTERY = 11; // 0xb
1535    field public static final int METADATA_UNTETHERED_RIGHT_CHARGING = 14; // 0xe
1536    field public static final int METADATA_UNTETHERED_RIGHT_ICON = 8; // 0x8
1537  }
1538
1539  public final class BluetoothHeadset implements android.bluetooth.BluetoothProfile {
1540    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADMIN) public boolean connect(android.bluetooth.BluetoothDevice);
1541    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADMIN) public boolean disconnect(android.bluetooth.BluetoothDevice);
1542    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
1543    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
1544    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADMIN) public boolean setPriority(android.bluetooth.BluetoothDevice, int);
1545  }
1546
1547  public final class BluetoothHearingAid implements android.bluetooth.BluetoothProfile {
1548    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
1549    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public long getHiSyncId(@NonNull android.bluetooth.BluetoothDevice);
1550    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
1551  }
1552
1553  public final class BluetoothHidDevice implements android.bluetooth.BluetoothProfile {
1554    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
1555  }
1556
1557  public final class BluetoothHidHost implements android.bluetooth.BluetoothProfile {
1558    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
1559    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
1560    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
1561    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
1562    field public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.input.profile.action.CONNECTION_STATE_CHANGED";
1563  }
1564
1565  public final class BluetoothMap implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
1566    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public void close();
1567    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) protected void finalize();
1568    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
1569    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
1570    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
1571    field public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.map.profile.action.CONNECTION_STATE_CHANGED";
1572  }
1573
1574  public final class BluetoothPan implements android.bluetooth.BluetoothProfile {
1575    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
1576    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
1577    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean isTetheringOn();
1578    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public void setBluetoothTethering(boolean);
1579    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
1580    field public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED";
1581    field public static final String EXTRA_LOCAL_ROLE = "android.bluetooth.pan.extra.LOCAL_ROLE";
1582    field public static final int LOCAL_NAP_ROLE = 1; // 0x1
1583    field public static final int LOCAL_PANU_ROLE = 2; // 0x2
1584    field public static final int PAN_ROLE_NONE = 0; // 0x0
1585    field public static final int REMOTE_NAP_ROLE = 1; // 0x1
1586    field public static final int REMOTE_PANU_ROLE = 2; // 0x2
1587  }
1588
1589  public class BluetoothPbap implements android.bluetooth.BluetoothProfile {
1590    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
1591    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
1592    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.pbap.profile.action.CONNECTION_STATE_CHANGED";
1593  }
1594
1595  public interface BluetoothProfile {
1596    field public static final int A2DP_SINK = 11; // 0xb
1597    field public static final int AVRCP_CONTROLLER = 12; // 0xc
1598    field public static final int CONNECTION_POLICY_ALLOWED = 100; // 0x64
1599    field public static final int CONNECTION_POLICY_FORBIDDEN = 0; // 0x0
1600    field public static final int CONNECTION_POLICY_UNKNOWN = -1; // 0xffffffff
1601    field public static final int HEADSET_CLIENT = 16; // 0x10
1602    field public static final int PAN = 5; // 0x5
1603    field public static final int PBAP_CLIENT = 17; // 0x11
1604    field @Deprecated public static final int PRIORITY_OFF = 0; // 0x0
1605    field @Deprecated public static final int PRIORITY_ON = 100; // 0x64
1606  }
1607
1608  public final class BluetoothUuid {
1609    method public static boolean containsAnyUuid(@Nullable android.os.ParcelUuid[], @Nullable android.os.ParcelUuid[]);
1610    method @NonNull public static android.os.ParcelUuid parseUuidFrom(@Nullable byte[]);
1611    field @NonNull public static final android.os.ParcelUuid A2DP_SINK;
1612    field @NonNull public static final android.os.ParcelUuid A2DP_SOURCE;
1613    field @NonNull public static final android.os.ParcelUuid ADV_AUDIO_DIST;
1614    field @NonNull public static final android.os.ParcelUuid AVRCP_CONTROLLER;
1615    field @NonNull public static final android.os.ParcelUuid AVRCP_TARGET;
1616    field @NonNull public static final android.os.ParcelUuid BASE_UUID;
1617    field @NonNull public static final android.os.ParcelUuid BNEP;
1618    field @NonNull public static final android.os.ParcelUuid HEARING_AID;
1619    field @NonNull public static final android.os.ParcelUuid HFP;
1620    field @NonNull public static final android.os.ParcelUuid HFP_AG;
1621    field @NonNull public static final android.os.ParcelUuid HID;
1622    field @NonNull public static final android.os.ParcelUuid HOGP;
1623    field @NonNull public static final android.os.ParcelUuid HSP;
1624    field @NonNull public static final android.os.ParcelUuid HSP_AG;
1625    field @NonNull public static final android.os.ParcelUuid MAP;
1626    field @NonNull public static final android.os.ParcelUuid MAS;
1627    field @NonNull public static final android.os.ParcelUuid MNS;
1628    field @NonNull public static final android.os.ParcelUuid NAP;
1629    field @NonNull public static final android.os.ParcelUuid OBEX_OBJECT_PUSH;
1630    field @NonNull public static final android.os.ParcelUuid PANU;
1631    field @NonNull public static final android.os.ParcelUuid PBAP_PCE;
1632    field @NonNull public static final android.os.ParcelUuid PBAP_PSE;
1633    field @NonNull public static final android.os.ParcelUuid SAP;
1634    field public static final int UUID_BYTES_128_BIT = 16; // 0x10
1635    field public static final int UUID_BYTES_16_BIT = 2; // 0x2
1636    field public static final int UUID_BYTES_32_BIT = 4; // 0x4
1637  }
1638
1639}
1640
1641package android.bluetooth.le {
1642
1643  public final class BluetoothLeScanner {
1644    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADMIN, android.Manifest.permission.UPDATE_DEVICE_STATS}) public void startScanFromSource(android.os.WorkSource, android.bluetooth.le.ScanCallback);
1645    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADMIN, 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);
1646    method public void startTruncatedScan(java.util.List<android.bluetooth.le.TruncatedFilter>, android.bluetooth.le.ScanSettings, android.bluetooth.le.ScanCallback);
1647  }
1648
1649  public final class ResultStorageDescriptor implements android.os.Parcelable {
1650    ctor public ResultStorageDescriptor(int, int, int);
1651    method public int describeContents();
1652    method public int getLength();
1653    method public int getOffset();
1654    method public int getType();
1655    method public void writeToParcel(android.os.Parcel, int);
1656    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ResultStorageDescriptor> CREATOR;
1657  }
1658
1659  public final class ScanSettings implements android.os.Parcelable {
1660    field public static final int SCAN_RESULT_TYPE_ABBREVIATED = 1; // 0x1
1661    field public static final int SCAN_RESULT_TYPE_FULL = 0; // 0x0
1662  }
1663
1664  public static final class ScanSettings.Builder {
1665    method public android.bluetooth.le.ScanSettings.Builder setScanResultType(int);
1666  }
1667
1668  public final class TruncatedFilter {
1669    ctor public TruncatedFilter(android.bluetooth.le.ScanFilter, java.util.List<android.bluetooth.le.ResultStorageDescriptor>);
1670    method public android.bluetooth.le.ScanFilter getFilter();
1671    method public java.util.List<android.bluetooth.le.ResultStorageDescriptor> getStorageDescriptors();
1672  }
1673
1674}
1675
1676package android.companion {
1677
1678  public final class CompanionDeviceManager {
1679    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public boolean isDeviceAssociatedForWifiConnection(@NonNull String, @NonNull android.net.MacAddress, @NonNull android.os.UserHandle);
1680  }
1681
1682}
1683
1684package android.content {
1685
1686  public class ApexEnvironment {
1687    method @NonNull public static android.content.ApexEnvironment getApexEnvironment(@NonNull String);
1688    method @NonNull public java.io.File getCredentialProtectedDataDirForUser(@NonNull android.os.UserHandle);
1689    method @NonNull public java.io.File getDeviceProtectedDataDir();
1690    method @NonNull public java.io.File getDeviceProtectedDataDirForUser(@NonNull android.os.UserHandle);
1691  }
1692
1693  public abstract class BroadcastReceiver {
1694    method @NonNull public final android.os.UserHandle getSendingUser();
1695  }
1696
1697  public abstract class ContentProvider implements android.content.ComponentCallbacks2 {
1698    method public int checkUriPermission(@NonNull android.net.Uri, int, int);
1699  }
1700
1701  public class ContentProviderClient implements java.lang.AutoCloseable {
1702    method @RequiresPermission(android.Manifest.permission.REMOVE_TASKS) public void setDetectNotResponding(long);
1703  }
1704
1705  public abstract class ContentResolver {
1706    method public int checkUriPermission(@NonNull android.net.Uri, int, int);
1707    method @NonNull public static android.net.Uri decodeFromFile(@NonNull java.io.File);
1708    method @NonNull public static java.io.File encodeToFile(@NonNull android.net.Uri);
1709    method @Nullable @RequiresPermission("android.permission.CACHE_CONTENT") public android.os.Bundle getCache(@NonNull android.net.Uri);
1710    method @RequiresPermission("android.permission.CACHE_CONTENT") public void putCache(@NonNull android.net.Uri, @Nullable android.os.Bundle);
1711  }
1712
1713  public abstract class Context {
1714    method @NonNull public android.content.Context createContextAsUser(@NonNull android.os.UserHandle, int);
1715    method public abstract android.content.Context createCredentialProtectedStorageContext();
1716    method @NonNull public android.content.Context createPackageContextAsUser(@NonNull String, int, @NonNull android.os.UserHandle) throws android.content.pm.PackageManager.NameNotFoundException;
1717    method @Nullable public abstract java.io.File getPreloadsFileCache();
1718    method public abstract boolean isCredentialProtectedStorage();
1719    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);
1720    method public abstract void sendBroadcast(android.content.Intent, @Nullable String, @Nullable android.os.Bundle);
1721    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);
1722    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);
1723    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public void startActivityAsUser(@NonNull @RequiresPermission android.content.Intent, @NonNull android.os.UserHandle);
1724    field public static final String APP_INTEGRITY_SERVICE = "app_integrity";
1725    field public static final String APP_PREDICTION_SERVICE = "app_prediction";
1726    field public static final String BACKUP_SERVICE = "backup";
1727    field public static final String BATTERY_STATS_SERVICE = "batterystats";
1728    field public static final String BUGREPORT_SERVICE = "bugreport";
1729    field public static final String CONTENT_SUGGESTIONS_SERVICE = "content_suggestions";
1730    field public static final String CONTEXTHUB_SERVICE = "contexthub";
1731    field public static final String ETHERNET_SERVICE = "ethernet";
1732    field public static final String EUICC_CARD_SERVICE = "euicc_card";
1733    field public static final String HDMI_CONTROL_SERVICE = "hdmi_control";
1734    field public static final String NETD_SERVICE = "netd";
1735    field public static final String NETWORK_SCORE_SERVICE = "network_score";
1736    field public static final String OEM_LOCK_SERVICE = "oem_lock";
1737    field public static final String PERMISSION_SERVICE = "permission";
1738    field public static final String PERSISTENT_DATA_BLOCK_SERVICE = "persistent_data_block";
1739    field public static final String ROLLBACK_SERVICE = "rollback";
1740    field public static final String SECURE_ELEMENT_SERVICE = "secure_element";
1741    field public static final String STATS_MANAGER = "stats";
1742    field public static final String STATUS_BAR_SERVICE = "statusbar";
1743    field public static final String SYSTEM_CONFIG_SERVICE = "system_config";
1744    field public static final String SYSTEM_UPDATE_SERVICE = "system_update";
1745    field public static final String TETHERING_SERVICE = "tethering";
1746    field public static final String VR_SERVICE = "vrmanager";
1747    field public static final String WIFI_NL80211_SERVICE = "wifinl80211";
1748    field @Deprecated public static final String WIFI_RTT_SERVICE = "rttmanager";
1749    field public static final String WIFI_SCANNING_SERVICE = "wifiscanner";
1750  }
1751
1752  public class ContextWrapper extends android.content.Context {
1753    method public android.content.Context createCredentialProtectedStorageContext();
1754    method public java.io.File getPreloadsFileCache();
1755    method public boolean isCredentialProtectedStorage();
1756    method public void sendBroadcast(android.content.Intent, String, android.os.Bundle);
1757    method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, String, android.os.Bundle);
1758    method public void sendOrderedBroadcast(android.content.Intent, String, android.os.Bundle, android.content.BroadcastReceiver, android.os.Handler, int, String, android.os.Bundle);
1759  }
1760
1761  public class Intent implements java.lang.Cloneable android.os.Parcelable {
1762    field public static final String ACTION_BATTERY_LEVEL_CHANGED = "android.intent.action.BATTERY_LEVEL_CHANGED";
1763    field public static final String ACTION_CALL_EMERGENCY = "android.intent.action.CALL_EMERGENCY";
1764    field public static final String ACTION_CALL_PRIVILEGED = "android.intent.action.CALL_PRIVILEGED";
1765    field public static final String ACTION_DEVICE_CUSTOMIZATION_READY = "android.intent.action.DEVICE_CUSTOMIZATION_READY";
1766    field public static final String ACTION_DIAL_EMERGENCY = "android.intent.action.DIAL_EMERGENCY";
1767    field public static final String ACTION_FACTORY_RESET = "android.intent.action.FACTORY_RESET";
1768    field public static final String ACTION_GLOBAL_BUTTON = "android.intent.action.GLOBAL_BUTTON";
1769    field public static final String ACTION_INCIDENT_REPORT_READY = "android.intent.action.INCIDENT_REPORT_READY";
1770    field public static final String ACTION_INSTALL_INSTANT_APP_PACKAGE = "android.intent.action.INSTALL_INSTANT_APP_PACKAGE";
1771    field public static final String ACTION_INSTANT_APP_RESOLVER_SETTINGS = "android.intent.action.INSTANT_APP_RESOLVER_SETTINGS";
1772    field public static final String ACTION_INTENT_FILTER_NEEDS_VERIFICATION = "android.intent.action.INTENT_FILTER_NEEDS_VERIFICATION";
1773    field public static final String ACTION_LOAD_DATA = "android.intent.action.LOAD_DATA";
1774    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_MANAGE_APP_PERMISSION = "android.intent.action.MANAGE_APP_PERMISSION";
1775    field public static final String ACTION_MANAGE_APP_PERMISSIONS = "android.intent.action.MANAGE_APP_PERMISSIONS";
1776    field @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public static final String ACTION_MANAGE_DEFAULT_APP = "android.intent.action.MANAGE_DEFAULT_APP";
1777    field public static final String ACTION_MANAGE_PERMISSIONS = "android.intent.action.MANAGE_PERMISSIONS";
1778    field public static final String ACTION_MANAGE_PERMISSION_APPS = "android.intent.action.MANAGE_PERMISSION_APPS";
1779    field @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public static final String ACTION_MANAGE_SPECIAL_APP_ACCESSES = "android.intent.action.MANAGE_SPECIAL_APP_ACCESSES";
1780    field public static final String ACTION_MASTER_CLEAR_NOTIFICATION = "android.intent.action.MASTER_CLEAR_NOTIFICATION";
1781    field public static final String ACTION_PACKAGE_NEEDS_INTEGRITY_VERIFICATION = "android.intent.action.PACKAGE_NEEDS_INTEGRITY_VERIFICATION";
1782    field public static final String ACTION_PACKAGE_UNSUSPENDED_MANUALLY = "android.intent.action.PACKAGE_UNSUSPENDED_MANUALLY";
1783    field public static final String ACTION_PENDING_INCIDENT_REPORTS_CHANGED = "android.intent.action.PENDING_INCIDENT_REPORTS_CHANGED";
1784    field public static final String ACTION_PRE_BOOT_COMPLETED = "android.intent.action.PRE_BOOT_COMPLETED";
1785    field public static final String ACTION_QUERY_PACKAGE_RESTART = "android.intent.action.QUERY_PACKAGE_RESTART";
1786    field public static final String ACTION_RESOLVE_INSTANT_APP_PACKAGE = "android.intent.action.RESOLVE_INSTANT_APP_PACKAGE";
1787    field @RequiresPermission(android.Manifest.permission.REVIEW_ACCESSIBILITY_SERVICES) public static final String ACTION_REVIEW_ACCESSIBILITY_SERVICES = "android.intent.action.REVIEW_ACCESSIBILITY_SERVICES";
1788    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_ONGOING_PERMISSION_USAGE = "android.intent.action.REVIEW_ONGOING_PERMISSION_USAGE";
1789    field public static final String ACTION_REVIEW_PERMISSIONS = "android.intent.action.REVIEW_PERMISSIONS";
1790    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_PERMISSION_USAGE = "android.intent.action.REVIEW_PERMISSION_USAGE";
1791    field public static final String ACTION_ROLLBACK_COMMITTED = "android.intent.action.ROLLBACK_COMMITTED";
1792    field public static final String ACTION_SHOW_SUSPENDED_APP_DETAILS = "android.intent.action.SHOW_SUSPENDED_APP_DETAILS";
1793    field @Deprecated public static final String ACTION_SIM_STATE_CHANGED = "android.intent.action.SIM_STATE_CHANGED";
1794    field public static final String ACTION_SPLIT_CONFIGURATION_CHANGED = "android.intent.action.SPLIT_CONFIGURATION_CHANGED";
1795    field public static final String ACTION_UPGRADE_SETUP = "android.intent.action.UPGRADE_SETUP";
1796    field public static final String ACTION_USER_ADDED = "android.intent.action.USER_ADDED";
1797    field public static final String ACTION_USER_REMOVED = "android.intent.action.USER_REMOVED";
1798    field public static final String ACTION_VOICE_ASSIST = "android.intent.action.VOICE_ASSIST";
1799    field public static final String CATEGORY_LEANBACK_SETTINGS = "android.intent.category.LEANBACK_SETTINGS";
1800    field public static final String EXTRA_CALLING_PACKAGE = "android.intent.extra.CALLING_PACKAGE";
1801    field public static final String EXTRA_FORCE_FACTORY_RESET = "android.intent.extra.FORCE_FACTORY_RESET";
1802    field public static final String EXTRA_INSTANT_APP_ACTION = "android.intent.extra.INSTANT_APP_ACTION";
1803    field public static final String EXTRA_INSTANT_APP_BUNDLES = "android.intent.extra.INSTANT_APP_BUNDLES";
1804    field public static final String EXTRA_INSTANT_APP_EXTRAS = "android.intent.extra.INSTANT_APP_EXTRAS";
1805    field public static final String EXTRA_INSTANT_APP_FAILURE = "android.intent.extra.INSTANT_APP_FAILURE";
1806    field public static final String EXTRA_INSTANT_APP_HOSTNAME = "android.intent.extra.INSTANT_APP_HOSTNAME";
1807    field public static final String EXTRA_INSTANT_APP_SUCCESS = "android.intent.extra.INSTANT_APP_SUCCESS";
1808    field public static final String EXTRA_INSTANT_APP_TOKEN = "android.intent.extra.INSTANT_APP_TOKEN";
1809    field public static final String EXTRA_LONG_VERSION_CODE = "android.intent.extra.LONG_VERSION_CODE";
1810    field public static final String EXTRA_ORIGINATING_UID = "android.intent.extra.ORIGINATING_UID";
1811    field public static final String EXTRA_PACKAGES = "android.intent.extra.PACKAGES";
1812    field public static final String EXTRA_PERMISSION_GROUP_NAME = "android.intent.extra.PERMISSION_GROUP_NAME";
1813    field public static final String EXTRA_PERMISSION_NAME = "android.intent.extra.PERMISSION_NAME";
1814    field public static final String EXTRA_REASON = "android.intent.extra.REASON";
1815    field public static final String EXTRA_REMOTE_CALLBACK = "android.intent.extra.REMOTE_CALLBACK";
1816    field public static final String EXTRA_RESULT_NEEDED = "android.intent.extra.RESULT_NEEDED";
1817    field public static final String EXTRA_ROLE_NAME = "android.intent.extra.ROLE_NAME";
1818    field public static final String EXTRA_UNKNOWN_INSTANT_APP = "android.intent.extra.UNKNOWN_INSTANT_APP";
1819    field public static final String EXTRA_VERIFICATION_BUNDLE = "android.intent.extra.VERIFICATION_BUNDLE";
1820    field public static final int FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT = 67108864; // 0x4000000
1821    field public static final String METADATA_SETUP_VERSION = "android.SETUP_VERSION";
1822  }
1823
1824  public class IntentFilter implements android.os.Parcelable {
1825    method public final int getOrder();
1826    method public final void setOrder(int);
1827  }
1828
1829}
1830
1831package android.content.integrity {
1832
1833  public class AppIntegrityManager {
1834    method @NonNull public String getCurrentRuleSetProvider();
1835    method @NonNull public String getCurrentRuleSetVersion();
1836    method public void updateRuleSet(@NonNull android.content.integrity.RuleSet, @NonNull android.content.IntentSender);
1837    field public static final String EXTRA_STATUS = "android.content.integrity.extra.STATUS";
1838    field public static final int STATUS_FAILURE = 1; // 0x1
1839    field public static final int STATUS_SUCCESS = 0; // 0x0
1840  }
1841
1842  public abstract class IntegrityFormula {
1843    method @NonNull public static android.content.integrity.IntegrityFormula all(@NonNull android.content.integrity.IntegrityFormula...);
1844    method @NonNull public static android.content.integrity.IntegrityFormula any(@NonNull android.content.integrity.IntegrityFormula...);
1845    method @NonNull public static android.content.integrity.IntegrityFormula not(@NonNull android.content.integrity.IntegrityFormula);
1846  }
1847
1848  public static final class IntegrityFormula.Application {
1849    method @NonNull public static android.content.integrity.IntegrityFormula certificatesContain(@NonNull String);
1850    method @NonNull public static android.content.integrity.IntegrityFormula isPreInstalled();
1851    method @NonNull public static android.content.integrity.IntegrityFormula packageNameEquals(@NonNull String);
1852    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeEquals(@NonNull long);
1853    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeGreaterThan(@NonNull long);
1854    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeGreaterThanOrEqualTo(@NonNull long);
1855  }
1856
1857  public static final class IntegrityFormula.Installer {
1858    method @NonNull public static android.content.integrity.IntegrityFormula certificatesContain(@NonNull String);
1859    method @NonNull public static android.content.integrity.IntegrityFormula notAllowedByManifest();
1860    method @NonNull public static android.content.integrity.IntegrityFormula packageNameEquals(@NonNull String);
1861  }
1862
1863  public static final class IntegrityFormula.SourceStamp {
1864    method @NonNull public static android.content.integrity.IntegrityFormula notTrusted();
1865    method @NonNull public static android.content.integrity.IntegrityFormula stampCertificateHashEquals(@NonNull String);
1866  }
1867
1868  public final class Rule implements android.os.Parcelable {
1869    ctor public Rule(@NonNull android.content.integrity.IntegrityFormula, int);
1870    method public int describeContents();
1871    method public int getEffect();
1872    method @NonNull public android.content.integrity.IntegrityFormula getFormula();
1873    method public void writeToParcel(@NonNull android.os.Parcel, int);
1874    field @NonNull public static final android.os.Parcelable.Creator<android.content.integrity.Rule> CREATOR;
1875    field public static final int DENY = 0; // 0x0
1876    field public static final int FORCE_ALLOW = 1; // 0x1
1877  }
1878
1879  public class RuleSet {
1880    method @NonNull public java.util.List<android.content.integrity.Rule> getRules();
1881    method @NonNull public String getVersion();
1882  }
1883
1884  public static class RuleSet.Builder {
1885    ctor public RuleSet.Builder();
1886    method @NonNull public android.content.integrity.RuleSet.Builder addRules(@NonNull java.util.List<android.content.integrity.Rule>);
1887    method @NonNull public android.content.integrity.RuleSet build();
1888    method @NonNull public android.content.integrity.RuleSet.Builder setVersion(@NonNull String);
1889  }
1890
1891}
1892
1893package android.content.om {
1894
1895  public final class OverlayInfo implements android.os.Parcelable {
1896    method public int describeContents();
1897    method @Nullable public String getCategory();
1898    method @NonNull public String getPackageName();
1899    method @Nullable public String getTargetOverlayableName();
1900    method @NonNull public String getTargetPackageName();
1901    method public int getUserId();
1902    method public boolean isEnabled();
1903    method public void writeToParcel(android.os.Parcel, int);
1904    field @NonNull public static final android.os.Parcelable.Creator<android.content.om.OverlayInfo> CREATOR;
1905  }
1906
1907  public class OverlayManager {
1908    method @Nullable public android.content.om.OverlayInfo getOverlayInfo(@NonNull String, @NonNull android.os.UserHandle);
1909    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);
1910    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;
1911    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;
1912  }
1913
1914}
1915
1916package android.content.pm {
1917
1918  public class ApplicationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
1919    method public boolean isEncryptionAware();
1920    method public boolean isInstantApp();
1921    field public String credentialProtectedDataDir;
1922    field public int targetSandboxVersion;
1923  }
1924
1925  public class CrossProfileApps {
1926    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_PROFILES) public void startActivity(@NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
1927  }
1928
1929  public class DataLoaderParams {
1930    method @NonNull public static final android.content.pm.DataLoaderParams forIncremental(@NonNull android.content.ComponentName, @NonNull String);
1931    method @NonNull public static final android.content.pm.DataLoaderParams forStreaming(@NonNull android.content.ComponentName, @NonNull String);
1932    method @NonNull public final String getArguments();
1933    method @NonNull public final android.content.ComponentName getComponentName();
1934    method @NonNull public final int getType();
1935  }
1936
1937  public final class InstallationFile {
1938    method public long getLengthBytes();
1939    method public int getLocation();
1940    method @Nullable public byte[] getMetadata();
1941    method @NonNull public String getName();
1942    method @Nullable public byte[] getSignature();
1943  }
1944
1945  public final class InstantAppInfo implements android.os.Parcelable {
1946    ctor public InstantAppInfo(android.content.pm.ApplicationInfo, String[], String[]);
1947    ctor public InstantAppInfo(String, CharSequence, String[], String[]);
1948    method public int describeContents();
1949    method @Nullable public android.content.pm.ApplicationInfo getApplicationInfo();
1950    method @Nullable public String[] getGrantedPermissions();
1951    method @NonNull public String getPackageName();
1952    method @Nullable public String[] getRequestedPermissions();
1953    method @NonNull public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.pm.PackageManager);
1954    method @NonNull public CharSequence loadLabel(@NonNull android.content.pm.PackageManager);
1955    method public void writeToParcel(android.os.Parcel, int);
1956    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppInfo> CREATOR;
1957  }
1958
1959  public final class InstantAppIntentFilter implements android.os.Parcelable {
1960    ctor public InstantAppIntentFilter(@Nullable String, @NonNull java.util.List<android.content.IntentFilter>);
1961    method public int describeContents();
1962    method public java.util.List<android.content.IntentFilter> getFilters();
1963    method public String getSplitName();
1964    method public void writeToParcel(android.os.Parcel, int);
1965    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppIntentFilter> CREATOR;
1966  }
1967
1968  public final class InstantAppRequestInfo implements android.os.Parcelable {
1969    ctor public InstantAppRequestInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, boolean, @NonNull String);
1970    method public int describeContents();
1971    method @Nullable public int[] getHostDigestPrefix();
1972    method @NonNull public android.content.Intent getIntent();
1973    method @NonNull public String getToken();
1974    method @NonNull public android.os.UserHandle getUserHandle();
1975    method public boolean isRequesterInstantApp();
1976    method public void writeToParcel(@NonNull android.os.Parcel, int);
1977    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppRequestInfo> CREATOR;
1978  }
1979
1980  public final class InstantAppResolveInfo implements android.os.Parcelable {
1981    ctor public InstantAppResolveInfo(@NonNull android.content.pm.InstantAppResolveInfo.InstantAppDigest, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>, int);
1982    ctor public InstantAppResolveInfo(@NonNull android.content.pm.InstantAppResolveInfo.InstantAppDigest, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>, long, @Nullable android.os.Bundle);
1983    ctor public InstantAppResolveInfo(@NonNull String, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>);
1984    ctor public InstantAppResolveInfo(@Nullable android.os.Bundle);
1985    method public int describeContents();
1986    method public byte[] getDigestBytes();
1987    method public int getDigestPrefix();
1988    method @Nullable public android.os.Bundle getExtras();
1989    method public java.util.List<android.content.pm.InstantAppIntentFilter> getIntentFilters();
1990    method public long getLongVersionCode();
1991    method public String getPackageName();
1992    method @Deprecated public int getVersionCode();
1993    method public boolean shouldLetInstallerDecide();
1994    method public void writeToParcel(android.os.Parcel, int);
1995    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppResolveInfo> CREATOR;
1996  }
1997
1998  public static final class InstantAppResolveInfo.InstantAppDigest implements android.os.Parcelable {
1999    ctor public InstantAppResolveInfo.InstantAppDigest(@NonNull String);
2000    method public int describeContents();
2001    method public byte[][] getDigestBytes();
2002    method public int[] getDigestPrefix();
2003    method public void writeToParcel(android.os.Parcel, int);
2004    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppResolveInfo.InstantAppDigest> CREATOR;
2005    field public static final android.content.pm.InstantAppResolveInfo.InstantAppDigest UNDEFINED;
2006  }
2007
2008  public final class IntentFilterVerificationInfo implements android.os.Parcelable {
2009    method public int describeContents();
2010    method public java.util.Set<java.lang.String> getDomains();
2011    method public String getPackageName();
2012    method public int getStatus();
2013    method public void writeToParcel(android.os.Parcel, int);
2014    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.IntentFilterVerificationInfo> CREATOR;
2015  }
2016
2017  public class LauncherApps {
2018    method @Nullable public android.content.pm.LauncherApps.AppUsageLimit getAppUsageLimit(@NonNull String, @NonNull android.os.UserHandle);
2019  }
2020
2021  public static final class LauncherApps.AppUsageLimit implements android.os.Parcelable {
2022    method public int describeContents();
2023    method public long getTotalUsageLimit();
2024    method public long getUsageRemaining();
2025    method public void writeToParcel(android.os.Parcel, int);
2026    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.LauncherApps.AppUsageLimit> CREATOR;
2027  }
2028
2029  public class PackageInstaller {
2030    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setPermissionsResult(int, boolean);
2031    field public static final int DATA_LOADER_TYPE_INCREMENTAL = 2; // 0x2
2032    field public static final int DATA_LOADER_TYPE_NONE = 0; // 0x0
2033    field public static final int DATA_LOADER_TYPE_STREAMING = 1; // 0x1
2034    field public static final String EXTRA_DATA_LOADER_TYPE = "android.content.pm.extra.DATA_LOADER_TYPE";
2035    field public static final int LOCATION_DATA_APP = 0; // 0x0
2036    field public static final int LOCATION_MEDIA_DATA = 2; // 0x2
2037    field public static final int LOCATION_MEDIA_OBB = 1; // 0x1
2038  }
2039
2040  public static class PackageInstaller.Session implements java.io.Closeable {
2041    method @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public void addFile(int, @NonNull String, long, @NonNull byte[], @Nullable byte[]);
2042    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void commitTransferred(@NonNull android.content.IntentSender);
2043    method @Nullable @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public android.content.pm.DataLoaderParams getDataLoaderParams();
2044    method @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public void removeFile(int, @NonNull String);
2045  }
2046
2047  public static class PackageInstaller.SessionInfo implements android.os.Parcelable {
2048    method public boolean getAllocateAggressive();
2049    method @Deprecated public boolean getAllowDowngrade();
2050    method public int getAutoRevokePermissionsMode();
2051    method public boolean getDontKillApp();
2052    method public boolean getEnableRollback();
2053    method @Nullable public String[] getGrantedRuntimePermissions();
2054    method public boolean getInstallAsFullApp(boolean);
2055    method public boolean getInstallAsInstantApp(boolean);
2056    method public boolean getInstallAsVirtualPreload();
2057    method public boolean getRequestDowngrade();
2058    method public int getRollbackDataPolicy();
2059    method @NonNull public java.util.Set<java.lang.String> getWhitelistedRestrictedPermissions();
2060  }
2061
2062  public static class PackageInstaller.SessionParams implements android.os.Parcelable {
2063    method @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public void setAllocateAggressive(boolean);
2064    method @Deprecated public void setAllowDowngrade(boolean);
2065    method @RequiresPermission(allOf={android.Manifest.permission.INSTALL_PACKAGES, "com.android.permission.USE_INSTALLER_V2"}) public void setDataLoaderParams(@NonNull android.content.pm.DataLoaderParams);
2066    method public void setDontKillApp(boolean);
2067    method public void setEnableRollback(boolean);
2068    method public void setEnableRollback(boolean, int);
2069    method @RequiresPermission(android.Manifest.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS) public void setGrantedRuntimePermissions(String[]);
2070    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setInstallAsApex();
2071    method public void setInstallAsInstantApp(boolean);
2072    method public void setInstallAsVirtualPreload();
2073    method public void setRequestDowngrade(boolean);
2074    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setStaged();
2075  }
2076
2077  public class PackageItemInfo {
2078    method public static void forceSafeLabels();
2079    method @Deprecated @NonNull public CharSequence loadSafeLabel(@NonNull android.content.pm.PackageManager);
2080    method @NonNull public CharSequence loadSafeLabel(@NonNull android.content.pm.PackageManager, @FloatRange(from=0) float, int);
2081  }
2082
2083  public abstract class PackageManager {
2084    method @RequiresPermission("android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS") public abstract void addOnPermissionsChangeListener(@NonNull android.content.pm.PackageManager.OnPermissionsChangedListener);
2085    method public abstract boolean arePermissionsIndividuallyControlled();
2086    method @NonNull public abstract java.util.List<android.content.IntentFilter> getAllIntentFilters(@NonNull String);
2087    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;
2088    method @NonNull public android.content.pm.dex.ArtManager getArtManager();
2089    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_SHARED_LIBRARIES) public java.util.List<android.content.pm.SharedLibraryInfo> getDeclaredSharedLibraries(@NonNull String, int);
2090    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract String getDefaultBrowserPackageNameAsUser(int);
2091    method @Nullable @RequiresPermission(android.Manifest.permission.SET_HARMFUL_APP_WARNINGS) public CharSequence getHarmfulAppWarning(@NonNull String);
2092    method @Nullable public String getIncidentReportApproverPackageName();
2093    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract java.util.List<android.content.pm.PackageInfo> getInstalledPackagesAsUser(int, int);
2094    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public abstract android.graphics.drawable.Drawable getInstantAppIcon(String);
2095    method @Nullable public abstract android.content.ComponentName getInstantAppInstallerComponent();
2096    method @Nullable public abstract android.content.ComponentName getInstantAppResolverSettingsComponent();
2097    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public abstract java.util.List<android.content.pm.InstantAppInfo> getInstantApps();
2098    method @NonNull public abstract java.util.List<android.content.pm.IntentFilterVerificationInfo> getIntentFilterVerifications(@NonNull String);
2099    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract int getIntentVerificationStatusAsUser(@NonNull String, int);
2100    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);
2101    method @NonNull @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] getUnsuspendablePackages(@NonNull String[]);
2102    method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public abstract void grantRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
2103    method @Deprecated public abstract int installExistingPackage(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
2104    method @Deprecated public abstract int installExistingPackage(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException;
2105    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);
2106    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);
2107    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);
2108    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);
2109    method public abstract void registerDexModule(@NonNull String, @Nullable android.content.pm.PackageManager.DexModuleRegisterCallback);
2110    method @RequiresPermission("android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS") public abstract void removeOnPermissionsChangeListener(@NonNull android.content.pm.PackageManager.OnPermissionsChangedListener);
2111    method public void replacePreferredActivity(@NonNull android.content.IntentFilter, int, @NonNull java.util.List<android.content.ComponentName>, @NonNull android.content.ComponentName);
2112    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public abstract void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
2113    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle, @NonNull String);
2114    method public void sendDeviceCustomizationReadyBroadcast();
2115    method @RequiresPermission(allOf={android.Manifest.permission.SET_PREFERRED_APPLICATIONS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public abstract boolean setDefaultBrowserPackageNameAsUser(@Nullable String, int);
2116    method @NonNull @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] setDistractingPackageRestrictions(@NonNull String[], int);
2117    method @RequiresPermission(android.Manifest.permission.SET_HARMFUL_APP_WARNINGS) public void setHarmfulAppWarning(@NonNull String, @Nullable CharSequence);
2118    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);
2119    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);
2120    method @RequiresPermission(value=android.Manifest.permission.CHANGE_COMPONENT_ENABLED_STATE, conditional=true) public void setSyntheticAppDetailsActivityEnabled(@NonNull String, boolean);
2121    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public abstract void setUpdateAvailable(@NonNull String, boolean);
2122    method @RequiresPermission(android.Manifest.permission.SET_PREFERRED_APPLICATIONS) public abstract boolean updateIntentVerificationStatusAsUser(@NonNull String, int, int);
2123    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);
2124    method @RequiresPermission(android.Manifest.permission.INTENT_FILTER_VERIFICATION_AGENT) public abstract void verifyIntentFilter(int, int, @NonNull java.util.List<java.lang.String>);
2125    field public static final String ACTION_REQUEST_PERMISSIONS = "android.content.pm.action.REQUEST_PERMISSIONS";
2126    field public static final String EXTRA_REQUEST_PERMISSIONS_NAMES = "android.content.pm.extra.REQUEST_PERMISSIONS_NAMES";
2127    field public static final String EXTRA_REQUEST_PERMISSIONS_RESULTS = "android.content.pm.extra.REQUEST_PERMISSIONS_RESULTS";
2128    field public static final String FEATURE_BROADCAST_RADIO = "android.hardware.broadcastradio";
2129    field public static final String FEATURE_CONTEXT_HUB = "android.hardware.context_hub";
2130    field public static final String FEATURE_INCREMENTAL_DELIVERY = "android.software.incremental_delivery";
2131    field public static final String FEATURE_REBOOT_ESCROW = "android.hardware.reboot_escrow";
2132    field public static final String FEATURE_TELEPHONY_CARRIERLOCK = "android.hardware.telephony.carrierlock";
2133    field public static final int FLAGS_PERMISSION_RESERVED_PERMISSION_CONTROLLER = -268435456; // 0xf0000000
2134    field public static final int FLAG_PERMISSION_APPLY_RESTRICTION = 16384; // 0x4000
2135    field public static final int FLAG_PERMISSION_AUTO_REVOKED = 131072; // 0x20000
2136    field public static final int FLAG_PERMISSION_GRANTED_BY_DEFAULT = 32; // 0x20
2137    field public static final int FLAG_PERMISSION_GRANTED_BY_ROLE = 32768; // 0x8000
2138    field public static final int FLAG_PERMISSION_ONE_TIME = 65536; // 0x10000
2139    field public static final int FLAG_PERMISSION_POLICY_FIXED = 4; // 0x4
2140    field public static final int FLAG_PERMISSION_RESTRICTION_INSTALLER_EXEMPT = 2048; // 0x800
2141    field public static final int FLAG_PERMISSION_RESTRICTION_SYSTEM_EXEMPT = 4096; // 0x1000
2142    field public static final int FLAG_PERMISSION_RESTRICTION_UPGRADE_EXEMPT = 8192; // 0x2000
2143    field public static final int FLAG_PERMISSION_REVIEW_REQUIRED = 64; // 0x40
2144    field public static final int FLAG_PERMISSION_REVOKED_COMPAT = 8; // 0x8
2145    field @Deprecated public static final int FLAG_PERMISSION_REVOKE_ON_UPGRADE = 8; // 0x8
2146    field public static final int FLAG_PERMISSION_SYSTEM_FIXED = 16; // 0x10
2147    field public static final int FLAG_PERMISSION_USER_FIXED = 2; // 0x2
2148    field public static final int FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED = 512; // 0x200
2149    field public static final int FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED = 256; // 0x100
2150    field public static final int FLAG_PERMISSION_USER_SET = 1; // 0x1
2151    field public static final int INSTALL_FAILED_ALREADY_EXISTS = -1; // 0xffffffff
2152    field public static final int INSTALL_FAILED_CONFLICTING_PROVIDER = -13; // 0xfffffff3
2153    field public static final int INSTALL_FAILED_CONTAINER_ERROR = -18; // 0xffffffee
2154    field public static final int INSTALL_FAILED_CPU_ABI_INCOMPATIBLE = -16; // 0xfffffff0
2155    field public static final int INSTALL_FAILED_DEXOPT = -11; // 0xfffffff5
2156    field public static final int INSTALL_FAILED_DUPLICATE_PACKAGE = -5; // 0xfffffffb
2157    field public static final int INSTALL_FAILED_INSUFFICIENT_STORAGE = -4; // 0xfffffffc
2158    field public static final int INSTALL_FAILED_INTERNAL_ERROR = -110; // 0xffffff92
2159    field public static final int INSTALL_FAILED_INVALID_APK = -2; // 0xfffffffe
2160    field public static final int INSTALL_FAILED_INVALID_INSTALL_LOCATION = -19; // 0xffffffed
2161    field public static final int INSTALL_FAILED_INVALID_URI = -3; // 0xfffffffd
2162    field public static final int INSTALL_FAILED_MEDIA_UNAVAILABLE = -20; // 0xffffffec
2163    field public static final int INSTALL_FAILED_MISSING_FEATURE = -17; // 0xffffffef
2164    field public static final int INSTALL_FAILED_MISSING_SHARED_LIBRARY = -9; // 0xfffffff7
2165    field public static final int INSTALL_FAILED_NEWER_SDK = -14; // 0xfffffff2
2166    field public static final int INSTALL_FAILED_NO_SHARED_USER = -6; // 0xfffffffa
2167    field public static final int INSTALL_FAILED_OLDER_SDK = -12; // 0xfffffff4
2168    field public static final int INSTALL_FAILED_PACKAGE_CHANGED = -23; // 0xffffffe9
2169    field public static final int INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE = -26; // 0xffffffe6
2170    field public static final int INSTALL_FAILED_REPLACE_COULDNT_DELETE = -10; // 0xfffffff6
2171    field public static final int INSTALL_FAILED_SANDBOX_VERSION_DOWNGRADE = -27; // 0xffffffe5
2172    field public static final int INSTALL_FAILED_SHARED_USER_INCOMPATIBLE = -8; // 0xfffffff8
2173    field public static final int INSTALL_FAILED_TEST_ONLY = -15; // 0xfffffff1
2174    field public static final int INSTALL_FAILED_UPDATE_INCOMPATIBLE = -7; // 0xfffffff9
2175    field public static final int INSTALL_FAILED_VERIFICATION_FAILURE = -22; // 0xffffffea
2176    field public static final int INSTALL_FAILED_VERIFICATION_TIMEOUT = -21; // 0xffffffeb
2177    field public static final int INSTALL_PARSE_FAILED_BAD_MANIFEST = -101; // 0xffffff9b
2178    field public static final int INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME = -106; // 0xffffff96
2179    field public static final int INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID = -107; // 0xffffff95
2180    field public static final int INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING = -105; // 0xffffff97
2181    field public static final int INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES = -104; // 0xffffff98
2182    field public static final int INSTALL_PARSE_FAILED_MANIFEST_EMPTY = -109; // 0xffffff93
2183    field public static final int INSTALL_PARSE_FAILED_MANIFEST_MALFORMED = -108; // 0xffffff94
2184    field public static final int INSTALL_PARSE_FAILED_NOT_APK = -100; // 0xffffff9c
2185    field public static final int INSTALL_PARSE_FAILED_NO_CERTIFICATES = -103; // 0xffffff99
2186    field public static final int INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION = -102; // 0xffffff9a
2187    field public static final int INSTALL_SUCCEEDED = 1; // 0x1
2188    field public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS = 2; // 0x2
2189    field public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS_ASK = 4; // 0x4
2190    field public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ASK = 1; // 0x1
2191    field public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER = 3; // 0x3
2192    field public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_UNDEFINED = 0; // 0x0
2193    field public static final int INTENT_FILTER_VERIFICATION_FAILURE = -1; // 0xffffffff
2194    field public static final int INTENT_FILTER_VERIFICATION_SUCCESS = 1; // 0x1
2195    field @Deprecated public static final int MASK_PERMISSION_FLAGS = 255; // 0xff
2196    field public static final int MATCH_ANY_USER = 4194304; // 0x400000
2197    field public static final int MATCH_FACTORY_ONLY = 2097152; // 0x200000
2198    field public static final int MATCH_INSTANT = 8388608; // 0x800000
2199    field public static final int MODULE_APEX_NAME = 1; // 0x1
2200    field public static final int RESTRICTION_HIDE_FROM_SUGGESTIONS = 1; // 0x1
2201    field public static final int RESTRICTION_HIDE_NOTIFICATIONS = 2; // 0x2
2202    field public static final int RESTRICTION_NONE = 0; // 0x0
2203  }
2204
2205  public abstract static class PackageManager.DexModuleRegisterCallback {
2206    ctor public PackageManager.DexModuleRegisterCallback();
2207    method public abstract void onDexModuleRegistered(String, boolean, String);
2208  }
2209
2210  public static interface PackageManager.OnPermissionsChangedListener {
2211    method public void onPermissionsChanged(int);
2212  }
2213
2214  @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 {
2215  }
2216
2217  public class PermissionGroupInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
2218    field @StringRes public final int backgroundRequestDetailResourceId;
2219    field @StringRes public final int backgroundRequestResourceId;
2220    field @StringRes public final int requestDetailResourceId;
2221    field @StringRes public int requestRes;
2222  }
2223
2224  public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
2225    field public static final int FLAG_REMOVED = 2; // 0x2
2226    field public static final int PROTECTION_FLAG_APP_PREDICTOR = 2097152; // 0x200000
2227    field public static final int PROTECTION_FLAG_COMPANION = 8388608; // 0x800000
2228    field public static final int PROTECTION_FLAG_CONFIGURATOR = 524288; // 0x80000
2229    field public static final int PROTECTION_FLAG_DOCUMENTER = 262144; // 0x40000
2230    field public static final int PROTECTION_FLAG_INCIDENT_REPORT_APPROVER = 1048576; // 0x100000
2231    field public static final int PROTECTION_FLAG_OEM = 16384; // 0x4000
2232    field public static final int PROTECTION_FLAG_RETAIL_DEMO = 16777216; // 0x1000000
2233    field public static final int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER = 65536; // 0x10000
2234    field public static final int PROTECTION_FLAG_WELLBEING = 131072; // 0x20000
2235    field @Nullable public final String backgroundPermission;
2236    field @StringRes public int requestRes;
2237  }
2238
2239  public class ResolveInfo implements android.os.Parcelable {
2240    field public boolean handleAllWebDataURI;
2241  }
2242
2243  public final class ShortcutInfo implements android.os.Parcelable {
2244    method @Nullable public android.app.Person[] getPersons();
2245  }
2246
2247  public class ShortcutManager {
2248    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_PREDICTIONS) public java.util.List<android.content.pm.ShortcutManager.ShareShortcutInfo> getShareTargets(@NonNull android.content.IntentFilter);
2249    method public boolean hasShareTargets(@NonNull String);
2250  }
2251
2252  public static final class ShortcutManager.ShareShortcutInfo implements android.os.Parcelable {
2253    method public int describeContents();
2254    method @NonNull public android.content.pm.ShortcutInfo getShortcutInfo();
2255    method @NonNull public android.content.ComponentName getTargetComponent();
2256    method public void writeToParcel(@NonNull android.os.Parcel, int);
2257    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ShortcutManager.ShareShortcutInfo> CREATOR;
2258  }
2259
2260  public final class SuspendDialogInfo implements android.os.Parcelable {
2261    method public int describeContents();
2262    method public void writeToParcel(android.os.Parcel, int);
2263    field public static final int BUTTON_ACTION_MORE_DETAILS = 0; // 0x0
2264    field public static final int BUTTON_ACTION_UNSUSPEND = 1; // 0x1
2265    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.SuspendDialogInfo> CREATOR;
2266  }
2267
2268  public static final class SuspendDialogInfo.Builder {
2269    ctor public SuspendDialogInfo.Builder();
2270    method @NonNull public android.content.pm.SuspendDialogInfo build();
2271    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setIcon(@DrawableRes int);
2272    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setMessage(@NonNull String);
2273    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setMessage(@StringRes int);
2274    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonAction(int);
2275    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonText(@StringRes int);
2276    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setTitle(@StringRes int);
2277  }
2278
2279}
2280
2281package android.content.pm.dex {
2282
2283  public class ArtManager {
2284    method @RequiresPermission(allOf={android.Manifest.permission.READ_RUNTIME_PROFILES, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean isRuntimeProfilingEnabled(int);
2285    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);
2286    field public static final int PROFILE_APPS = 0; // 0x0
2287    field public static final int PROFILE_BOOT_IMAGE = 1; // 0x1
2288    field public static final int SNAPSHOT_FAILED_CODE_PATH_NOT_FOUND = 1; // 0x1
2289    field public static final int SNAPSHOT_FAILED_INTERNAL_ERROR = 2; // 0x2
2290    field public static final int SNAPSHOT_FAILED_PACKAGE_NOT_FOUND = 0; // 0x0
2291  }
2292
2293  public abstract static class ArtManager.SnapshotRuntimeProfileCallback {
2294    ctor public ArtManager.SnapshotRuntimeProfileCallback();
2295    method public abstract void onError(int);
2296    method public abstract void onSuccess(android.os.ParcelFileDescriptor);
2297  }
2298
2299}
2300
2301package android.content.pm.permission {
2302
2303  @Deprecated public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
2304    ctor @Deprecated public RuntimePermissionPresentationInfo(CharSequence, boolean, boolean);
2305    method @Deprecated public int describeContents();
2306    method @Deprecated @NonNull public CharSequence getLabel();
2307    method @Deprecated public boolean isGranted();
2308    method @Deprecated public boolean isStandard();
2309    method @Deprecated public void writeToParcel(android.os.Parcel, int);
2310    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.content.pm.permission.RuntimePermissionPresentationInfo> CREATOR;
2311  }
2312
2313}
2314
2315package android.content.rollback {
2316
2317  public final class PackageRollbackInfo implements android.os.Parcelable {
2318    method public int describeContents();
2319    method @NonNull public String getPackageName();
2320    method @NonNull public android.content.pm.VersionedPackage getVersionRolledBackFrom();
2321    method @NonNull public android.content.pm.VersionedPackage getVersionRolledBackTo();
2322    method public void writeToParcel(android.os.Parcel, int);
2323    field @NonNull public static final android.os.Parcelable.Creator<android.content.rollback.PackageRollbackInfo> CREATOR;
2324  }
2325
2326  public final class RollbackInfo implements android.os.Parcelable {
2327    method public int describeContents();
2328    method @NonNull public java.util.List<android.content.pm.VersionedPackage> getCausePackages();
2329    method public int getCommittedSessionId();
2330    method @NonNull public java.util.List<android.content.rollback.PackageRollbackInfo> getPackages();
2331    method public int getRollbackId();
2332    method public boolean isStaged();
2333    method public void writeToParcel(android.os.Parcel, int);
2334    field @NonNull public static final android.os.Parcelable.Creator<android.content.rollback.RollbackInfo> CREATOR;
2335  }
2336
2337  public final class RollbackManager {
2338    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);
2339    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_ROLLBACKS, "android.permission.TEST_MANAGE_ROLLBACKS"}) public java.util.List<android.content.rollback.RollbackInfo> getAvailableRollbacks();
2340    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_ROLLBACKS, "android.permission.TEST_MANAGE_ROLLBACKS"}) public java.util.List<android.content.rollback.RollbackInfo> getRecentlyCommittedRollbacks();
2341    field public static final String EXTRA_STATUS = "android.content.rollback.extra.STATUS";
2342    field public static final String EXTRA_STATUS_MESSAGE = "android.content.rollback.extra.STATUS_MESSAGE";
2343    field public static final int STATUS_FAILURE = 1; // 0x1
2344    field public static final int STATUS_FAILURE_INSTALL = 3; // 0x3
2345    field public static final int STATUS_FAILURE_ROLLBACK_UNAVAILABLE = 2; // 0x2
2346    field public static final int STATUS_SUCCESS = 0; // 0x0
2347  }
2348
2349}
2350
2351package android.debug {
2352
2353  public class AdbManager {
2354    method @RequiresPermission(android.Manifest.permission.MANAGE_DEBUGGING) public boolean isAdbWifiQrSupported();
2355    method @RequiresPermission(android.Manifest.permission.MANAGE_DEBUGGING) public boolean isAdbWifiSupported();
2356  }
2357
2358}
2359
2360package android.hardware {
2361
2362  public final class Sensor {
2363    method public java.util.UUID getUuid();
2364    method public boolean isDataInjectionSupported();
2365    field public static final String STRING_TYPE_DYNAMIC_SENSOR_META = "android.sensor.dynamic_sensor_meta";
2366    field public static final String STRING_TYPE_WRIST_TILT_GESTURE = "android.sensor.wrist_tilt_gesture";
2367    field public static final int TYPE_DYNAMIC_SENSOR_META = 32; // 0x20
2368    field public static final int TYPE_WRIST_TILT_GESTURE = 26; // 0x1a
2369  }
2370
2371  public abstract class SensorManager {
2372    method public boolean initDataInjection(boolean);
2373    method public boolean injectSensorData(android.hardware.Sensor, float[], int, long);
2374  }
2375
2376}
2377
2378package android.hardware.biometrics {
2379
2380  public static interface BiometricManager.Authenticators {
2381    field @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static final int BIOMETRIC_CONVENIENCE = 4095; // 0xfff
2382    field @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static final int EMPTY_SET = 0; // 0x0
2383  }
2384
2385}
2386
2387package android.hardware.camera2 {
2388
2389  public abstract class CameraDevice implements java.lang.AutoCloseable {
2390    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;
2391    field public static final int SESSION_OPERATION_MODE_CONSTRAINED_HIGH_SPEED = 1; // 0x1
2392    field public static final int SESSION_OPERATION_MODE_NORMAL = 0; // 0x0
2393    field public static final int SESSION_OPERATION_MODE_VENDOR_START = 32768; // 0x8000
2394  }
2395
2396}
2397
2398package android.hardware.camera2.params {
2399
2400  public final class OutputConfiguration implements android.os.Parcelable {
2401    ctor public OutputConfiguration(@NonNull android.view.Surface, int);
2402    ctor public OutputConfiguration(int, @NonNull android.view.Surface, int);
2403    method public int getRotation();
2404    field public static final int ROTATION_0 = 0; // 0x0
2405    field public static final int ROTATION_180 = 2; // 0x2
2406    field public static final int ROTATION_270 = 3; // 0x3
2407    field public static final int ROTATION_90 = 1; // 0x1
2408  }
2409
2410}
2411
2412package android.hardware.display {
2413
2414  public final class AmbientBrightnessDayStats implements android.os.Parcelable {
2415    method public int describeContents();
2416    method public float[] getBucketBoundaries();
2417    method public java.time.LocalDate getLocalDate();
2418    method public float[] getStats();
2419    method public void writeToParcel(android.os.Parcel, int);
2420    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.AmbientBrightnessDayStats> CREATOR;
2421  }
2422
2423  public final class BrightnessChangeEvent implements android.os.Parcelable {
2424    method public int describeContents();
2425    method public void writeToParcel(android.os.Parcel, int);
2426    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessChangeEvent> CREATOR;
2427    field public final float batteryLevel;
2428    field public final float brightness;
2429    field public final long colorSampleDuration;
2430    field public final int colorTemperature;
2431    field @Nullable public final long[] colorValueBuckets;
2432    field public final boolean isDefaultBrightnessConfig;
2433    field public final boolean isUserSetBrightness;
2434    field public final float lastBrightness;
2435    field public final long[] luxTimestamps;
2436    field public final float[] luxValues;
2437    field public final boolean nightMode;
2438    field public final String packageName;
2439    field public final float powerBrightnessFactor;
2440    field public final long timeStamp;
2441  }
2442
2443  public final class BrightnessConfiguration implements android.os.Parcelable {
2444    method public int describeContents();
2445    method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByCategory(int);
2446    method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByPackageName(@NonNull String);
2447    method public android.util.Pair<float[],float[]> getCurve();
2448    method public float getShortTermModelLowerLuxMultiplier();
2449    method public long getShortTermModelTimeoutMillis();
2450    method public float getShortTermModelUpperLuxMultiplier();
2451    method public boolean shouldCollectColorSamples();
2452    method public void writeToParcel(android.os.Parcel, int);
2453    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessConfiguration> CREATOR;
2454    field public static final long SHORT_TERM_TIMEOUT_UNSET = -1L; // 0xffffffffffffffffL
2455  }
2456
2457  public static class BrightnessConfiguration.Builder {
2458    ctor public BrightnessConfiguration.Builder(float[], float[]);
2459    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByCategory(int, @NonNull android.hardware.display.BrightnessCorrection);
2460    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByPackageName(@NonNull String, @NonNull android.hardware.display.BrightnessCorrection);
2461    method @NonNull public android.hardware.display.BrightnessConfiguration build();
2462    method public int getMaxCorrectionsByCategory();
2463    method public int getMaxCorrectionsByPackageName();
2464    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setDescription(@Nullable String);
2465    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelLowerLuxMultiplier(@FloatRange(from=0.0f) float);
2466    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelTimeoutMillis(long);
2467    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelUpperLuxMultiplier(@FloatRange(from=0.0f) float);
2468    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShouldCollectColorSamples(boolean);
2469  }
2470
2471  public final class BrightnessCorrection implements android.os.Parcelable {
2472    method @FloatRange(from=0.0) public float apply(@FloatRange(from=0.0) float);
2473    method @NonNull public static android.hardware.display.BrightnessCorrection createScaleAndTranslateLog(float, float);
2474    method public int describeContents();
2475    method public void writeToParcel(android.os.Parcel, int);
2476    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessCorrection> CREATOR;
2477  }
2478
2479  public final class ColorDisplayManager {
2480    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public int getNightDisplayAutoMode();
2481    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public int getTransformCapabilities();
2482    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setAppSaturationLevel(@NonNull String, @IntRange(from=0, to=100) int);
2483    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayAutoMode(int);
2484    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayCustomEndTime(@NonNull java.time.LocalTime);
2485    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayCustomStartTime(@NonNull java.time.LocalTime);
2486    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setSaturationLevel(@IntRange(from=0, to=100) int);
2487    field public static final int AUTO_MODE_CUSTOM_TIME = 1; // 0x1
2488    field public static final int AUTO_MODE_DISABLED = 0; // 0x0
2489    field public static final int AUTO_MODE_TWILIGHT = 2; // 0x2
2490    field public static final int CAPABILITY_HARDWARE_ACCELERATION_GLOBAL = 2; // 0x2
2491    field public static final int CAPABILITY_HARDWARE_ACCELERATION_PER_APP = 4; // 0x4
2492    field public static final int CAPABILITY_NONE = 0; // 0x0
2493    field public static final int CAPABILITY_PROTECTED_CONTENT = 1; // 0x1
2494  }
2495
2496  public final class DisplayManager {
2497    method @RequiresPermission(android.Manifest.permission.ACCESS_AMBIENT_LIGHT_STATS) public java.util.List<android.hardware.display.AmbientBrightnessDayStats> getAmbientBrightnessStats();
2498    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getBrightnessConfiguration();
2499    method @RequiresPermission(android.Manifest.permission.BRIGHTNESS_SLIDER_USAGE) public java.util.List<android.hardware.display.BrightnessChangeEvent> getBrightnessEvents();
2500    method @Nullable @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getDefaultBrightnessConfiguration();
2501    method public android.util.Pair<float[],float[]> getMinimumBrightnessCurve();
2502    method public android.graphics.Point getStableDisplaySize();
2503    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public void setBrightnessConfiguration(android.hardware.display.BrightnessConfiguration);
2504    method @Deprecated @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_SATURATION) public void setSaturationLevel(float);
2505  }
2506
2507}
2508
2509package android.hardware.hdmi {
2510
2511  public abstract class HdmiClient {
2512    method public android.hardware.hdmi.HdmiDeviceInfo getActiveSource();
2513    method public void sendKeyEvent(int, boolean);
2514    method public void sendVendorCommand(int, byte[], boolean);
2515    method public void setVendorCommandListener(@NonNull android.hardware.hdmi.HdmiControlManager.VendorCommandListener);
2516  }
2517
2518  public final class HdmiControlManager {
2519    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHotplugEventListener(android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
2520    method @Nullable public android.hardware.hdmi.HdmiClient getClient(int);
2521    method @NonNull public java.util.List<android.hardware.hdmi.HdmiDeviceInfo> getConnectedDevices();
2522    method public int getPhysicalAddress();
2523    method @Nullable public android.hardware.hdmi.HdmiPlaybackClient getPlaybackClient();
2524    method @Nullable public android.hardware.hdmi.HdmiSwitchClient getSwitchClient();
2525    method @Nullable public android.hardware.hdmi.HdmiTvClient getTvClient();
2526    method public boolean isDeviceConnected(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
2527    method public void powerOffDevice(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
2528    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void removeHotplugEventListener(android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
2529    method public void setActiveSource(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
2530    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setStandbyMode(boolean);
2531    field public static final String ACTION_OSD_MESSAGE = "android.hardware.hdmi.action.OSD_MESSAGE";
2532    field public static final int AVR_VOLUME_MUTED = 101; // 0x65
2533    field public static final int CLEAR_TIMER_STATUS_CEC_DISABLE = 162; // 0xa2
2534    field public static final int CLEAR_TIMER_STATUS_CHECK_RECORDER_CONNECTION = 160; // 0xa0
2535    field public static final int CLEAR_TIMER_STATUS_FAIL_TO_CLEAR_SELECTED_SOURCE = 161; // 0xa1
2536    field public static final int CLEAR_TIMER_STATUS_TIMER_CLEARED = 128; // 0x80
2537    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_NO_INFO_AVAILABLE = 2; // 0x2
2538    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_NO_MATCHING = 1; // 0x1
2539    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_RECORDING = 0; // 0x0
2540    field public static final int CONTROL_STATE_CHANGED_REASON_SETTING = 1; // 0x1
2541    field public static final int CONTROL_STATE_CHANGED_REASON_STANDBY = 3; // 0x3
2542    field public static final int CONTROL_STATE_CHANGED_REASON_START = 0; // 0x0
2543    field public static final int CONTROL_STATE_CHANGED_REASON_WAKEUP = 2; // 0x2
2544    field public static final int DEVICE_EVENT_ADD_DEVICE = 1; // 0x1
2545    field public static final int DEVICE_EVENT_REMOVE_DEVICE = 2; // 0x2
2546    field public static final int DEVICE_EVENT_UPDATE_DEVICE = 3; // 0x3
2547    field public static final String EXTRA_MESSAGE_EXTRA_PARAM1 = "android.hardware.hdmi.extra.MESSAGE_EXTRA_PARAM1";
2548    field public static final String EXTRA_MESSAGE_ID = "android.hardware.hdmi.extra.MESSAGE_ID";
2549    field public static final int ONE_TOUCH_RECORD_ALREADY_RECORDING = 18; // 0x12
2550    field public static final int ONE_TOUCH_RECORD_CEC_DISABLED = 51; // 0x33
2551    field public static final int ONE_TOUCH_RECORD_CHECK_RECORDER_CONNECTION = 49; // 0x31
2552    field public static final int ONE_TOUCH_RECORD_DISALLOW_TO_COPY = 13; // 0xd
2553    field public static final int ONE_TOUCH_RECORD_DISALLOW_TO_FUTHER_COPIES = 14; // 0xe
2554    field public static final int ONE_TOUCH_RECORD_FAIL_TO_RECORD_DISPLAYED_SCREEN = 50; // 0x32
2555    field public static final int ONE_TOUCH_RECORD_INVALID_EXTERNAL_PHYSICAL_ADDRESS = 10; // 0xa
2556    field public static final int ONE_TOUCH_RECORD_INVALID_EXTERNAL_PLUG_NUMBER = 9; // 0x9
2557    field public static final int ONE_TOUCH_RECORD_MEDIA_PROBLEM = 21; // 0x15
2558    field public static final int ONE_TOUCH_RECORD_MEDIA_PROTECTED = 19; // 0x13
2559    field public static final int ONE_TOUCH_RECORD_NOT_ENOUGH_SPACE = 22; // 0x16
2560    field public static final int ONE_TOUCH_RECORD_NO_MEDIA = 16; // 0x10
2561    field public static final int ONE_TOUCH_RECORD_NO_OR_INSUFFICIENT_CA_ENTITLEMENTS = 12; // 0xc
2562    field public static final int ONE_TOUCH_RECORD_NO_SOURCE_SIGNAL = 20; // 0x14
2563    field public static final int ONE_TOUCH_RECORD_OTHER_REASON = 31; // 0x1f
2564    field public static final int ONE_TOUCH_RECORD_PARENT_LOCK_ON = 23; // 0x17
2565    field public static final int ONE_TOUCH_RECORD_PLAYING = 17; // 0x11
2566    field public static final int ONE_TOUCH_RECORD_PREVIOUS_RECORDING_IN_PROGRESS = 48; // 0x30
2567    field public static final int ONE_TOUCH_RECORD_RECORDING_ALREADY_TERMINATED = 27; // 0x1b
2568    field public static final int ONE_TOUCH_RECORD_RECORDING_ANALOGUE_SERVICE = 3; // 0x3
2569    field public static final int ONE_TOUCH_RECORD_RECORDING_CURRENTLY_SELECTED_SOURCE = 1; // 0x1
2570    field public static final int ONE_TOUCH_RECORD_RECORDING_DIGITAL_SERVICE = 2; // 0x2
2571    field public static final int ONE_TOUCH_RECORD_RECORDING_EXTERNAL_INPUT = 4; // 0x4
2572    field public static final int ONE_TOUCH_RECORD_RECORDING_TERMINATED_NORMALLY = 26; // 0x1a
2573    field public static final int ONE_TOUCH_RECORD_UNABLE_ANALOGUE_SERVICE = 6; // 0x6
2574    field public static final int ONE_TOUCH_RECORD_UNABLE_DIGITAL_SERVICE = 5; // 0x5
2575    field public static final int ONE_TOUCH_RECORD_UNABLE_SELECTED_SERVICE = 7; // 0x7
2576    field public static final int ONE_TOUCH_RECORD_UNSUPPORTED_CA = 11; // 0xb
2577    field public static final int OSD_MESSAGE_ARC_CONNECTED_INVALID_PORT = 1; // 0x1
2578    field public static final int OSD_MESSAGE_AVR_VOLUME_CHANGED = 2; // 0x2
2579    field public static final int POWER_STATUS_ON = 0; // 0x0
2580    field public static final int POWER_STATUS_STANDBY = 1; // 0x1
2581    field public static final int POWER_STATUS_TRANSIENT_TO_ON = 2; // 0x2
2582    field public static final int POWER_STATUS_TRANSIENT_TO_STANDBY = 3; // 0x3
2583    field public static final int POWER_STATUS_UNKNOWN = -1; // 0xffffffff
2584    field @Deprecated public static final int RESULT_ALREADY_IN_PROGRESS = 4; // 0x4
2585    field public static final int RESULT_COMMUNICATION_FAILED = 7; // 0x7
2586    field public static final int RESULT_EXCEPTION = 5; // 0x5
2587    field public static final int RESULT_INCORRECT_MODE = 6; // 0x6
2588    field public static final int RESULT_SOURCE_NOT_AVAILABLE = 2; // 0x2
2589    field public static final int RESULT_SUCCESS = 0; // 0x0
2590    field public static final int RESULT_TARGET_NOT_AVAILABLE = 3; // 0x3
2591    field public static final int RESULT_TIMEOUT = 1; // 0x1
2592    field public static final int TIMER_RECORDING_RESULT_EXTRA_CEC_DISABLED = 3; // 0x3
2593    field public static final int TIMER_RECORDING_RESULT_EXTRA_CHECK_RECORDER_CONNECTION = 1; // 0x1
2594    field public static final int TIMER_RECORDING_RESULT_EXTRA_FAIL_TO_RECORD_SELECTED_SOURCE = 2; // 0x2
2595    field public static final int TIMER_RECORDING_RESULT_EXTRA_NO_ERROR = 0; // 0x0
2596    field public static final int TIMER_RECORDING_TYPE_ANALOGUE = 2; // 0x2
2597    field public static final int TIMER_RECORDING_TYPE_DIGITAL = 1; // 0x1
2598    field public static final int TIMER_RECORDING_TYPE_EXTERNAL = 3; // 0x3
2599    field public static final int TIMER_STATUS_MEDIA_INFO_NOT_PRESENT = 2; // 0x2
2600    field public static final int TIMER_STATUS_MEDIA_INFO_PRESENT_NOT_PROTECTED = 0; // 0x0
2601    field public static final int TIMER_STATUS_MEDIA_INFO_PRESENT_PROTECTED = 1; // 0x1
2602    field public static final int TIMER_STATUS_NOT_PROGRAMMED_CA_NOT_SUPPORTED = 6; // 0x6
2603    field public static final int TIMER_STATUS_NOT_PROGRAMMED_CLOCK_FAILURE = 10; // 0xa
2604    field public static final int TIMER_STATUS_NOT_PROGRAMMED_DATE_OUT_OF_RANGE = 2; // 0x2
2605    field public static final int TIMER_STATUS_NOT_PROGRAMMED_DUPLICATED = 14; // 0xe
2606    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_EXTERNAL_PHYSICAL_NUMBER = 5; // 0x5
2607    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_EXTERNAL_PLUG_NUMBER = 4; // 0x4
2608    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_SEQUENCE = 3; // 0x3
2609    field public static final int TIMER_STATUS_NOT_PROGRAMMED_NO_CA_ENTITLEMENTS = 7; // 0x7
2610    field public static final int TIMER_STATUS_NOT_PROGRAMMED_NO_FREE_TIME = 1; // 0x1
2611    field public static final int TIMER_STATUS_NOT_PROGRAMMED_PARENTAL_LOCK_ON = 9; // 0x9
2612    field public static final int TIMER_STATUS_NOT_PROGRAMMED_UNSUPPORTED_RESOLUTION = 8; // 0x8
2613    field public static final int TIMER_STATUS_PROGRAMMED_INFO_ENOUGH_SPACE = 8; // 0x8
2614    field public static final int TIMER_STATUS_PROGRAMMED_INFO_MIGHT_NOT_ENOUGH_SPACE = 11; // 0xb
2615    field public static final int TIMER_STATUS_PROGRAMMED_INFO_NOT_ENOUGH_SPACE = 9; // 0x9
2616    field public static final int TIMER_STATUS_PROGRAMMED_INFO_NO_MEDIA_INFO = 10; // 0xa
2617  }
2618
2619  @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 {
2620  }
2621
2622  public static interface HdmiControlManager.HotplugEventListener {
2623    method public void onReceived(android.hardware.hdmi.HdmiHotplugEvent);
2624  }
2625
2626  public static interface HdmiControlManager.VendorCommandListener {
2627    method public void onControlStateChanged(boolean, int);
2628    method public void onReceived(int, int, byte[], boolean);
2629  }
2630
2631  public class HdmiDeviceInfo implements android.os.Parcelable {
2632    ctor public HdmiDeviceInfo();
2633    method public int describeContents();
2634    method public int getAdopterId();
2635    method public int getDeviceId();
2636    method public int getDevicePowerStatus();
2637    method public int getDeviceType();
2638    method public String getDisplayName();
2639    method public int getId();
2640    method public int getLogicalAddress();
2641    method public int getPhysicalAddress();
2642    method public int getPortId();
2643    method public int getVendorId();
2644    method public static int idForCecDevice(int);
2645    method public static int idForHardware(int);
2646    method public static int idForMhlDevice(int);
2647    method public boolean isCecDevice();
2648    method public boolean isInactivated();
2649    method public boolean isMhlDevice();
2650    method public boolean isSourceType();
2651    method public void writeToParcel(android.os.Parcel, int);
2652    field public static final int ADDR_INTERNAL = 0; // 0x0
2653    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiDeviceInfo> CREATOR;
2654    field public static final int DEVICE_AUDIO_SYSTEM = 5; // 0x5
2655    field public static final int DEVICE_INACTIVE = -1; // 0xffffffff
2656    field public static final int DEVICE_PLAYBACK = 4; // 0x4
2657    field public static final int DEVICE_RECORDER = 1; // 0x1
2658    field public static final int DEVICE_RESERVED = 2; // 0x2
2659    field public static final int DEVICE_TUNER = 3; // 0x3
2660    field public static final int DEVICE_TV = 0; // 0x0
2661    field public static final int ID_INVALID = 65535; // 0xffff
2662    field public static final android.hardware.hdmi.HdmiDeviceInfo INACTIVE_DEVICE;
2663    field public static final int PATH_INTERNAL = 0; // 0x0
2664    field public static final int PATH_INVALID = 65535; // 0xffff
2665    field public static final int PORT_INVALID = -1; // 0xffffffff
2666  }
2667
2668  public final class HdmiHotplugEvent implements android.os.Parcelable {
2669    method public int describeContents();
2670    method public int getPort();
2671    method public boolean isConnected();
2672    method public void writeToParcel(android.os.Parcel, int);
2673    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiHotplugEvent> CREATOR;
2674  }
2675
2676  public final class HdmiPlaybackClient extends android.hardware.hdmi.HdmiClient {
2677    method public int getDeviceType();
2678    method public void oneTouchPlay(android.hardware.hdmi.HdmiPlaybackClient.OneTouchPlayCallback);
2679    method public void queryDisplayStatus(android.hardware.hdmi.HdmiPlaybackClient.DisplayStatusCallback);
2680    method public void sendStandby();
2681  }
2682
2683  public static interface HdmiPlaybackClient.DisplayStatusCallback {
2684    method public void onComplete(int);
2685  }
2686
2687  public static interface HdmiPlaybackClient.OneTouchPlayCallback {
2688    method public void onComplete(int);
2689  }
2690
2691  public final class HdmiPortInfo implements android.os.Parcelable {
2692    ctor public HdmiPortInfo(int, int, int, boolean, boolean, boolean);
2693    method public int describeContents();
2694    method public int getAddress();
2695    method public int getId();
2696    method public int getType();
2697    method public boolean isArcSupported();
2698    method public boolean isCecSupported();
2699    method public boolean isMhlSupported();
2700    method public void writeToParcel(android.os.Parcel, int);
2701    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiPortInfo> CREATOR;
2702    field public static final int PORT_INPUT = 0; // 0x0
2703    field public static final int PORT_OUTPUT = 1; // 0x1
2704  }
2705
2706  public abstract class HdmiRecordListener {
2707    ctor public HdmiRecordListener();
2708    method public void onClearTimerRecordingResult(int, int);
2709    method public void onOneTouchRecordResult(int, int);
2710    method public abstract android.hardware.hdmi.HdmiRecordSources.RecordSource onOneTouchRecordSourceRequested(int);
2711    method public void onTimerRecordingResult(int, android.hardware.hdmi.HdmiRecordListener.TimerStatusData);
2712  }
2713
2714  public static class HdmiRecordListener.TimerStatusData {
2715    method public int getDurationHour();
2716    method public int getDurationMinute();
2717    method public int getExtraError();
2718    method public int getMediaInfo();
2719    method public int getNotProgammedError();
2720    method public int getProgrammedInfo();
2721    method public boolean isOverlapped();
2722    method public boolean isProgrammed();
2723  }
2724
2725  public final class HdmiRecordSources {
2726    method public static boolean checkRecordSource(byte[]);
2727    method public static android.hardware.hdmi.HdmiRecordSources.OwnSource ofOwnSource();
2728  }
2729
2730  public static final class HdmiRecordSources.AnalogueServiceSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
2731  }
2732
2733  public static final class HdmiRecordSources.DigitalServiceSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
2734  }
2735
2736  public static final class HdmiRecordSources.ExternalPhysicalAddress extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
2737  }
2738
2739  public static final class HdmiRecordSources.ExternalPlugData extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
2740  }
2741
2742  public static final class HdmiRecordSources.OwnSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
2743  }
2744
2745  public abstract static class HdmiRecordSources.RecordSource {
2746  }
2747
2748  public class HdmiSwitchClient extends android.hardware.hdmi.HdmiClient {
2749    method public int getDeviceType();
2750    method @NonNull public java.util.List<android.hardware.hdmi.HdmiPortInfo> getPortInfo();
2751    method public void selectPort(int, @NonNull android.hardware.hdmi.HdmiSwitchClient.OnSelectListener);
2752    method public void selectPort(int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiSwitchClient.OnSelectListener);
2753  }
2754
2755  public static interface HdmiSwitchClient.OnSelectListener {
2756    method public void onSelect(@android.hardware.hdmi.HdmiControlManager.ControlCallbackResult int);
2757  }
2758
2759  public class HdmiTimerRecordSources {
2760    method public static boolean checkTimerRecordSource(int, byte[]);
2761    method public static android.hardware.hdmi.HdmiTimerRecordSources.Duration durationOf(int, int);
2762    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofAnalogueSource(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.AnalogueServiceSource);
2763    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofDigitalSource(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.DigitalServiceSource);
2764    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofExternalPhysicalAddress(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.ExternalPhysicalAddress);
2765    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofExternalPlug(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.ExternalPlugData);
2766    method public static android.hardware.hdmi.HdmiTimerRecordSources.Time timeOf(int, int);
2767    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo timerInfoOf(int, int, android.hardware.hdmi.HdmiTimerRecordSources.Time, android.hardware.hdmi.HdmiTimerRecordSources.Duration, int);
2768    field public static final int RECORDING_SEQUENCE_REPEAT_FRIDAY = 32; // 0x20
2769    field public static final int RECORDING_SEQUENCE_REPEAT_MONDAY = 2; // 0x2
2770    field public static final int RECORDING_SEQUENCE_REPEAT_ONCE_ONLY = 0; // 0x0
2771    field public static final int RECORDING_SEQUENCE_REPEAT_SATUREDAY = 64; // 0x40
2772    field public static final int RECORDING_SEQUENCE_REPEAT_SUNDAY = 1; // 0x1
2773    field public static final int RECORDING_SEQUENCE_REPEAT_THURSDAY = 16; // 0x10
2774    field public static final int RECORDING_SEQUENCE_REPEAT_TUESDAY = 4; // 0x4
2775    field public static final int RECORDING_SEQUENCE_REPEAT_WEDNESDAY = 8; // 0x8
2776  }
2777
2778  public static final class HdmiTimerRecordSources.Duration {
2779  }
2780
2781  public static final class HdmiTimerRecordSources.Time {
2782  }
2783
2784  public static final class HdmiTimerRecordSources.TimerInfo {
2785  }
2786
2787  public static final class HdmiTimerRecordSources.TimerRecordSource {
2788  }
2789
2790  public final class HdmiTvClient extends android.hardware.hdmi.HdmiClient {
2791    method public void clearTimerRecording(int, int, android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource);
2792    method public void deviceSelect(int, @NonNull android.hardware.hdmi.HdmiTvClient.SelectCallback);
2793    method public java.util.List<android.hardware.hdmi.HdmiDeviceInfo> getDeviceList();
2794    method public int getDeviceType();
2795    method public void portSelect(int, @NonNull android.hardware.hdmi.HdmiTvClient.SelectCallback);
2796    method public void sendMhlVendorCommand(int, int, int, byte[]);
2797    method public void sendStandby(int);
2798    method public void setHdmiMhlVendorCommandListener(android.hardware.hdmi.HdmiTvClient.HdmiMhlVendorCommandListener);
2799    method public void setInputChangeListener(android.hardware.hdmi.HdmiTvClient.InputChangeListener);
2800    method public void setRecordListener(@NonNull android.hardware.hdmi.HdmiRecordListener);
2801    method public void setSystemAudioMode(boolean, android.hardware.hdmi.HdmiTvClient.SelectCallback);
2802    method public void setSystemAudioMute(boolean);
2803    method public void setSystemAudioVolume(int, int, int);
2804    method public void startOneTouchRecord(int, @NonNull android.hardware.hdmi.HdmiRecordSources.RecordSource);
2805    method public void startTimerRecording(int, int, android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource);
2806    method public void stopOneTouchRecord(int);
2807    field public static final int VENDOR_DATA_SIZE = 16; // 0x10
2808  }
2809
2810  public static interface HdmiTvClient.HdmiMhlVendorCommandListener {
2811    method public void onReceived(int, int, int, byte[]);
2812  }
2813
2814  public static interface HdmiTvClient.InputChangeListener {
2815    method public void onChanged(android.hardware.hdmi.HdmiDeviceInfo);
2816  }
2817
2818  public static interface HdmiTvClient.SelectCallback {
2819    method public void onComplete(int);
2820  }
2821
2822}
2823
2824package android.hardware.lights {
2825
2826  public final class Light implements android.os.Parcelable {
2827    method public int describeContents();
2828    method public int getId();
2829    method public int getOrdinal();
2830    method public int getType();
2831    method public void writeToParcel(@NonNull android.os.Parcel, int);
2832    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.lights.Light> CREATOR;
2833  }
2834
2835  public final class LightState implements android.os.Parcelable {
2836    ctor public LightState(@ColorInt int);
2837    method public int describeContents();
2838    method @ColorInt public int getColor();
2839    method public void writeToParcel(@NonNull android.os.Parcel, int);
2840    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.lights.LightState> CREATOR;
2841  }
2842
2843  public final class LightsManager {
2844    method @NonNull @RequiresPermission(android.Manifest.permission.CONTROL_DEVICE_LIGHTS) public java.util.List<android.hardware.lights.Light> getLights();
2845    method @NonNull @RequiresPermission(android.Manifest.permission.CONTROL_DEVICE_LIGHTS) public android.hardware.lights.LightsManager.LightsSession openSession();
2846    field public static final int LIGHT_TYPE_MICROPHONE = 8; // 0x8
2847  }
2848
2849  public final class LightsManager.LightsSession implements java.lang.AutoCloseable {
2850    method @RequiresPermission(android.Manifest.permission.CONTROL_DEVICE_LIGHTS) public void close();
2851    method @RequiresPermission(android.Manifest.permission.CONTROL_DEVICE_LIGHTS) public void requestLights(@NonNull android.hardware.lights.LightsRequest);
2852  }
2853
2854  public final class LightsRequest {
2855  }
2856
2857  public static final class LightsRequest.Builder {
2858    ctor public LightsRequest.Builder();
2859    method @NonNull public android.hardware.lights.LightsRequest build();
2860    method @NonNull public android.hardware.lights.LightsRequest.Builder clearLight(@NonNull android.hardware.lights.Light);
2861    method @NonNull public android.hardware.lights.LightsRequest.Builder setLight(@NonNull android.hardware.lights.Light, @NonNull android.hardware.lights.LightState);
2862  }
2863
2864}
2865
2866package android.hardware.location {
2867
2868  public class ContextHubClient implements java.io.Closeable {
2869    method public void close();
2870    method @NonNull public android.hardware.location.ContextHubInfo getAttachedHub();
2871    method @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int sendMessageToNanoApp(@NonNull android.hardware.location.NanoAppMessage);
2872  }
2873
2874  public class ContextHubClientCallback {
2875    ctor public ContextHubClientCallback();
2876    method public void onHubReset(android.hardware.location.ContextHubClient);
2877    method public void onMessageFromNanoApp(android.hardware.location.ContextHubClient, android.hardware.location.NanoAppMessage);
2878    method public void onNanoAppAborted(android.hardware.location.ContextHubClient, long, int);
2879    method public void onNanoAppDisabled(android.hardware.location.ContextHubClient, long);
2880    method public void onNanoAppEnabled(android.hardware.location.ContextHubClient, long);
2881    method public void onNanoAppLoaded(android.hardware.location.ContextHubClient, long);
2882    method public void onNanoAppUnloaded(android.hardware.location.ContextHubClient, long);
2883  }
2884
2885  public class ContextHubInfo implements android.os.Parcelable {
2886    ctor public ContextHubInfo();
2887    method public int describeContents();
2888    method public byte getChreApiMajorVersion();
2889    method public byte getChreApiMinorVersion();
2890    method public short getChrePatchVersion();
2891    method public long getChrePlatformId();
2892    method public int getId();
2893    method public int getMaxPacketLengthBytes();
2894    method public android.hardware.location.MemoryRegion[] getMemoryRegions();
2895    method public String getName();
2896    method public float getPeakMips();
2897    method public float getPeakPowerDrawMw();
2898    method public int getPlatformVersion();
2899    method public float getSleepPowerDrawMw();
2900    method public int getStaticSwVersion();
2901    method public float getStoppedPowerDrawMw();
2902    method public int[] getSupportedSensors();
2903    method public String getToolchain();
2904    method public int getToolchainVersion();
2905    method public String getVendor();
2906    method public void writeToParcel(android.os.Parcel, int);
2907    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.ContextHubInfo> CREATOR;
2908  }
2909
2910  public class ContextHubIntentEvent {
2911    method @NonNull public static android.hardware.location.ContextHubIntentEvent fromIntent(@NonNull android.content.Intent);
2912    method @NonNull public android.hardware.location.ContextHubInfo getContextHubInfo();
2913    method public int getEventType();
2914    method public int getNanoAppAbortCode();
2915    method public long getNanoAppId();
2916    method @NonNull public android.hardware.location.NanoAppMessage getNanoAppMessage();
2917  }
2918
2919  public final class ContextHubManager {
2920    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);
2921    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);
2922    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);
2923    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);
2924    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);
2925    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);
2926    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int[] getContextHubHandles();
2927    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubInfo getContextHubInfo(int);
2928    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public java.util.List<android.hardware.location.ContextHubInfo> getContextHubs();
2929    method @Deprecated @Nullable @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.NanoAppInstanceInfo getNanoAppInstanceInfo(int);
2930    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int loadNanoApp(int, @NonNull android.hardware.location.NanoApp);
2931    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);
2932    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);
2933    method @Deprecated public int registerCallback(@NonNull android.hardware.location.ContextHubManager.Callback);
2934    method @Deprecated public int registerCallback(android.hardware.location.ContextHubManager.Callback, android.os.Handler);
2935    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);
2936    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int unloadNanoApp(int);
2937    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);
2938    method @Deprecated public int unregisterCallback(@NonNull android.hardware.location.ContextHubManager.Callback);
2939    field public static final int EVENT_HUB_RESET = 6; // 0x6
2940    field public static final int EVENT_NANOAPP_ABORTED = 4; // 0x4
2941    field public static final int EVENT_NANOAPP_DISABLED = 3; // 0x3
2942    field public static final int EVENT_NANOAPP_ENABLED = 2; // 0x2
2943    field public static final int EVENT_NANOAPP_LOADED = 0; // 0x0
2944    field public static final int EVENT_NANOAPP_MESSAGE = 5; // 0x5
2945    field public static final int EVENT_NANOAPP_UNLOADED = 1; // 0x1
2946    field public static final String EXTRA_CONTEXT_HUB_INFO = "android.hardware.location.extra.CONTEXT_HUB_INFO";
2947    field public static final String EXTRA_EVENT_TYPE = "android.hardware.location.extra.EVENT_TYPE";
2948    field public static final String EXTRA_MESSAGE = "android.hardware.location.extra.MESSAGE";
2949    field public static final String EXTRA_NANOAPP_ABORT_CODE = "android.hardware.location.extra.NANOAPP_ABORT_CODE";
2950    field public static final String EXTRA_NANOAPP_ID = "android.hardware.location.extra.NANOAPP_ID";
2951  }
2952
2953  @Deprecated public abstract static class ContextHubManager.Callback {
2954    ctor @Deprecated protected ContextHubManager.Callback();
2955    method @Deprecated public abstract void onMessageReceipt(int, int, @NonNull android.hardware.location.ContextHubMessage);
2956  }
2957
2958  @Deprecated public class ContextHubMessage implements android.os.Parcelable {
2959    ctor @Deprecated public ContextHubMessage(int, int, byte[]);
2960    method @Deprecated public int describeContents();
2961    method @Deprecated public byte[] getData();
2962    method @Deprecated public int getMsgType();
2963    method @Deprecated public int getVersion();
2964    method @Deprecated public void setMsgData(byte[]);
2965    method @Deprecated public void setMsgType(int);
2966    method @Deprecated public void setVersion(int);
2967    method @Deprecated public void writeToParcel(android.os.Parcel, int);
2968    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.ContextHubMessage> CREATOR;
2969  }
2970
2971  public class ContextHubTransaction<T> {
2972    method public int getType();
2973    method public void setOnCompleteListener(@NonNull android.hardware.location.ContextHubTransaction.OnCompleteListener<T>, @NonNull java.util.concurrent.Executor);
2974    method public void setOnCompleteListener(@NonNull android.hardware.location.ContextHubTransaction.OnCompleteListener<T>);
2975    method public static String typeToString(int, boolean);
2976    method public android.hardware.location.ContextHubTransaction.Response<T> waitForResponse(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException;
2977    field public static final int RESULT_FAILED_AT_HUB = 5; // 0x5
2978    field public static final int RESULT_FAILED_BAD_PARAMS = 2; // 0x2
2979    field public static final int RESULT_FAILED_BUSY = 4; // 0x4
2980    field public static final int RESULT_FAILED_HAL_UNAVAILABLE = 8; // 0x8
2981    field public static final int RESULT_FAILED_SERVICE_INTERNAL_FAILURE = 7; // 0x7
2982    field public static final int RESULT_FAILED_TIMEOUT = 6; // 0x6
2983    field public static final int RESULT_FAILED_UNINITIALIZED = 3; // 0x3
2984    field public static final int RESULT_FAILED_UNKNOWN = 1; // 0x1
2985    field public static final int RESULT_SUCCESS = 0; // 0x0
2986    field public static final int TYPE_DISABLE_NANOAPP = 3; // 0x3
2987    field public static final int TYPE_ENABLE_NANOAPP = 2; // 0x2
2988    field public static final int TYPE_LOAD_NANOAPP = 0; // 0x0
2989    field public static final int TYPE_QUERY_NANOAPPS = 4; // 0x4
2990    field public static final int TYPE_UNLOAD_NANOAPP = 1; // 0x1
2991  }
2992
2993  @java.lang.FunctionalInterface public static interface ContextHubTransaction.OnCompleteListener<L> {
2994    method public void onComplete(android.hardware.location.ContextHubTransaction<L>, android.hardware.location.ContextHubTransaction.Response<L>);
2995  }
2996
2997  public static class ContextHubTransaction.Response<R> {
2998    method public R getContents();
2999    method public int getResult();
3000  }
3001
3002  public final class GeofenceHardware {
3003    method public boolean addGeofence(int, int, android.hardware.location.GeofenceHardwareRequest, android.hardware.location.GeofenceHardwareCallback);
3004    method public int[] getMonitoringTypes();
3005    method public int getStatusOfMonitoringType(int);
3006    method public boolean pauseGeofence(int, int);
3007    method public boolean registerForMonitorStateChangeCallback(int, android.hardware.location.GeofenceHardwareMonitorCallback);
3008    method public boolean removeGeofence(int, int);
3009    method public boolean resumeGeofence(int, int, int);
3010    method public boolean unregisterForMonitorStateChangeCallback(int, android.hardware.location.GeofenceHardwareMonitorCallback);
3011    field public static final int GEOFENCE_ENTERED = 1; // 0x1
3012    field public static final int GEOFENCE_ERROR_ID_EXISTS = 2; // 0x2
3013    field public static final int GEOFENCE_ERROR_ID_UNKNOWN = 3; // 0x3
3014    field public static final int GEOFENCE_ERROR_INSUFFICIENT_MEMORY = 6; // 0x6
3015    field public static final int GEOFENCE_ERROR_INVALID_TRANSITION = 4; // 0x4
3016    field public static final int GEOFENCE_ERROR_TOO_MANY_GEOFENCES = 1; // 0x1
3017    field public static final int GEOFENCE_EXITED = 2; // 0x2
3018    field public static final int GEOFENCE_FAILURE = 5; // 0x5
3019    field public static final int GEOFENCE_SUCCESS = 0; // 0x0
3020    field public static final int GEOFENCE_UNCERTAIN = 4; // 0x4
3021    field public static final int MONITORING_TYPE_FUSED_HARDWARE = 1; // 0x1
3022    field public static final int MONITORING_TYPE_GPS_HARDWARE = 0; // 0x0
3023    field public static final int MONITOR_CURRENTLY_AVAILABLE = 0; // 0x0
3024    field public static final int MONITOR_CURRENTLY_UNAVAILABLE = 1; // 0x1
3025    field public static final int MONITOR_UNSUPPORTED = 2; // 0x2
3026    field public static final int SOURCE_TECHNOLOGY_BLUETOOTH = 16; // 0x10
3027    field public static final int SOURCE_TECHNOLOGY_CELL = 8; // 0x8
3028    field public static final int SOURCE_TECHNOLOGY_GNSS = 1; // 0x1
3029    field public static final int SOURCE_TECHNOLOGY_SENSORS = 4; // 0x4
3030    field public static final int SOURCE_TECHNOLOGY_WIFI = 2; // 0x2
3031  }
3032
3033  public abstract class GeofenceHardwareCallback {
3034    ctor public GeofenceHardwareCallback();
3035    method public void onGeofenceAdd(int, int);
3036    method public void onGeofencePause(int, int);
3037    method public void onGeofenceRemove(int, int);
3038    method public void onGeofenceResume(int, int);
3039    method public void onGeofenceTransition(int, int, android.location.Location, long, int);
3040  }
3041
3042  public abstract class GeofenceHardwareMonitorCallback {
3043    ctor public GeofenceHardwareMonitorCallback();
3044    method @Deprecated public void onMonitoringSystemChange(int, boolean, android.location.Location);
3045    method public void onMonitoringSystemChange(android.hardware.location.GeofenceHardwareMonitorEvent);
3046  }
3047
3048  public class GeofenceHardwareMonitorEvent implements android.os.Parcelable {
3049    ctor public GeofenceHardwareMonitorEvent(int, int, int, android.location.Location);
3050    method public int describeContents();
3051    method public android.location.Location getLocation();
3052    method public int getMonitoringStatus();
3053    method public int getMonitoringType();
3054    method public int getSourceTechnologies();
3055    method public void writeToParcel(android.os.Parcel, int);
3056    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.GeofenceHardwareMonitorEvent> CREATOR;
3057  }
3058
3059  public final class GeofenceHardwareRequest {
3060    ctor public GeofenceHardwareRequest();
3061    method public static android.hardware.location.GeofenceHardwareRequest createCircularGeofence(double, double, double);
3062    method public int getLastTransition();
3063    method public double getLatitude();
3064    method public double getLongitude();
3065    method public int getMonitorTransitions();
3066    method public int getNotificationResponsiveness();
3067    method public double getRadius();
3068    method public int getSourceTechnologies();
3069    method public int getUnknownTimer();
3070    method public void setLastTransition(int);
3071    method public void setMonitorTransitions(int);
3072    method public void setNotificationResponsiveness(int);
3073    method public void setSourceTechnologies(int);
3074    method public void setUnknownTimer(int);
3075  }
3076
3077  public class MemoryRegion implements android.os.Parcelable {
3078    ctor public MemoryRegion(android.os.Parcel);
3079    method public int describeContents();
3080    method public int getCapacityBytes();
3081    method public int getFreeCapacityBytes();
3082    method public boolean isExecutable();
3083    method public boolean isReadable();
3084    method public boolean isWritable();
3085    method public void writeToParcel(android.os.Parcel, int);
3086    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.MemoryRegion> CREATOR;
3087  }
3088
3089  @Deprecated public class NanoApp implements android.os.Parcelable {
3090    ctor @Deprecated public NanoApp();
3091    ctor @Deprecated public NanoApp(int, byte[]);
3092    ctor @Deprecated public NanoApp(long, byte[]);
3093    method @Deprecated public int describeContents();
3094    method @Deprecated public byte[] getAppBinary();
3095    method @Deprecated public long getAppId();
3096    method @Deprecated public int getAppVersion();
3097    method @Deprecated public String getName();
3098    method @Deprecated public int getNeededExecMemBytes();
3099    method @Deprecated public int getNeededReadMemBytes();
3100    method @Deprecated public int[] getNeededSensors();
3101    method @Deprecated public int getNeededWriteMemBytes();
3102    method @Deprecated public int[] getOutputEvents();
3103    method @Deprecated public String getPublisher();
3104    method @Deprecated public void setAppBinary(byte[]);
3105    method @Deprecated public void setAppId(long);
3106    method @Deprecated public void setAppVersion(int);
3107    method @Deprecated public void setName(String);
3108    method @Deprecated public void setNeededExecMemBytes(int);
3109    method @Deprecated public void setNeededReadMemBytes(int);
3110    method @Deprecated public void setNeededSensors(int[]);
3111    method @Deprecated public void setNeededWriteMemBytes(int);
3112    method @Deprecated public void setOutputEvents(int[]);
3113    method @Deprecated public void setPublisher(String);
3114    method @Deprecated public void writeToParcel(android.os.Parcel, int);
3115    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoApp> CREATOR;
3116  }
3117
3118  public final class NanoAppBinary implements android.os.Parcelable {
3119    ctor public NanoAppBinary(byte[]);
3120    method public int describeContents();
3121    method public byte[] getBinary();
3122    method public byte[] getBinaryNoHeader();
3123    method public int getFlags();
3124    method public int getHeaderVersion();
3125    method public long getHwHubType();
3126    method public long getNanoAppId();
3127    method public int getNanoAppVersion();
3128    method public byte getTargetChreApiMajorVersion();
3129    method public byte getTargetChreApiMinorVersion();
3130    method public boolean hasValidHeader();
3131    method public boolean isEncrypted();
3132    method public boolean isSigned();
3133    method public void writeToParcel(android.os.Parcel, int);
3134    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppBinary> CREATOR;
3135  }
3136
3137  @Deprecated public class NanoAppFilter implements android.os.Parcelable {
3138    ctor @Deprecated public NanoAppFilter(long, int, int, long);
3139    method @Deprecated public int describeContents();
3140    method @Deprecated public boolean testMatch(android.hardware.location.NanoAppInstanceInfo);
3141    method @Deprecated public void writeToParcel(android.os.Parcel, int);
3142    field @Deprecated public static final int APP_ANY = -1; // 0xffffffff
3143    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppFilter> CREATOR;
3144    field @Deprecated public static final int FLAGS_VERSION_ANY = -1; // 0xffffffff
3145    field @Deprecated public static final int FLAGS_VERSION_GREAT_THAN = 2; // 0x2
3146    field @Deprecated public static final int FLAGS_VERSION_LESS_THAN = 4; // 0x4
3147    field @Deprecated public static final int FLAGS_VERSION_STRICTLY_EQUAL = 8; // 0x8
3148    field @Deprecated public static final int HUB_ANY = -1; // 0xffffffff
3149    field @Deprecated public static final int VENDOR_ANY = -1; // 0xffffffff
3150  }
3151
3152  @Deprecated public class NanoAppInstanceInfo implements android.os.Parcelable {
3153    ctor @Deprecated public NanoAppInstanceInfo();
3154    method @Deprecated public int describeContents();
3155    method @Deprecated public long getAppId();
3156    method @Deprecated public int getAppVersion();
3157    method @Deprecated public int getContexthubId();
3158    method @Deprecated public int getHandle();
3159    method @Deprecated public String getName();
3160    method @Deprecated public int getNeededExecMemBytes();
3161    method @Deprecated public int getNeededReadMemBytes();
3162    method @Deprecated @NonNull public int[] getNeededSensors();
3163    method @Deprecated public int getNeededWriteMemBytes();
3164    method @Deprecated @NonNull public int[] getOutputEvents();
3165    method @Deprecated public String getPublisher();
3166    method @Deprecated public void writeToParcel(android.os.Parcel, int);
3167    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppInstanceInfo> CREATOR;
3168  }
3169
3170  public final class NanoAppMessage implements android.os.Parcelable {
3171    method public static android.hardware.location.NanoAppMessage createMessageFromNanoApp(long, int, byte[], boolean);
3172    method public static android.hardware.location.NanoAppMessage createMessageToNanoApp(long, int, byte[]);
3173    method public int describeContents();
3174    method public byte[] getMessageBody();
3175    method public int getMessageType();
3176    method public long getNanoAppId();
3177    method public boolean isBroadcastMessage();
3178    method public void writeToParcel(android.os.Parcel, int);
3179    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppMessage> CREATOR;
3180  }
3181
3182  public final class NanoAppState implements android.os.Parcelable {
3183    ctor public NanoAppState(long, int, boolean);
3184    method public int describeContents();
3185    method public long getNanoAppId();
3186    method public long getNanoAppVersion();
3187    method public boolean isEnabled();
3188    method public void writeToParcel(android.os.Parcel, int);
3189    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppState> CREATOR;
3190  }
3191
3192}
3193
3194package android.hardware.radio {
3195
3196  public final class Announcement implements android.os.Parcelable {
3197    method public int describeContents();
3198    method @NonNull public android.hardware.radio.ProgramSelector getSelector();
3199    method public int getType();
3200    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
3201    method public void writeToParcel(android.os.Parcel, int);
3202    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.Announcement> CREATOR;
3203    field public static final int TYPE_EMERGENCY = 1; // 0x1
3204    field public static final int TYPE_EVENT = 6; // 0x6
3205    field public static final int TYPE_MISC = 8; // 0x8
3206    field public static final int TYPE_NEWS = 5; // 0x5
3207    field public static final int TYPE_SPORT = 7; // 0x7
3208    field public static final int TYPE_TRAFFIC = 3; // 0x3
3209    field public static final int TYPE_WARNING = 2; // 0x2
3210    field public static final int TYPE_WEATHER = 4; // 0x4
3211  }
3212
3213  public static interface Announcement.OnListUpdatedListener {
3214    method public void onListUpdated(java.util.Collection<android.hardware.radio.Announcement>);
3215  }
3216
3217  public final class ProgramList implements java.lang.AutoCloseable {
3218    method public void addOnCompleteListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.radio.ProgramList.OnCompleteListener);
3219    method public void addOnCompleteListener(@NonNull android.hardware.radio.ProgramList.OnCompleteListener);
3220    method public void close();
3221    method @Nullable public android.hardware.radio.RadioManager.ProgramInfo get(@NonNull android.hardware.radio.ProgramSelector.Identifier);
3222    method public void registerListCallback(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.radio.ProgramList.ListCallback);
3223    method public void registerListCallback(@NonNull android.hardware.radio.ProgramList.ListCallback);
3224    method public void removeOnCompleteListener(@NonNull android.hardware.radio.ProgramList.OnCompleteListener);
3225    method @NonNull public java.util.List<android.hardware.radio.RadioManager.ProgramInfo> toList();
3226    method public void unregisterListCallback(@NonNull android.hardware.radio.ProgramList.ListCallback);
3227  }
3228
3229  public static final class ProgramList.Filter implements android.os.Parcelable {
3230    ctor public ProgramList.Filter(@NonNull java.util.Set<java.lang.Integer>, @NonNull java.util.Set<android.hardware.radio.ProgramSelector.Identifier>, boolean, boolean);
3231    method public boolean areCategoriesIncluded();
3232    method public boolean areModificationsExcluded();
3233    method public int describeContents();
3234    method @NonNull public java.util.Set<java.lang.Integer> getIdentifierTypes();
3235    method @NonNull public java.util.Set<android.hardware.radio.ProgramSelector.Identifier> getIdentifiers();
3236    method public void writeToParcel(android.os.Parcel, int);
3237    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramList.Filter> CREATOR;
3238  }
3239
3240  public abstract static class ProgramList.ListCallback {
3241    ctor public ProgramList.ListCallback();
3242    method public void onItemChanged(@NonNull android.hardware.radio.ProgramSelector.Identifier);
3243    method public void onItemRemoved(@NonNull android.hardware.radio.ProgramSelector.Identifier);
3244  }
3245
3246  public static interface ProgramList.OnCompleteListener {
3247    method public void onComplete();
3248  }
3249
3250  public final class ProgramSelector implements android.os.Parcelable {
3251    ctor public ProgramSelector(@android.hardware.radio.ProgramSelector.ProgramType int, @NonNull android.hardware.radio.ProgramSelector.Identifier, @Nullable android.hardware.radio.ProgramSelector.Identifier[], @Nullable long[]);
3252    method @NonNull public static android.hardware.radio.ProgramSelector createAmFmSelector(@android.hardware.radio.RadioManager.Band int, int);
3253    method @NonNull public static android.hardware.radio.ProgramSelector createAmFmSelector(@android.hardware.radio.RadioManager.Band int, int, int);
3254    method public int describeContents();
3255    method @NonNull public android.hardware.radio.ProgramSelector.Identifier[] getAllIds(@android.hardware.radio.ProgramSelector.IdentifierType int);
3256    method public long getFirstId(@android.hardware.radio.ProgramSelector.IdentifierType int);
3257    method @NonNull public android.hardware.radio.ProgramSelector.Identifier getPrimaryId();
3258    method @Deprecated @android.hardware.radio.ProgramSelector.ProgramType public int getProgramType();
3259    method @NonNull public android.hardware.radio.ProgramSelector.Identifier[] getSecondaryIds();
3260    method @Deprecated @NonNull public long[] getVendorIds();
3261    method @NonNull public android.hardware.radio.ProgramSelector withSecondaryPreferred(@NonNull android.hardware.radio.ProgramSelector.Identifier);
3262    method public void writeToParcel(android.os.Parcel, int);
3263    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramSelector> CREATOR;
3264    field public static final int IDENTIFIER_TYPE_AMFM_FREQUENCY = 1; // 0x1
3265    field public static final int IDENTIFIER_TYPE_DAB_ENSEMBLE = 6; // 0x6
3266    field public static final int IDENTIFIER_TYPE_DAB_FREQUENCY = 8; // 0x8
3267    field public static final int IDENTIFIER_TYPE_DAB_SCID = 7; // 0x7
3268    field public static final int IDENTIFIER_TYPE_DAB_SIDECC = 5; // 0x5
3269    field public static final int IDENTIFIER_TYPE_DAB_SID_EXT = 5; // 0x5
3270    field public static final int IDENTIFIER_TYPE_DRMO_FREQUENCY = 10; // 0xa
3271    field @Deprecated public static final int IDENTIFIER_TYPE_DRMO_MODULATION = 11; // 0xb
3272    field public static final int IDENTIFIER_TYPE_DRMO_SERVICE_ID = 9; // 0x9
3273    field public static final int IDENTIFIER_TYPE_HD_STATION_ID_EXT = 3; // 0x3
3274    field public static final int IDENTIFIER_TYPE_HD_STATION_NAME = 10004; // 0x2714
3275    field @Deprecated public static final int IDENTIFIER_TYPE_HD_SUBCHANNEL = 4; // 0x4
3276    field public static final int IDENTIFIER_TYPE_INVALID = 0; // 0x0
3277    field public static final int IDENTIFIER_TYPE_RDS_PI = 2; // 0x2
3278    field public static final int IDENTIFIER_TYPE_SXM_CHANNEL = 13; // 0xd
3279    field public static final int IDENTIFIER_TYPE_SXM_SERVICE_ID = 12; // 0xc
3280    field public static final int IDENTIFIER_TYPE_VENDOR_END = 1999; // 0x7cf
3281    field @Deprecated public static final int IDENTIFIER_TYPE_VENDOR_PRIMARY_END = 1999; // 0x7cf
3282    field @Deprecated public static final int IDENTIFIER_TYPE_VENDOR_PRIMARY_START = 1000; // 0x3e8
3283    field public static final int IDENTIFIER_TYPE_VENDOR_START = 1000; // 0x3e8
3284    field @Deprecated public static final int PROGRAM_TYPE_AM = 1; // 0x1
3285    field @Deprecated public static final int PROGRAM_TYPE_AM_HD = 3; // 0x3
3286    field @Deprecated public static final int PROGRAM_TYPE_DAB = 5; // 0x5
3287    field @Deprecated public static final int PROGRAM_TYPE_DRMO = 6; // 0x6
3288    field @Deprecated public static final int PROGRAM_TYPE_FM = 2; // 0x2
3289    field @Deprecated public static final int PROGRAM_TYPE_FM_HD = 4; // 0x4
3290    field @Deprecated public static final int PROGRAM_TYPE_INVALID = 0; // 0x0
3291    field @Deprecated public static final int PROGRAM_TYPE_SXM = 7; // 0x7
3292    field @Deprecated public static final int PROGRAM_TYPE_VENDOR_END = 1999; // 0x7cf
3293    field @Deprecated public static final int PROGRAM_TYPE_VENDOR_START = 1000; // 0x3e8
3294  }
3295
3296  public static final class ProgramSelector.Identifier implements android.os.Parcelable {
3297    ctor public ProgramSelector.Identifier(@android.hardware.radio.ProgramSelector.IdentifierType int, long);
3298    method public int describeContents();
3299    method @android.hardware.radio.ProgramSelector.IdentifierType public int getType();
3300    method public long getValue();
3301    method public boolean isCategoryType();
3302    method public void writeToParcel(android.os.Parcel, int);
3303    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramSelector.Identifier> CREATOR;
3304  }
3305
3306  @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 {
3307  }
3308
3309  @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 {
3310  }
3311
3312  public class RadioManager {
3313    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void addAnnouncementListener(@NonNull java.util.Set<java.lang.Integer>, @NonNull android.hardware.radio.Announcement.OnListUpdatedListener);
3314    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);
3315    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public int listModules(java.util.List<android.hardware.radio.RadioManager.ModuleProperties>);
3316    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);
3317    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void removeAnnouncementListener(@NonNull android.hardware.radio.Announcement.OnListUpdatedListener);
3318    field public static final int BAND_AM = 0; // 0x0
3319    field public static final int BAND_AM_HD = 3; // 0x3
3320    field public static final int BAND_FM = 1; // 0x1
3321    field public static final int BAND_FM_HD = 2; // 0x2
3322    field public static final int BAND_INVALID = -1; // 0xffffffff
3323    field public static final int CLASS_AM_FM = 0; // 0x0
3324    field public static final int CLASS_DT = 2; // 0x2
3325    field public static final int CLASS_SAT = 1; // 0x1
3326    field public static final int CONFIG_DAB_DAB_LINKING = 6; // 0x6
3327    field public static final int CONFIG_DAB_DAB_SOFT_LINKING = 8; // 0x8
3328    field public static final int CONFIG_DAB_FM_LINKING = 7; // 0x7
3329    field public static final int CONFIG_DAB_FM_SOFT_LINKING = 9; // 0x9
3330    field public static final int CONFIG_FORCE_ANALOG = 2; // 0x2
3331    field public static final int CONFIG_FORCE_DIGITAL = 3; // 0x3
3332    field public static final int CONFIG_FORCE_MONO = 1; // 0x1
3333    field public static final int CONFIG_RDS_AF = 4; // 0x4
3334    field public static final int CONFIG_RDS_REG = 5; // 0x5
3335    field public static final int REGION_ITU_1 = 0; // 0x0
3336    field public static final int REGION_ITU_2 = 1; // 0x1
3337    field public static final int REGION_JAPAN = 3; // 0x3
3338    field public static final int REGION_KOREA = 4; // 0x4
3339    field public static final int REGION_OIRT = 2; // 0x2
3340    field public static final int STATUS_BAD_VALUE = -22; // 0xffffffea
3341    field public static final int STATUS_DEAD_OBJECT = -32; // 0xffffffe0
3342    field public static final int STATUS_ERROR = -2147483648; // 0x80000000
3343    field public static final int STATUS_INVALID_OPERATION = -38; // 0xffffffda
3344    field public static final int STATUS_NO_INIT = -19; // 0xffffffed
3345    field public static final int STATUS_OK = 0; // 0x0
3346    field public static final int STATUS_PERMISSION_DENIED = -1; // 0xffffffff
3347    field public static final int STATUS_TIMED_OUT = -110; // 0xffffff92
3348  }
3349
3350  public static class RadioManager.AmBandConfig extends android.hardware.radio.RadioManager.BandConfig {
3351    method public boolean getStereo();
3352    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.AmBandConfig> CREATOR;
3353  }
3354
3355  public static class RadioManager.AmBandConfig.Builder {
3356    ctor public RadioManager.AmBandConfig.Builder(android.hardware.radio.RadioManager.AmBandDescriptor);
3357    ctor public RadioManager.AmBandConfig.Builder(android.hardware.radio.RadioManager.AmBandConfig);
3358    method public android.hardware.radio.RadioManager.AmBandConfig build();
3359    method public android.hardware.radio.RadioManager.AmBandConfig.Builder setStereo(boolean);
3360  }
3361
3362  public static class RadioManager.AmBandDescriptor extends android.hardware.radio.RadioManager.BandDescriptor {
3363    method public boolean isStereoSupported();
3364    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.AmBandDescriptor> CREATOR;
3365  }
3366
3367  @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 {
3368  }
3369
3370  public static class RadioManager.BandConfig implements android.os.Parcelable {
3371    method public int describeContents();
3372    method public int getLowerLimit();
3373    method public int getRegion();
3374    method public int getSpacing();
3375    method public int getType();
3376    method public int getUpperLimit();
3377    method public void writeToParcel(android.os.Parcel, int);
3378    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.BandConfig> CREATOR;
3379  }
3380
3381  public static class RadioManager.BandDescriptor implements android.os.Parcelable {
3382    method public int describeContents();
3383    method public int getLowerLimit();
3384    method public int getRegion();
3385    method public int getSpacing();
3386    method public int getType();
3387    method public int getUpperLimit();
3388    method public boolean isAmBand();
3389    method public boolean isFmBand();
3390    method public void writeToParcel(android.os.Parcel, int);
3391    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.BandDescriptor> CREATOR;
3392  }
3393
3394  public static class RadioManager.FmBandConfig extends android.hardware.radio.RadioManager.BandConfig {
3395    method public boolean getAf();
3396    method public boolean getEa();
3397    method public boolean getRds();
3398    method public boolean getStereo();
3399    method public boolean getTa();
3400    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.FmBandConfig> CREATOR;
3401  }
3402
3403  public static class RadioManager.FmBandConfig.Builder {
3404    ctor public RadioManager.FmBandConfig.Builder(android.hardware.radio.RadioManager.FmBandDescriptor);
3405    ctor public RadioManager.FmBandConfig.Builder(android.hardware.radio.RadioManager.FmBandConfig);
3406    method public android.hardware.radio.RadioManager.FmBandConfig build();
3407    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setAf(boolean);
3408    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setEa(boolean);
3409    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setRds(boolean);
3410    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setStereo(boolean);
3411    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setTa(boolean);
3412  }
3413
3414  public static class RadioManager.FmBandDescriptor extends android.hardware.radio.RadioManager.BandDescriptor {
3415    method public boolean isAfSupported();
3416    method public boolean isEaSupported();
3417    method public boolean isRdsSupported();
3418    method public boolean isStereoSupported();
3419    method public boolean isTaSupported();
3420    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.FmBandDescriptor> CREATOR;
3421  }
3422
3423  public static class RadioManager.ModuleProperties implements android.os.Parcelable {
3424    method public int describeContents();
3425    method public android.hardware.radio.RadioManager.BandDescriptor[] getBands();
3426    method public int getClassId();
3427    method @Nullable public java.util.Map<java.lang.String,java.lang.Integer> getDabFrequencyTable();
3428    method public int getId();
3429    method public String getImplementor();
3430    method public int getNumAudioSources();
3431    method public int getNumTuners();
3432    method public String getProduct();
3433    method public String getSerial();
3434    method @NonNull public String getServiceName();
3435    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
3436    method public String getVersion();
3437    method public boolean isBackgroundScanningSupported();
3438    method public boolean isCaptureSupported();
3439    method public boolean isInitializationRequired();
3440    method public boolean isProgramIdentifierSupported(@android.hardware.radio.ProgramSelector.IdentifierType int);
3441    method public boolean isProgramTypeSupported(@android.hardware.radio.ProgramSelector.ProgramType int);
3442    method public void writeToParcel(android.os.Parcel, int);
3443    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.ModuleProperties> CREATOR;
3444  }
3445
3446  public static class RadioManager.ProgramInfo implements android.os.Parcelable {
3447    method public int describeContents();
3448    method @Deprecated public int getChannel();
3449    method @Nullable public android.hardware.radio.ProgramSelector.Identifier getLogicallyTunedTo();
3450    method public android.hardware.radio.RadioMetadata getMetadata();
3451    method @Nullable public android.hardware.radio.ProgramSelector.Identifier getPhysicallyTunedTo();
3452    method @Nullable public java.util.Collection<android.hardware.radio.ProgramSelector.Identifier> getRelatedContent();
3453    method @NonNull public android.hardware.radio.ProgramSelector getSelector();
3454    method public int getSignalStrength();
3455    method @Deprecated public int getSubChannel();
3456    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
3457    method @Deprecated public boolean isDigital();
3458    method public boolean isLive();
3459    method public boolean isMuted();
3460    method public boolean isStereo();
3461    method public boolean isTrafficAnnouncementActive();
3462    method public boolean isTrafficProgram();
3463    method public boolean isTuned();
3464    method public void writeToParcel(android.os.Parcel, int);
3465    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.ProgramInfo> CREATOR;
3466  }
3467
3468  public final class RadioMetadata implements android.os.Parcelable {
3469    method public boolean containsKey(String);
3470    method public int describeContents();
3471    method @Deprecated public android.graphics.Bitmap getBitmap(String);
3472    method public android.hardware.radio.RadioMetadata.Clock getClock(String);
3473    method public int getInt(String);
3474    method public String getString(String);
3475    method public java.util.Set<java.lang.String> keySet();
3476    method public int size();
3477    method public void writeToParcel(android.os.Parcel, int);
3478    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioMetadata> CREATOR;
3479    field public static final String METADATA_KEY_ALBUM = "android.hardware.radio.metadata.ALBUM";
3480    field public static final String METADATA_KEY_ART = "android.hardware.radio.metadata.ART";
3481    field public static final String METADATA_KEY_ARTIST = "android.hardware.radio.metadata.ARTIST";
3482    field public static final String METADATA_KEY_CLOCK = "android.hardware.radio.metadata.CLOCK";
3483    field public static final String METADATA_KEY_DAB_COMPONENT_NAME = "android.hardware.radio.metadata.DAB_COMPONENT_NAME";
3484    field public static final String METADATA_KEY_DAB_COMPONENT_NAME_SHORT = "android.hardware.radio.metadata.DAB_COMPONENT_NAME_SHORT";
3485    field public static final String METADATA_KEY_DAB_ENSEMBLE_NAME = "android.hardware.radio.metadata.DAB_ENSEMBLE_NAME";
3486    field public static final String METADATA_KEY_DAB_ENSEMBLE_NAME_SHORT = "android.hardware.radio.metadata.DAB_ENSEMBLE_NAME_SHORT";
3487    field public static final String METADATA_KEY_DAB_SERVICE_NAME = "android.hardware.radio.metadata.DAB_SERVICE_NAME";
3488    field public static final String METADATA_KEY_DAB_SERVICE_NAME_SHORT = "android.hardware.radio.metadata.DAB_SERVICE_NAME_SHORT";
3489    field public static final String METADATA_KEY_GENRE = "android.hardware.radio.metadata.GENRE";
3490    field public static final String METADATA_KEY_ICON = "android.hardware.radio.metadata.ICON";
3491    field public static final String METADATA_KEY_PROGRAM_NAME = "android.hardware.radio.metadata.PROGRAM_NAME";
3492    field public static final String METADATA_KEY_RBDS_PTY = "android.hardware.radio.metadata.RBDS_PTY";
3493    field public static final String METADATA_KEY_RDS_PI = "android.hardware.radio.metadata.RDS_PI";
3494    field public static final String METADATA_KEY_RDS_PS = "android.hardware.radio.metadata.RDS_PS";
3495    field public static final String METADATA_KEY_RDS_PTY = "android.hardware.radio.metadata.RDS_PTY";
3496    field public static final String METADATA_KEY_RDS_RT = "android.hardware.radio.metadata.RDS_RT";
3497    field public static final String METADATA_KEY_TITLE = "android.hardware.radio.metadata.TITLE";
3498  }
3499
3500  public static final class RadioMetadata.Builder {
3501    ctor public RadioMetadata.Builder();
3502    ctor public RadioMetadata.Builder(android.hardware.radio.RadioMetadata);
3503    method public android.hardware.radio.RadioMetadata build();
3504    method public android.hardware.radio.RadioMetadata.Builder putBitmap(String, android.graphics.Bitmap);
3505    method public android.hardware.radio.RadioMetadata.Builder putClock(String, long, int);
3506    method public android.hardware.radio.RadioMetadata.Builder putInt(String, int);
3507    method public android.hardware.radio.RadioMetadata.Builder putString(String, String);
3508  }
3509
3510  public static final class RadioMetadata.Clock implements android.os.Parcelable {
3511    ctor public RadioMetadata.Clock(long, int);
3512    method public int describeContents();
3513    method public int getTimezoneOffsetMinutes();
3514    method public long getUtcEpochSeconds();
3515    method public void writeToParcel(android.os.Parcel, int);
3516    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioMetadata.Clock> CREATOR;
3517  }
3518
3519  public abstract class RadioTuner {
3520    ctor public RadioTuner();
3521    method public abstract int cancel();
3522    method public abstract void cancelAnnouncement();
3523    method public abstract void close();
3524    method @Deprecated public abstract int getConfiguration(android.hardware.radio.RadioManager.BandConfig[]);
3525    method @Nullable public android.hardware.radio.ProgramList getDynamicProgramList(@Nullable android.hardware.radio.ProgramList.Filter);
3526    method public abstract boolean getMute();
3527    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getParameters(@NonNull java.util.List<java.lang.String>);
3528    method @Deprecated public abstract int getProgramInformation(android.hardware.radio.RadioManager.ProgramInfo[]);
3529    method @Deprecated @NonNull public abstract java.util.List<android.hardware.radio.RadioManager.ProgramInfo> getProgramList(@Nullable java.util.Map<java.lang.String,java.lang.String>);
3530    method public abstract boolean hasControl();
3531    method @Deprecated public abstract boolean isAnalogForced();
3532    method @Deprecated public abstract boolean isAntennaConnected();
3533    method public boolean isConfigFlagSet(int);
3534    method public boolean isConfigFlagSupported(int);
3535    method public abstract int scan(int, boolean);
3536    method @Deprecated public abstract void setAnalogForced(boolean);
3537    method public void setConfigFlag(int, boolean);
3538    method @Deprecated public abstract int setConfiguration(android.hardware.radio.RadioManager.BandConfig);
3539    method public abstract int setMute(boolean);
3540    method @NonNull public java.util.Map<java.lang.String,java.lang.String> setParameters(@NonNull java.util.Map<java.lang.String,java.lang.String>);
3541    method public abstract boolean startBackgroundScan();
3542    method public abstract int step(int, boolean);
3543    method @Deprecated public abstract int tune(int, int);
3544    method public abstract void tune(@NonNull android.hardware.radio.ProgramSelector);
3545    field public static final int DIRECTION_DOWN = 1; // 0x1
3546    field public static final int DIRECTION_UP = 0; // 0x0
3547    field @Deprecated public static final int ERROR_BACKGROUND_SCAN_FAILED = 6; // 0x6
3548    field @Deprecated public static final int ERROR_BACKGROUND_SCAN_UNAVAILABLE = 5; // 0x5
3549    field @Deprecated public static final int ERROR_CANCELLED = 2; // 0x2
3550    field @Deprecated public static final int ERROR_CONFIG = 4; // 0x4
3551    field @Deprecated public static final int ERROR_HARDWARE_FAILURE = 0; // 0x0
3552    field @Deprecated public static final int ERROR_SCAN_TIMEOUT = 3; // 0x3
3553    field @Deprecated public static final int ERROR_SERVER_DIED = 1; // 0x1
3554  }
3555
3556  public abstract static class RadioTuner.Callback {
3557    ctor public RadioTuner.Callback();
3558    method public void onAntennaState(boolean);
3559    method public void onBackgroundScanAvailabilityChange(boolean);
3560    method public void onBackgroundScanComplete();
3561    method @Deprecated public void onConfigurationChanged(android.hardware.radio.RadioManager.BandConfig);
3562    method public void onControlChanged(boolean);
3563    method public void onEmergencyAnnouncement(boolean);
3564    method @Deprecated public void onError(int);
3565    method @Deprecated public void onMetadataChanged(android.hardware.radio.RadioMetadata);
3566    method public void onParametersUpdated(@NonNull java.util.Map<java.lang.String,java.lang.String>);
3567    method public void onProgramInfoChanged(android.hardware.radio.RadioManager.ProgramInfo);
3568    method public void onProgramListChanged();
3569    method public void onTrafficAnnouncement(boolean);
3570    method public void onTuneFailed(int, @Nullable android.hardware.radio.ProgramSelector);
3571  }
3572
3573}
3574
3575package android.hardware.soundtrigger {
3576
3577  public class SoundTrigger {
3578    field public static final int RECOGNITION_MODE_GENERIC = 8; // 0x8
3579    field public static final int RECOGNITION_MODE_USER_AUTHENTICATION = 4; // 0x4
3580    field public static final int RECOGNITION_MODE_USER_IDENTIFICATION = 2; // 0x2
3581    field public static final int RECOGNITION_MODE_VOICE_TRIGGER = 1; // 0x1
3582    field public static final int STATUS_OK = 0; // 0x0
3583  }
3584
3585  public static final class SoundTrigger.Keyphrase implements android.os.Parcelable {
3586    ctor public SoundTrigger.Keyphrase(int, int, @NonNull java.util.Locale, @NonNull String, @Nullable int[]);
3587    method public int getId();
3588    method @NonNull public java.util.Locale getLocale();
3589    method public int getRecognitionModes();
3590    method @NonNull public String getText();
3591    method @NonNull public int[] getUsers();
3592    method @NonNull public static android.hardware.soundtrigger.SoundTrigger.Keyphrase readFromParcel(@NonNull android.os.Parcel);
3593    method public void writeToParcel(@NonNull android.os.Parcel, int);
3594    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.Keyphrase> CREATOR;
3595  }
3596
3597  public static final class SoundTrigger.KeyphraseSoundModel extends android.hardware.soundtrigger.SoundTrigger.SoundModel implements android.os.Parcelable {
3598    ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[], int);
3599    ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[]);
3600    method @NonNull public android.hardware.soundtrigger.SoundTrigger.Keyphrase[] getKeyphrases();
3601    method @NonNull public static android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel readFromParcel(@NonNull android.os.Parcel);
3602    method public void writeToParcel(@NonNull android.os.Parcel, int);
3603    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel> CREATOR;
3604  }
3605
3606  public static final class SoundTrigger.ModelParamRange implements android.os.Parcelable {
3607    method public int getEnd();
3608    method public int getStart();
3609    method public void writeToParcel(@NonNull android.os.Parcel, int);
3610    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModelParamRange> CREATOR;
3611  }
3612
3613  public static final class SoundTrigger.ModuleProperties implements android.os.Parcelable {
3614    method public int describeContents();
3615    method public int getAudioCapabilities();
3616    method @NonNull public String getDescription();
3617    method public int getId();
3618    method @NonNull public String getImplementor();
3619    method public int getMaxBufferMillis();
3620    method public int getMaxKeyphrases();
3621    method public int getMaxSoundModels();
3622    method public int getMaxUsers();
3623    method public int getPowerConsumptionMw();
3624    method public int getRecognitionModes();
3625    method @NonNull public String getSupportedModelArch();
3626    method @NonNull public java.util.UUID getUuid();
3627    method public int getVersion();
3628    method public boolean isCaptureTransitionSupported();
3629    method public boolean isConcurrentCaptureSupported();
3630    method public boolean isTriggerReturnedInEvent();
3631    method public void writeToParcel(android.os.Parcel, int);
3632    field public static final int AUDIO_CAPABILITY_ECHO_CANCELLATION = 1; // 0x1
3633    field public static final int AUDIO_CAPABILITY_NOISE_SUPPRESSION = 2; // 0x2
3634    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModuleProperties> CREATOR;
3635  }
3636
3637  public static class SoundTrigger.RecognitionEvent {
3638    method @Nullable public android.media.AudioFormat getCaptureFormat();
3639    method public int getCaptureSession();
3640    method public byte[] getData();
3641    method public boolean isCaptureAvailable();
3642  }
3643
3644  public static class SoundTrigger.SoundModel {
3645    method @NonNull public byte[] getData();
3646    method public int getType();
3647    method @NonNull public java.util.UUID getUuid();
3648    method @NonNull public java.util.UUID getVendorUuid();
3649    method public int getVersion();
3650    field public static final int TYPE_GENERIC_SOUND = 1; // 0x1
3651    field public static final int TYPE_KEYPHRASE = 0; // 0x0
3652  }
3653
3654}
3655
3656package android.hardware.usb {
3657
3658  public class UsbDeviceConnection {
3659    method public boolean resetDevice();
3660  }
3661
3662  public class UsbManager {
3663    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public long getCurrentFunctions();
3664    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_USB) public java.util.List<android.hardware.usb.UsbPort> getPorts();
3665    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void grantPermission(android.hardware.usb.UsbDevice, String);
3666    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void resetUsbGadget();
3667    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void setCurrentFunctions(long);
3668    field @RequiresPermission(android.Manifest.permission.MANAGE_USB) public static final String ACTION_USB_PORT_CHANGED = "android.hardware.usb.action.USB_PORT_CHANGED";
3669    field public static final String ACTION_USB_STATE = "android.hardware.usb.action.USB_STATE";
3670    field public static final long FUNCTION_ACCESSORY = 2L; // 0x2L
3671    field public static final long FUNCTION_ADB = 1L; // 0x1L
3672    field public static final long FUNCTION_AUDIO_SOURCE = 64L; // 0x40L
3673    field public static final long FUNCTION_MIDI = 8L; // 0x8L
3674    field public static final long FUNCTION_MTP = 4L; // 0x4L
3675    field public static final long FUNCTION_NCM = 1024L; // 0x400L
3676    field public static final long FUNCTION_NONE = 0L; // 0x0L
3677    field public static final long FUNCTION_PTP = 16L; // 0x10L
3678    field public static final long FUNCTION_RNDIS = 32L; // 0x20L
3679    field public static final String USB_CONFIGURED = "configured";
3680    field public static final String USB_CONNECTED = "connected";
3681    field public static final String USB_FUNCTION_NCM = "ncm";
3682    field public static final String USB_FUNCTION_RNDIS = "rndis";
3683  }
3684
3685  public final class UsbPort {
3686    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USB) public android.hardware.usb.UsbPortStatus getStatus();
3687    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void setRoles(int, int);
3688  }
3689
3690  public final class UsbPortStatus implements android.os.Parcelable {
3691    method public int describeContents();
3692    method public int getCurrentDataRole();
3693    method public int getCurrentMode();
3694    method public int getCurrentPowerRole();
3695    method public int getSupportedRoleCombinations();
3696    method public boolean isConnected();
3697    method public boolean isRoleCombinationSupported(int, int);
3698    method public void writeToParcel(android.os.Parcel, int);
3699    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbPortStatus> CREATOR;
3700    field public static final int DATA_ROLE_DEVICE = 2; // 0x2
3701    field public static final int DATA_ROLE_HOST = 1; // 0x1
3702    field public static final int DATA_ROLE_NONE = 0; // 0x0
3703    field public static final int MODE_AUDIO_ACCESSORY = 4; // 0x4
3704    field public static final int MODE_DEBUG_ACCESSORY = 8; // 0x8
3705    field public static final int MODE_DFP = 2; // 0x2
3706    field public static final int MODE_NONE = 0; // 0x0
3707    field public static final int MODE_UFP = 1; // 0x1
3708    field public static final int POWER_ROLE_NONE = 0; // 0x0
3709    field public static final int POWER_ROLE_SINK = 2; // 0x2
3710    field public static final int POWER_ROLE_SOURCE = 1; // 0x1
3711  }
3712
3713}
3714
3715package android.location {
3716
3717  public abstract class BatchedLocationCallback {
3718    ctor public BatchedLocationCallback();
3719    method public void onLocationBatch(java.util.List<android.location.Location>);
3720  }
3721
3722  public final class GnssCapabilities {
3723    method public boolean hasGeofencing();
3724    method public boolean hasLowPowerMode();
3725    method public boolean hasMeasurementCorrections();
3726    method public boolean hasMeasurementCorrectionsExcessPathLength();
3727    method public boolean hasMeasurementCorrectionsLosSats();
3728    method public boolean hasMeasurementCorrectionsReflectingPane();
3729    method public boolean hasMeasurements();
3730    method public boolean hasNavMessages();
3731    method public boolean hasSatelliteBlacklist();
3732  }
3733
3734  public final class GnssMeasurementCorrections implements android.os.Parcelable {
3735    method public int describeContents();
3736    method @FloatRange(from=-1000.0F, to=10000.0f) public double getAltitudeMeters();
3737    method @FloatRange(from=0.0f, to=360.0f) public float getEnvironmentBearingDegrees();
3738    method @FloatRange(from=0.0f, to=180.0f) public float getEnvironmentBearingUncertaintyDegrees();
3739    method @FloatRange(from=0.0f) public double getHorizontalPositionUncertaintyMeters();
3740    method @FloatRange(from=-90.0F, to=90.0f) public double getLatitudeDegrees();
3741    method @FloatRange(from=-180.0F, to=180.0f) public double getLongitudeDegrees();
3742    method @NonNull public java.util.List<android.location.GnssSingleSatCorrection> getSingleSatelliteCorrectionList();
3743    method @IntRange(from=0) public long getToaGpsNanosecondsOfWeek();
3744    method @FloatRange(from=0.0f) public double getVerticalPositionUncertaintyMeters();
3745    method public boolean hasEnvironmentBearing();
3746    method public void writeToParcel(@NonNull android.os.Parcel, int);
3747    field public static final android.os.Parcelable.Creator<android.location.GnssMeasurementCorrections> CREATOR;
3748  }
3749
3750  public static final class GnssMeasurementCorrections.Builder {
3751    ctor public GnssMeasurementCorrections.Builder();
3752    method @NonNull public android.location.GnssMeasurementCorrections build();
3753    method @NonNull public android.location.GnssMeasurementCorrections.Builder setAltitudeMeters(@FloatRange(from=-1000.0F, to=10000.0f) double);
3754    method @NonNull public android.location.GnssMeasurementCorrections.Builder setEnvironmentBearingDegrees(@FloatRange(from=0.0f, to=360.0f) float);
3755    method @NonNull public android.location.GnssMeasurementCorrections.Builder setEnvironmentBearingUncertaintyDegrees(@FloatRange(from=0.0f, to=180.0f) float);
3756    method @NonNull public android.location.GnssMeasurementCorrections.Builder setHorizontalPositionUncertaintyMeters(@FloatRange(from=0.0f) double);
3757    method @NonNull public android.location.GnssMeasurementCorrections.Builder setLatitudeDegrees(@FloatRange(from=-90.0F, to=90.0f) double);
3758    method @NonNull public android.location.GnssMeasurementCorrections.Builder setLongitudeDegrees(@FloatRange(from=-180.0F, to=180.0f) double);
3759    method @NonNull public android.location.GnssMeasurementCorrections.Builder setSingleSatelliteCorrectionList(@NonNull java.util.List<android.location.GnssSingleSatCorrection>);
3760    method @NonNull public android.location.GnssMeasurementCorrections.Builder setToaGpsNanosecondsOfWeek(@IntRange(from=0) long);
3761    method @NonNull public android.location.GnssMeasurementCorrections.Builder setVerticalPositionUncertaintyMeters(@FloatRange(from=0.0f) double);
3762  }
3763
3764  public final class GnssReflectingPlane implements android.os.Parcelable {
3765    method public int describeContents();
3766    method @FloatRange(from=-1000.0F, to=10000.0f) public double getAltitudeMeters();
3767    method @FloatRange(from=0.0f, to=360.0f) public double getAzimuthDegrees();
3768    method @FloatRange(from=-90.0F, to=90.0f) public double getLatitudeDegrees();
3769    method @FloatRange(from=-180.0F, to=180.0f) public double getLongitudeDegrees();
3770    method public void writeToParcel(@NonNull android.os.Parcel, int);
3771    field public static final android.os.Parcelable.Creator<android.location.GnssReflectingPlane> CREATOR;
3772  }
3773
3774  public static final class GnssReflectingPlane.Builder {
3775    ctor public GnssReflectingPlane.Builder();
3776    method @NonNull public android.location.GnssReflectingPlane build();
3777    method @NonNull public android.location.GnssReflectingPlane.Builder setAltitudeMeters(@FloatRange(from=-1000.0F, to=10000.0f) double);
3778    method @NonNull public android.location.GnssReflectingPlane.Builder setAzimuthDegrees(@FloatRange(from=0.0f, to=360.0f) double);
3779    method @NonNull public android.location.GnssReflectingPlane.Builder setLatitudeDegrees(@FloatRange(from=-90.0F, to=90.0f) double);
3780    method @NonNull public android.location.GnssReflectingPlane.Builder setLongitudeDegrees(@FloatRange(from=-180.0F, to=180.0f) double);
3781  }
3782
3783  public final class GnssRequest implements android.os.Parcelable {
3784    method public int describeContents();
3785    method public boolean isFullTracking();
3786    method public void writeToParcel(@NonNull android.os.Parcel, int);
3787    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssRequest> CREATOR;
3788  }
3789
3790  public static final class GnssRequest.Builder {
3791    ctor public GnssRequest.Builder();
3792    ctor public GnssRequest.Builder(@NonNull android.location.GnssRequest);
3793    method @NonNull public android.location.GnssRequest build();
3794    method @NonNull public android.location.GnssRequest.Builder setFullTracking(boolean);
3795  }
3796
3797  public final class GnssSingleSatCorrection implements android.os.Parcelable {
3798    method public int describeContents();
3799    method @FloatRange(from=0.0f, fromInclusive=false) public float getCarrierFrequencyHz();
3800    method public int getConstellationType();
3801    method @FloatRange(from=0.0f) public float getExcessPathLengthMeters();
3802    method @FloatRange(from=0.0f) public float getExcessPathLengthUncertaintyMeters();
3803    method @FloatRange(from=0.0f, to=1.0f) public float getProbabilityLineOfSight();
3804    method @Nullable public android.location.GnssReflectingPlane getReflectingPlane();
3805    method @IntRange(from=0) public int getSatelliteId();
3806    method public boolean hasExcessPathLength();
3807    method public boolean hasExcessPathLengthUncertainty();
3808    method public boolean hasReflectingPlane();
3809    method public boolean hasValidSatelliteLineOfSight();
3810    method public void writeToParcel(@NonNull android.os.Parcel, int);
3811    field public static final android.os.Parcelable.Creator<android.location.GnssSingleSatCorrection> CREATOR;
3812  }
3813
3814  public static final class GnssSingleSatCorrection.Builder {
3815    ctor public GnssSingleSatCorrection.Builder();
3816    method @NonNull public android.location.GnssSingleSatCorrection build();
3817    method @NonNull public android.location.GnssSingleSatCorrection.Builder setCarrierFrequencyHz(@FloatRange(from=0.0f, fromInclusive=false) float);
3818    method @NonNull public android.location.GnssSingleSatCorrection.Builder setConstellationType(int);
3819    method @NonNull public android.location.GnssSingleSatCorrection.Builder setExcessPathLengthMeters(@FloatRange(from=0.0f) float);
3820    method @NonNull public android.location.GnssSingleSatCorrection.Builder setExcessPathLengthUncertaintyMeters(@FloatRange(from=0.0f) float);
3821    method @NonNull public android.location.GnssSingleSatCorrection.Builder setProbabilityLineOfSight(@FloatRange(from=0.0f, to=1.0f) float);
3822    method @NonNull public android.location.GnssSingleSatCorrection.Builder setReflectingPlane(@Nullable android.location.GnssReflectingPlane);
3823    method @NonNull public android.location.GnssSingleSatCorrection.Builder setSatelliteId(@IntRange(from=0) int);
3824  }
3825
3826  @Deprecated public class GpsClock implements android.os.Parcelable {
3827    method @Deprecated public int describeContents();
3828    method @Deprecated public double getBiasInNs();
3829    method @Deprecated public double getBiasUncertaintyInNs();
3830    method @Deprecated public double getDriftInNsPerSec();
3831    method @Deprecated public double getDriftUncertaintyInNsPerSec();
3832    method @Deprecated public long getFullBiasInNs();
3833    method @Deprecated public short getLeapSecond();
3834    method @Deprecated public long getTimeInNs();
3835    method @Deprecated public double getTimeUncertaintyInNs();
3836    method @Deprecated public byte getType();
3837    method @Deprecated public boolean hasBiasInNs();
3838    method @Deprecated public boolean hasBiasUncertaintyInNs();
3839    method @Deprecated public boolean hasDriftInNsPerSec();
3840    method @Deprecated public boolean hasDriftUncertaintyInNsPerSec();
3841    method @Deprecated public boolean hasFullBiasInNs();
3842    method @Deprecated public boolean hasLeapSecond();
3843    method @Deprecated public boolean hasTimeUncertaintyInNs();
3844    method @Deprecated public void reset();
3845    method @Deprecated public void resetBiasInNs();
3846    method @Deprecated public void resetBiasUncertaintyInNs();
3847    method @Deprecated public void resetDriftInNsPerSec();
3848    method @Deprecated public void resetDriftUncertaintyInNsPerSec();
3849    method @Deprecated public void resetFullBiasInNs();
3850    method @Deprecated public void resetLeapSecond();
3851    method @Deprecated public void resetTimeUncertaintyInNs();
3852    method @Deprecated public void set(android.location.GpsClock);
3853    method @Deprecated public void setBiasInNs(double);
3854    method @Deprecated public void setBiasUncertaintyInNs(double);
3855    method @Deprecated public void setDriftInNsPerSec(double);
3856    method @Deprecated public void setDriftUncertaintyInNsPerSec(double);
3857    method @Deprecated public void setFullBiasInNs(long);
3858    method @Deprecated public void setLeapSecond(short);
3859    method @Deprecated public void setTimeInNs(long);
3860    method @Deprecated public void setTimeUncertaintyInNs(double);
3861    method @Deprecated public void setType(byte);
3862    method @Deprecated public void writeToParcel(android.os.Parcel, int);
3863    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsClock> CREATOR;
3864    field @Deprecated public static final byte TYPE_GPS_TIME = 2; // 0x2
3865    field @Deprecated public static final byte TYPE_LOCAL_HW_TIME = 1; // 0x1
3866    field @Deprecated public static final byte TYPE_UNKNOWN = 0; // 0x0
3867  }
3868
3869  @Deprecated public class GpsMeasurement implements android.os.Parcelable {
3870    method @Deprecated public int describeContents();
3871    method @Deprecated public double getAccumulatedDeltaRangeInMeters();
3872    method @Deprecated public short getAccumulatedDeltaRangeState();
3873    method @Deprecated public double getAccumulatedDeltaRangeUncertaintyInMeters();
3874    method @Deprecated public double getAzimuthInDeg();
3875    method @Deprecated public double getAzimuthUncertaintyInDeg();
3876    method @Deprecated public int getBitNumber();
3877    method @Deprecated public long getCarrierCycles();
3878    method @Deprecated public float getCarrierFrequencyInHz();
3879    method @Deprecated public double getCarrierPhase();
3880    method @Deprecated public double getCarrierPhaseUncertainty();
3881    method @Deprecated public double getCn0InDbHz();
3882    method @Deprecated public double getCodePhaseInChips();
3883    method @Deprecated public double getCodePhaseUncertaintyInChips();
3884    method @Deprecated public double getDopplerShiftInHz();
3885    method @Deprecated public double getDopplerShiftUncertaintyInHz();
3886    method @Deprecated public double getElevationInDeg();
3887    method @Deprecated public double getElevationUncertaintyInDeg();
3888    method @Deprecated public byte getLossOfLock();
3889    method @Deprecated public byte getMultipathIndicator();
3890    method @Deprecated public byte getPrn();
3891    method @Deprecated public double getPseudorangeInMeters();
3892    method @Deprecated public double getPseudorangeRateInMetersPerSec();
3893    method @Deprecated public double getPseudorangeRateUncertaintyInMetersPerSec();
3894    method @Deprecated public double getPseudorangeUncertaintyInMeters();
3895    method @Deprecated public long getReceivedGpsTowInNs();
3896    method @Deprecated public long getReceivedGpsTowUncertaintyInNs();
3897    method @Deprecated public double getSnrInDb();
3898    method @Deprecated public short getState();
3899    method @Deprecated public short getTimeFromLastBitInMs();
3900    method @Deprecated public double getTimeOffsetInNs();
3901    method @Deprecated public boolean hasAzimuthInDeg();
3902    method @Deprecated public boolean hasAzimuthUncertaintyInDeg();
3903    method @Deprecated public boolean hasBitNumber();
3904    method @Deprecated public boolean hasCarrierCycles();
3905    method @Deprecated public boolean hasCarrierFrequencyInHz();
3906    method @Deprecated public boolean hasCarrierPhase();
3907    method @Deprecated public boolean hasCarrierPhaseUncertainty();
3908    method @Deprecated public boolean hasCodePhaseInChips();
3909    method @Deprecated public boolean hasCodePhaseUncertaintyInChips();
3910    method @Deprecated public boolean hasDopplerShiftInHz();
3911    method @Deprecated public boolean hasDopplerShiftUncertaintyInHz();
3912    method @Deprecated public boolean hasElevationInDeg();
3913    method @Deprecated public boolean hasElevationUncertaintyInDeg();
3914    method @Deprecated public boolean hasPseudorangeInMeters();
3915    method @Deprecated public boolean hasPseudorangeUncertaintyInMeters();
3916    method @Deprecated public boolean hasSnrInDb();
3917    method @Deprecated public boolean hasTimeFromLastBitInMs();
3918    method @Deprecated public boolean isPseudorangeRateCorrected();
3919    method @Deprecated public boolean isUsedInFix();
3920    method @Deprecated public void reset();
3921    method @Deprecated public void resetAzimuthInDeg();
3922    method @Deprecated public void resetAzimuthUncertaintyInDeg();
3923    method @Deprecated public void resetBitNumber();
3924    method @Deprecated public void resetCarrierCycles();
3925    method @Deprecated public void resetCarrierFrequencyInHz();
3926    method @Deprecated public void resetCarrierPhase();
3927    method @Deprecated public void resetCarrierPhaseUncertainty();
3928    method @Deprecated public void resetCodePhaseInChips();
3929    method @Deprecated public void resetCodePhaseUncertaintyInChips();
3930    method @Deprecated public void resetDopplerShiftInHz();
3931    method @Deprecated public void resetDopplerShiftUncertaintyInHz();
3932    method @Deprecated public void resetElevationInDeg();
3933    method @Deprecated public void resetElevationUncertaintyInDeg();
3934    method @Deprecated public void resetPseudorangeInMeters();
3935    method @Deprecated public void resetPseudorangeUncertaintyInMeters();
3936    method @Deprecated public void resetSnrInDb();
3937    method @Deprecated public void resetTimeFromLastBitInMs();
3938    method @Deprecated public void set(android.location.GpsMeasurement);
3939    method @Deprecated public void setAccumulatedDeltaRangeInMeters(double);
3940    method @Deprecated public void setAccumulatedDeltaRangeState(short);
3941    method @Deprecated public void setAccumulatedDeltaRangeUncertaintyInMeters(double);
3942    method @Deprecated public void setAzimuthInDeg(double);
3943    method @Deprecated public void setAzimuthUncertaintyInDeg(double);
3944    method @Deprecated public void setBitNumber(int);
3945    method @Deprecated public void setCarrierCycles(long);
3946    method @Deprecated public void setCarrierFrequencyInHz(float);
3947    method @Deprecated public void setCarrierPhase(double);
3948    method @Deprecated public void setCarrierPhaseUncertainty(double);
3949    method @Deprecated public void setCn0InDbHz(double);
3950    method @Deprecated public void setCodePhaseInChips(double);
3951    method @Deprecated public void setCodePhaseUncertaintyInChips(double);
3952    method @Deprecated public void setDopplerShiftInHz(double);
3953    method @Deprecated public void setDopplerShiftUncertaintyInHz(double);
3954    method @Deprecated public void setElevationInDeg(double);
3955    method @Deprecated public void setElevationUncertaintyInDeg(double);
3956    method @Deprecated public void setLossOfLock(byte);
3957    method @Deprecated public void setMultipathIndicator(byte);
3958    method @Deprecated public void setPrn(byte);
3959    method @Deprecated public void setPseudorangeInMeters(double);
3960    method @Deprecated public void setPseudorangeRateInMetersPerSec(double);
3961    method @Deprecated public void setPseudorangeRateUncertaintyInMetersPerSec(double);
3962    method @Deprecated public void setPseudorangeUncertaintyInMeters(double);
3963    method @Deprecated public void setReceivedGpsTowInNs(long);
3964    method @Deprecated public void setReceivedGpsTowUncertaintyInNs(long);
3965    method @Deprecated public void setSnrInDb(double);
3966    method @Deprecated public void setState(short);
3967    method @Deprecated public void setTimeFromLastBitInMs(short);
3968    method @Deprecated public void setTimeOffsetInNs(double);
3969    method @Deprecated public void setUsedInFix(boolean);
3970    method @Deprecated public void writeToParcel(android.os.Parcel, int);
3971    field @Deprecated public static final short ADR_STATE_CYCLE_SLIP = 4; // 0x4
3972    field @Deprecated public static final short ADR_STATE_RESET = 2; // 0x2
3973    field @Deprecated public static final short ADR_STATE_UNKNOWN = 0; // 0x0
3974    field @Deprecated public static final short ADR_STATE_VALID = 1; // 0x1
3975    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurement> CREATOR;
3976    field @Deprecated public static final byte LOSS_OF_LOCK_CYCLE_SLIP = 2; // 0x2
3977    field @Deprecated public static final byte LOSS_OF_LOCK_OK = 1; // 0x1
3978    field @Deprecated public static final byte LOSS_OF_LOCK_UNKNOWN = 0; // 0x0
3979    field @Deprecated public static final byte MULTIPATH_INDICATOR_DETECTED = 1; // 0x1
3980    field @Deprecated public static final byte MULTIPATH_INDICATOR_NOT_USED = 2; // 0x2
3981    field @Deprecated public static final byte MULTIPATH_INDICATOR_UNKNOWN = 0; // 0x0
3982    field @Deprecated public static final short STATE_BIT_SYNC = 2; // 0x2
3983    field @Deprecated public static final short STATE_CODE_LOCK = 1; // 0x1
3984    field @Deprecated public static final short STATE_MSEC_AMBIGUOUS = 16; // 0x10
3985    field @Deprecated public static final short STATE_SUBFRAME_SYNC = 4; // 0x4
3986    field @Deprecated public static final short STATE_TOW_DECODED = 8; // 0x8
3987    field @Deprecated public static final short STATE_UNKNOWN = 0; // 0x0
3988  }
3989
3990  @Deprecated public class GpsMeasurementsEvent implements android.os.Parcelable {
3991    ctor @Deprecated public GpsMeasurementsEvent(android.location.GpsClock, android.location.GpsMeasurement[]);
3992    method @Deprecated public int describeContents();
3993    method @Deprecated @NonNull public android.location.GpsClock getClock();
3994    method @Deprecated @NonNull public java.util.Collection<android.location.GpsMeasurement> getMeasurements();
3995    method @Deprecated public void writeToParcel(android.os.Parcel, int);
3996    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurementsEvent> CREATOR;
3997    field @Deprecated public static final int STATUS_GPS_LOCATION_DISABLED = 2; // 0x2
3998    field @Deprecated public static final int STATUS_NOT_SUPPORTED = 0; // 0x0
3999    field @Deprecated public static final int STATUS_READY = 1; // 0x1
4000  }
4001
4002  @Deprecated public static interface GpsMeasurementsEvent.Listener {
4003    method @Deprecated public void onGpsMeasurementsReceived(android.location.GpsMeasurementsEvent);
4004    method @Deprecated public void onStatusChanged(int);
4005  }
4006
4007  @Deprecated public class GpsNavigationMessage implements android.os.Parcelable {
4008    method @Deprecated public int describeContents();
4009    method @Deprecated @NonNull public byte[] getData();
4010    method @Deprecated public short getMessageId();
4011    method @Deprecated public byte getPrn();
4012    method @Deprecated public short getStatus();
4013    method @Deprecated public short getSubmessageId();
4014    method @Deprecated public byte getType();
4015    method @Deprecated public void reset();
4016    method @Deprecated public void set(android.location.GpsNavigationMessage);
4017    method @Deprecated public void setData(byte[]);
4018    method @Deprecated public void setMessageId(short);
4019    method @Deprecated public void setPrn(byte);
4020    method @Deprecated public void setStatus(short);
4021    method @Deprecated public void setSubmessageId(short);
4022    method @Deprecated public void setType(byte);
4023    method @Deprecated public void writeToParcel(android.os.Parcel, int);
4024    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessage> CREATOR;
4025    field @Deprecated public static final short STATUS_PARITY_PASSED = 1; // 0x1
4026    field @Deprecated public static final short STATUS_PARITY_REBUILT = 2; // 0x2
4027    field @Deprecated public static final short STATUS_UNKNOWN = 0; // 0x0
4028    field @Deprecated public static final byte TYPE_CNAV2 = 4; // 0x4
4029    field @Deprecated public static final byte TYPE_L1CA = 1; // 0x1
4030    field @Deprecated public static final byte TYPE_L2CNAV = 2; // 0x2
4031    field @Deprecated public static final byte TYPE_L5CNAV = 3; // 0x3
4032    field @Deprecated public static final byte TYPE_UNKNOWN = 0; // 0x0
4033  }
4034
4035  @Deprecated public class GpsNavigationMessageEvent implements android.os.Parcelable {
4036    ctor @Deprecated public GpsNavigationMessageEvent(android.location.GpsNavigationMessage);
4037    method @Deprecated public int describeContents();
4038    method @Deprecated @NonNull public android.location.GpsNavigationMessage getNavigationMessage();
4039    method @Deprecated public void writeToParcel(android.os.Parcel, int);
4040    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessageEvent> CREATOR;
4041    field @Deprecated public static int STATUS_GPS_LOCATION_DISABLED;
4042    field @Deprecated public static int STATUS_NOT_SUPPORTED;
4043    field @Deprecated public static int STATUS_READY;
4044  }
4045
4046  @Deprecated public static interface GpsNavigationMessageEvent.Listener {
4047    method @Deprecated public void onGpsNavigationMessageReceived(android.location.GpsNavigationMessageEvent);
4048    method @Deprecated public void onStatusChanged(int);
4049  }
4050
4051  public class Location implements android.os.Parcelable {
4052    method public boolean isComplete();
4053    method public void makeComplete();
4054    method public void setIsFromMockProvider(boolean);
4055    field @Deprecated public static final String EXTRA_NO_GPS_LOCATION = "noGPSLocation";
4056  }
4057
4058  public class LocationManager {
4059    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void flushGnssBatch();
4060    method @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>);
4061    method @Nullable public String getExtraLocationControllerPackage();
4062    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public int getGnssBatchSize();
4063    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void injectGnssMeasurementCorrections(@NonNull android.location.GnssMeasurementCorrections);
4064    method public boolean isExtraLocationControllerPackageEnabled();
4065    method public boolean isLocationEnabledForUser(@NonNull android.os.UserHandle);
4066    method public boolean isProviderEnabledForUser(@NonNull String, @NonNull android.os.UserHandle);
4067    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@NonNull String);
4068    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean registerGnssBatchedLocationCallback(long, boolean, @NonNull android.location.BatchedLocationCallback, @Nullable android.os.Handler);
4069    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.LOCATION_HARDWARE}) public boolean registerGnssMeasurementsCallback(@NonNull android.location.GnssRequest, @NonNull java.util.concurrent.Executor, @NonNull android.location.GnssMeasurementsEvent.Callback);
4070    method @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);
4071    method @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);
4072    method @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);
4073    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackage(@Nullable String);
4074    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackageEnabled(boolean);
4075    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setLocationEnabledForUser(boolean, @NonNull android.os.UserHandle);
4076    method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean setProviderEnabledForUser(@NonNull String, boolean, @NonNull android.os.UserHandle);
4077    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean unregisterGnssBatchedLocationCallback(@NonNull android.location.BatchedLocationCallback);
4078  }
4079
4080  public final class LocationRequest implements android.os.Parcelable {
4081    method @NonNull public static android.location.LocationRequest create();
4082    method @NonNull public static android.location.LocationRequest createFromDeprecatedCriteria(@NonNull android.location.Criteria, long, float, boolean);
4083    method @NonNull public static android.location.LocationRequest createFromDeprecatedProvider(@NonNull String, long, float, boolean);
4084    method public int describeContents();
4085    method @Deprecated public long getExpireAt();
4086    method public long getExpireIn();
4087    method public long getFastestInterval();
4088    method public boolean getHideFromAppOps();
4089    method public long getInterval();
4090    method public int getNumUpdates();
4091    method @NonNull public String getProvider();
4092    method public int getQuality();
4093    method public float getSmallestDisplacement();
4094    method @Nullable public android.os.WorkSource getWorkSource();
4095    method public boolean isLocationSettingsIgnored();
4096    method public boolean isLowPowerMode();
4097    method @Deprecated @NonNull public android.location.LocationRequest setExpireAt(long);
4098    method @NonNull public android.location.LocationRequest setExpireIn(long);
4099    method @NonNull public android.location.LocationRequest setFastestInterval(long);
4100    method public void setHideFromAppOps(boolean);
4101    method @NonNull public android.location.LocationRequest setInterval(long);
4102    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.location.LocationRequest setLocationSettingsIgnored(boolean);
4103    method @NonNull public android.location.LocationRequest setLowPowerMode(boolean);
4104    method @NonNull public android.location.LocationRequest setNumUpdates(int);
4105    method @NonNull public android.location.LocationRequest setProvider(@NonNull String);
4106    method @NonNull public android.location.LocationRequest setQuality(int);
4107    method @NonNull public android.location.LocationRequest setSmallestDisplacement(float);
4108    method public void setWorkSource(@Nullable android.os.WorkSource);
4109    method public void writeToParcel(android.os.Parcel, int);
4110    field public static final int ACCURACY_BLOCK = 102; // 0x66
4111    field public static final int ACCURACY_CITY = 104; // 0x68
4112    field public static final int ACCURACY_FINE = 100; // 0x64
4113    field @NonNull public static final android.os.Parcelable.Creator<android.location.LocationRequest> CREATOR;
4114    field public static final int POWER_HIGH = 203; // 0xcb
4115    field public static final int POWER_LOW = 201; // 0xc9
4116    field public static final int POWER_NONE = 200; // 0xc8
4117  }
4118
4119}
4120
4121package android.media {
4122
4123  public final class AudioAttributes implements android.os.Parcelable {
4124    method public int getAllFlags();
4125    method public android.os.Bundle getBundle();
4126    method public int getCapturePreset();
4127    method public int getSystemUsage();
4128    method public static boolean isSystemUsage(int);
4129    field public static final int FLAG_BEACON = 8; // 0x8
4130    field public static final int FLAG_BYPASS_INTERRUPTION_POLICY = 64; // 0x40
4131    field public static final int FLAG_BYPASS_MUTE = 128; // 0x80
4132    field public static final int FLAG_HW_HOTWORD = 32; // 0x20
4133    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_ANNOUNCEMENT = 1003; // 0x3eb
4134    field @RequiresPermission(allOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public static final int USAGE_CALL_ASSISTANT = 17; // 0x11
4135    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_EMERGENCY = 1000; // 0x3e8
4136    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_SAFETY = 1001; // 0x3e9
4137    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_VEHICLE_STATUS = 1002; // 0x3ea
4138  }
4139
4140  public static class AudioAttributes.Builder {
4141    method public android.media.AudioAttributes.Builder addBundle(@NonNull android.os.Bundle);
4142    method public android.media.AudioAttributes.Builder setCapturePreset(int);
4143    method public android.media.AudioAttributes.Builder setInternalCapturePreset(int);
4144    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioAttributes.Builder setSystemUsage(int);
4145  }
4146
4147  public final class AudioDeviceAttributes implements android.os.Parcelable {
4148    ctor public AudioDeviceAttributes(@NonNull android.media.AudioDeviceInfo);
4149    ctor public AudioDeviceAttributes(int, int, @NonNull String);
4150    method public int describeContents();
4151    method @NonNull public String getAddress();
4152    method public int getRole();
4153    method public int getType();
4154    method public void writeToParcel(@NonNull android.os.Parcel, int);
4155    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioDeviceAttributes> CREATOR;
4156    field public static final int ROLE_INPUT = 1; // 0x1
4157    field public static final int ROLE_OUTPUT = 2; // 0x2
4158  }
4159
4160  public final class AudioDeviceInfo {
4161    field public static final int TYPE_REMOTE_SUBMIX = 25; // 0x19
4162  }
4163
4164  public final class AudioFocusInfo implements android.os.Parcelable {
4165    method public int describeContents();
4166    method @NonNull public android.media.AudioAttributes getAttributes();
4167    method @NonNull public String getClientId();
4168    method public int getClientUid();
4169    method public int getFlags();
4170    method public int getGainRequest();
4171    method public int getLossReceived();
4172    method @NonNull public String getPackageName();
4173    method public void writeToParcel(android.os.Parcel, int);
4174    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioFocusInfo> CREATOR;
4175  }
4176
4177  public final class AudioFocusRequest {
4178    method public boolean locksFocus();
4179  }
4180
4181  public static final class AudioFocusRequest.Builder {
4182    method @NonNull public android.media.AudioFocusRequest.Builder setLocksFocus(boolean);
4183  }
4184
4185  public class AudioManager {
4186    method @Deprecated public int abandonAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes);
4187    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void addOnPreferredDeviceForStrategyChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.OnPreferredDeviceForStrategyChangedListener) throws java.lang.SecurityException;
4188    method public void clearAudioServerStateCallback();
4189    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int dispatchAudioFocusChange(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy);
4190    method @IntRange(from=0) public long getAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo);
4191    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static java.util.List<android.media.audiopolicy.AudioProductStrategy> getAudioProductStrategies();
4192    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static java.util.List<android.media.audiopolicy.AudioVolumeGroup> getAudioVolumeGroups();
4193    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceAttributes> getDevicesForAttributes(@NonNull android.media.AudioAttributes);
4194    method @IntRange(from=0) public long getMaxAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo);
4195    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMaxVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
4196    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMinVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
4197    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioDeviceAttributes getPreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
4198    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int[] getSupportedSystemUsages();
4199    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
4200    method public boolean isAudioServerRunning();
4201    method public boolean isHdmiSystemAudioSupported();
4202    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int registerAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy);
4203    method public void registerVolumeGroupCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.VolumeGroupCallback);
4204    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDeviceForStrategyChangedListener(@NonNull android.media.AudioManager.OnPreferredDeviceForStrategyChangedListener);
4205    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean removePreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
4206    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;
4207    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;
4208    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int requestAudioFocus(@NonNull android.media.AudioFocusRequest, @Nullable android.media.audiopolicy.AudioPolicy);
4209    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo, @IntRange(from=0) long);
4210    method public void setAudioServerStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.AudioServerStateCallback);
4211    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setFocusRequestResult(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy);
4212    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull android.media.AudioDeviceAttributes);
4213    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setSupportedSystemUsages(@NonNull int[]);
4214    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setVolumeIndexForAttributes(@NonNull android.media.AudioAttributes, int, int);
4215    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy);
4216    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterAudioPolicyAsync(@NonNull android.media.audiopolicy.AudioPolicy);
4217    method public void unregisterVolumeGroupCallback(@NonNull android.media.AudioManager.VolumeGroupCallback);
4218    field public static final int AUDIOFOCUS_FLAG_DELAY_OK = 1; // 0x1
4219    field public static final int AUDIOFOCUS_FLAG_LOCK = 4; // 0x4
4220    field public static final int AUDIOFOCUS_FLAG_PAUSES_ON_DUCKABLE_LOSS = 2; // 0x2
4221    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int STREAM_ASSISTANT = 11; // 0xb
4222    field public static final int SUCCESS = 0; // 0x0
4223  }
4224
4225  public abstract static class AudioManager.AudioServerStateCallback {
4226    ctor public AudioManager.AudioServerStateCallback();
4227    method public void onAudioServerDown();
4228    method public void onAudioServerUp();
4229  }
4230
4231  public static interface AudioManager.OnPreferredDeviceForStrategyChangedListener {
4232    method public void onPreferredDeviceForStrategyChanged(@NonNull android.media.audiopolicy.AudioProductStrategy, @Nullable android.media.AudioDeviceAttributes);
4233  }
4234
4235  public abstract static class AudioManager.VolumeGroupCallback {
4236    ctor public AudioManager.VolumeGroupCallback();
4237    method public void onAudioVolumeGroupChanged(int, int);
4238  }
4239
4240  public final class AudioPlaybackConfiguration implements android.os.Parcelable {
4241    method public int getClientPid();
4242    method public int getClientUid();
4243    method public int getPlayerInterfaceId();
4244    method public android.media.PlayerProxy getPlayerProxy();
4245    method public int getPlayerState();
4246    method public int getPlayerType();
4247    method public boolean isActive();
4248    field public static final int PLAYER_STATE_IDLE = 1; // 0x1
4249    field public static final int PLAYER_STATE_PAUSED = 3; // 0x3
4250    field public static final int PLAYER_STATE_RELEASED = 0; // 0x0
4251    field public static final int PLAYER_STATE_STARTED = 2; // 0x2
4252    field public static final int PLAYER_STATE_STOPPED = 4; // 0x4
4253    field public static final int PLAYER_STATE_UNKNOWN = -1; // 0xffffffff
4254    field public static final int PLAYER_TYPE_JAM_AUDIOTRACK = 1; // 0x1
4255    field public static final int PLAYER_TYPE_JAM_MEDIAPLAYER = 2; // 0x2
4256    field public static final int PLAYER_TYPE_JAM_SOUNDPOOL = 3; // 0x3
4257    field public static final int PLAYER_TYPE_SLES_AUDIOPLAYER_BUFFERQUEUE = 11; // 0xb
4258    field public static final int PLAYER_TYPE_SLES_AUDIOPLAYER_URI_FD = 12; // 0xc
4259    field public static final int PLAYER_TYPE_UNKNOWN = -1; // 0xffffffff
4260  }
4261
4262  public class AudioRecord implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection {
4263    ctor public AudioRecord(android.media.AudioAttributes, android.media.AudioFormat, int, int) throws java.lang.IllegalArgumentException;
4264  }
4265
4266  public static class AudioRecord.Builder {
4267    method public android.media.AudioRecord.Builder setAudioAttributes(@NonNull android.media.AudioAttributes) throws java.lang.IllegalArgumentException;
4268    method public android.media.AudioRecord.Builder setSessionId(int) throws java.lang.IllegalArgumentException;
4269  }
4270
4271  public final class AudioRecordingConfiguration implements android.os.Parcelable {
4272    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getClientUid();
4273  }
4274
4275  public class AudioTrack implements android.media.AudioRouting android.media.VolumeAutomation {
4276    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int ENCAPSULATION_MODE_HANDLE = 2; // 0x2
4277  }
4278
4279  public static class AudioTrack.Builder {
4280    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioTrack.Builder setTunerConfiguration(@NonNull android.media.AudioTrack.TunerConfiguration);
4281  }
4282
4283  public static class AudioTrack.TunerConfiguration {
4284    ctor @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public AudioTrack.TunerConfiguration(@IntRange(from=1) int, @IntRange(from=1) int);
4285    method @IntRange(from=1) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getContentId();
4286    method @IntRange(from=1) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getSyncId();
4287  }
4288
4289  public class HwAudioSource {
4290    method public boolean isPlaying();
4291    method public void start();
4292    method public void stop();
4293  }
4294
4295  public static final class HwAudioSource.Builder {
4296    ctor public HwAudioSource.Builder();
4297    method @NonNull public android.media.HwAudioSource build();
4298    method @NonNull public android.media.HwAudioSource.Builder setAudioAttributes(@NonNull android.media.AudioAttributes);
4299    method @NonNull public android.media.HwAudioSource.Builder setAudioDeviceInfo(@NonNull android.media.AudioDeviceInfo);
4300  }
4301
4302  public final class MediaRecorder.AudioSource {
4303    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int ECHO_REFERENCE = 1997; // 0x7cd
4304    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public static final int HOTWORD = 1999; // 0x7cf
4305    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int RADIO_TUNER = 1998; // 0x7ce
4306  }
4307
4308  public class PlayerProxy {
4309    method public void pause();
4310    method public void setPan(float);
4311    method public void setStartDelayMs(int);
4312    method public void setVolume(float);
4313    method public void start();
4314    method public void stop();
4315  }
4316
4317  public class RingtoneManager {
4318    method @RequiresPermission(android.Manifest.permission.WRITE_SETTINGS) public static void ensureDefaultRingtones(@NonNull android.content.Context);
4319  }
4320
4321}
4322
4323package android.media.audiofx {
4324
4325  public class AudioEffect {
4326    ctor @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public AudioEffect(@NonNull java.util.UUID, @NonNull android.media.AudioDeviceAttributes);
4327    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static boolean isEffectSupportedForDevice(@NonNull java.util.UUID, @NonNull android.media.AudioDeviceAttributes);
4328  }
4329
4330}
4331
4332package android.media.audiopolicy {
4333
4334  public class AudioMix {
4335    method public int getMixState();
4336    field public static final int MIX_STATE_DISABLED = -1; // 0xffffffff
4337    field public static final int MIX_STATE_IDLE = 0; // 0x0
4338    field public static final int MIX_STATE_MIXING = 1; // 0x1
4339    field public static final int ROUTE_FLAG_LOOP_BACK = 2; // 0x2
4340    field public static final int ROUTE_FLAG_RENDER = 1; // 0x1
4341  }
4342
4343  public static class AudioMix.Builder {
4344    ctor public AudioMix.Builder(android.media.audiopolicy.AudioMixingRule) throws java.lang.IllegalArgumentException;
4345    method public android.media.audiopolicy.AudioMix build() throws java.lang.IllegalArgumentException;
4346    method public android.media.audiopolicy.AudioMix.Builder setDevice(@NonNull android.media.AudioDeviceInfo) throws java.lang.IllegalArgumentException;
4347    method public android.media.audiopolicy.AudioMix.Builder setFormat(android.media.AudioFormat) throws java.lang.IllegalArgumentException;
4348    method public android.media.audiopolicy.AudioMix.Builder setRouteFlags(int) throws java.lang.IllegalArgumentException;
4349  }
4350
4351  public class AudioMixingRule {
4352    field public static final int RULE_MATCH_ATTRIBUTE_CAPTURE_PRESET = 2; // 0x2
4353    field public static final int RULE_MATCH_ATTRIBUTE_USAGE = 1; // 0x1
4354    field public static final int RULE_MATCH_UID = 4; // 0x4
4355    field public static final int RULE_MATCH_USERID = 8; // 0x8
4356  }
4357
4358  public static class AudioMixingRule.Builder {
4359    ctor public AudioMixingRule.Builder();
4360    method public android.media.audiopolicy.AudioMixingRule.Builder addMixRule(int, Object) throws java.lang.IllegalArgumentException;
4361    method public android.media.audiopolicy.AudioMixingRule.Builder addRule(android.media.AudioAttributes, int) throws java.lang.IllegalArgumentException;
4362    method @NonNull public android.media.audiopolicy.AudioMixingRule.Builder allowPrivilegedPlaybackCapture(boolean);
4363    method public android.media.audiopolicy.AudioMixingRule build();
4364    method public android.media.audiopolicy.AudioMixingRule.Builder excludeMixRule(int, Object) throws java.lang.IllegalArgumentException;
4365    method public android.media.audiopolicy.AudioMixingRule.Builder excludeRule(android.media.AudioAttributes, int) throws java.lang.IllegalArgumentException;
4366  }
4367
4368  public class AudioPolicy {
4369    method public int attachMixes(@NonNull java.util.List<android.media.audiopolicy.AudioMix>);
4370    method public android.media.AudioRecord createAudioRecordSink(android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
4371    method public android.media.AudioTrack createAudioTrackSource(android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
4372    method public int detachMixes(@NonNull java.util.List<android.media.audiopolicy.AudioMix>);
4373    method public int getFocusDuckingBehavior();
4374    method public int getStatus();
4375    method public boolean removeUidDeviceAffinity(int);
4376    method public boolean removeUserIdDeviceAffinity(int);
4377    method public int setFocusDuckingBehavior(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
4378    method public void setRegistration(String);
4379    method public boolean setUidDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>);
4380    method public boolean setUserIdDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>);
4381    method public String toLogFriendlyString();
4382    field public static final int FOCUS_POLICY_DUCKING_DEFAULT = 0; // 0x0
4383    field public static final int FOCUS_POLICY_DUCKING_IN_APP = 0; // 0x0
4384    field public static final int FOCUS_POLICY_DUCKING_IN_POLICY = 1; // 0x1
4385    field public static final int POLICY_STATUS_REGISTERED = 2; // 0x2
4386    field public static final int POLICY_STATUS_UNREGISTERED = 1; // 0x1
4387  }
4388
4389  public abstract static class AudioPolicy.AudioPolicyFocusListener {
4390    ctor public AudioPolicy.AudioPolicyFocusListener();
4391    method public void onAudioFocusAbandon(android.media.AudioFocusInfo);
4392    method public void onAudioFocusGrant(android.media.AudioFocusInfo, int);
4393    method public void onAudioFocusLoss(android.media.AudioFocusInfo, boolean);
4394    method public void onAudioFocusRequest(android.media.AudioFocusInfo, int);
4395  }
4396
4397  public abstract static class AudioPolicy.AudioPolicyStatusListener {
4398    ctor public AudioPolicy.AudioPolicyStatusListener();
4399    method public void onMixStateUpdate(android.media.audiopolicy.AudioMix);
4400    method public void onStatusChange();
4401  }
4402
4403  public abstract static class AudioPolicy.AudioPolicyVolumeCallback {
4404    ctor public AudioPolicy.AudioPolicyVolumeCallback();
4405    method public void onVolumeAdjustment(int);
4406  }
4407
4408  public static class AudioPolicy.Builder {
4409    ctor public AudioPolicy.Builder(android.content.Context);
4410    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder addMix(@NonNull android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
4411    method @NonNull public android.media.audiopolicy.AudioPolicy build();
4412    method public void setAudioPolicyFocusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyFocusListener);
4413    method public void setAudioPolicyStatusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyStatusListener);
4414    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setAudioPolicyVolumeCallback(@NonNull android.media.audiopolicy.AudioPolicy.AudioPolicyVolumeCallback);
4415    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setIsAudioFocusPolicy(boolean);
4416    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setLooper(@NonNull android.os.Looper) throws java.lang.IllegalArgumentException;
4417  }
4418
4419  public final class AudioProductStrategy implements android.os.Parcelable {
4420    method @NonNull public static android.media.audiopolicy.AudioProductStrategy createInvalidAudioProductStrategy(int);
4421    method public int describeContents();
4422    method @NonNull public android.media.AudioAttributes getAudioAttributes();
4423    method public int getId();
4424    method public boolean supportsAudioAttributes(@NonNull android.media.AudioAttributes);
4425    method public void writeToParcel(@NonNull android.os.Parcel, int);
4426    field @NonNull public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioProductStrategy> CREATOR;
4427  }
4428
4429  public final class AudioVolumeGroup implements android.os.Parcelable {
4430    method public int describeContents();
4431    method @NonNull public java.util.List<android.media.AudioAttributes> getAudioAttributes();
4432    method public int getId();
4433    method @NonNull public int[] getLegacyStreamTypes();
4434    method @NonNull public String name();
4435    method public void writeToParcel(@NonNull android.os.Parcel, int);
4436    field public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioVolumeGroup> CREATOR;
4437    field public static final int DEFAULT_VOLUME_GROUP = -1; // 0xffffffff
4438  }
4439
4440}
4441
4442package android.media.session {
4443
4444  public final class MediaSessionManager {
4445    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void addOnMediaKeyEventDispatchedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.session.MediaSessionManager.OnMediaKeyEventDispatchedListener);
4446    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void addOnMediaKeyEventSessionChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.session.MediaSessionManager.OnMediaKeyEventSessionChangedListener);
4447    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void removeOnMediaKeyEventDispatchedListener(@NonNull android.media.session.MediaSessionManager.OnMediaKeyEventDispatchedListener);
4448    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void removeOnMediaKeyEventSessionChangedListener(@NonNull android.media.session.MediaSessionManager.OnMediaKeyEventSessionChangedListener);
4449    method @RequiresPermission(android.Manifest.permission.SET_MEDIA_KEY_LISTENER) public void setOnMediaKeyListener(android.media.session.MediaSessionManager.OnMediaKeyListener, @Nullable android.os.Handler);
4450    method @RequiresPermission(android.Manifest.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER) public void setOnVolumeKeyLongPressListener(android.media.session.MediaSessionManager.OnVolumeKeyLongPressListener, @Nullable android.os.Handler);
4451  }
4452
4453  public static interface MediaSessionManager.OnMediaKeyEventDispatchedListener {
4454    method public void onMediaKeyEventDispatched(@NonNull android.view.KeyEvent, @NonNull String, @Nullable android.media.session.MediaSession.Token);
4455  }
4456
4457  public static interface MediaSessionManager.OnMediaKeyEventSessionChangedListener {
4458    method public void onMediaKeyEventSessionChanged(@NonNull String, @Nullable android.media.session.MediaSession.Token);
4459  }
4460
4461  public static interface MediaSessionManager.OnMediaKeyListener {
4462    method public boolean onMediaKey(android.view.KeyEvent);
4463  }
4464
4465  public static interface MediaSessionManager.OnVolumeKeyLongPressListener {
4466    method public void onVolumeKeyLongPress(android.view.KeyEvent);
4467  }
4468
4469}
4470
4471package android.media.soundtrigger {
4472
4473  public abstract class SoundTriggerDetectionService extends android.app.Service {
4474    ctor public SoundTriggerDetectionService();
4475    method @MainThread public void onConnected(@NonNull java.util.UUID, @Nullable android.os.Bundle);
4476    method @MainThread public void onDisconnected(@NonNull java.util.UUID, @Nullable android.os.Bundle);
4477    method @MainThread public void onError(@NonNull java.util.UUID, @Nullable android.os.Bundle, int, int);
4478    method @MainThread public void onGenericRecognitionEvent(@NonNull java.util.UUID, @Nullable android.os.Bundle, int, @NonNull android.hardware.soundtrigger.SoundTrigger.RecognitionEvent);
4479    method @MainThread public abstract void onStopOperation(@NonNull java.util.UUID, @Nullable android.os.Bundle, int);
4480    method public final void operationFinished(@Nullable java.util.UUID, int);
4481  }
4482
4483  public final class SoundTriggerDetector {
4484    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public boolean startRecognition(int);
4485    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public boolean stopRecognition();
4486    field public static final int RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS = 2; // 0x2
4487    field public static final int RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO = 1; // 0x1
4488    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_ECHO_CANCELLATION = 4; // 0x4
4489    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_NOISE_SUPPRESSION = 8; // 0x8
4490  }
4491
4492  public abstract static class SoundTriggerDetector.Callback {
4493    ctor public SoundTriggerDetector.Callback();
4494    method public abstract void onAvailabilityChanged(int);
4495    method public abstract void onDetected(@NonNull android.media.soundtrigger.SoundTriggerDetector.EventPayload);
4496    method public abstract void onError();
4497    method public abstract void onRecognitionPaused();
4498    method public abstract void onRecognitionResumed();
4499  }
4500
4501  public static class SoundTriggerDetector.EventPayload {
4502    method @Nullable public android.media.AudioFormat getCaptureAudioFormat();
4503    method @Nullable public byte[] getTriggerAudio();
4504  }
4505
4506  public final class SoundTriggerManager {
4507    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);
4508    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public void deleteModel(java.util.UUID);
4509    method public int getDetectionServiceOperationsTimeout();
4510    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.media.soundtrigger.SoundTriggerManager.Model getModel(java.util.UUID);
4511    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.hardware.soundtrigger.SoundTrigger.ModuleProperties getModuleProperties();
4512    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int getParameter(@NonNull java.util.UUID, int);
4513    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.hardware.soundtrigger.SoundTrigger.ModelParamRange queryParameter(@Nullable java.util.UUID, int);
4514    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int setParameter(@Nullable java.util.UUID, int, int);
4515    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public void updateModel(android.media.soundtrigger.SoundTriggerManager.Model);
4516  }
4517
4518  public static class SoundTriggerManager.Model {
4519    method @NonNull public static android.media.soundtrigger.SoundTriggerManager.Model create(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], int);
4520    method @NonNull public static android.media.soundtrigger.SoundTriggerManager.Model create(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[]);
4521    method @Nullable public byte[] getModelData();
4522    method @NonNull public java.util.UUID getModelUuid();
4523    method @NonNull public java.util.UUID getVendorUuid();
4524    method public int getVersion();
4525  }
4526
4527}
4528
4529package android.media.tv {
4530
4531  public final class DvbDeviceInfo implements android.os.Parcelable {
4532    ctor public DvbDeviceInfo(int, int);
4533    method public int describeContents();
4534    method @IntRange(from=0) public int getAdapterId();
4535    method @IntRange(from=0) public int getDeviceId();
4536    method public void writeToParcel(@NonNull android.os.Parcel, int);
4537    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.DvbDeviceInfo> CREATOR;
4538  }
4539
4540  public final class TvContentRatingSystemInfo implements android.os.Parcelable {
4541    method public static android.media.tv.TvContentRatingSystemInfo createTvContentRatingSystemInfo(int, android.content.pm.ApplicationInfo);
4542    method public int describeContents();
4543    method public android.net.Uri getXmlUri();
4544    method public boolean isSystemDefined();
4545    method public void writeToParcel(android.os.Parcel, int);
4546  }
4547
4548  public final class TvContract {
4549    method public static android.net.Uri buildChannelsUriForInput(@Nullable String, boolean);
4550    method public static android.net.Uri buildChannelsUriForInput(@Nullable String, @Nullable String, boolean);
4551    field public static final String ACTION_CHANNEL_BROWSABLE_REQUESTED = "android.media.tv.action.CHANNEL_BROWSABLE_REQUESTED";
4552    field public static final String EXTRA_BLOCKED_PACKAGES = "android.media.tv.extra.BLOCKED_PACKAGES";
4553    field public static final String EXTRA_COLUMN_NAME = "android.media.tv.extra.COLUMN_NAME";
4554    field public static final String EXTRA_DATA_TYPE = "android.media.tv.extra.DATA_TYPE";
4555    field public static final String EXTRA_DEFAULT_VALUE = "android.media.tv.extra.DEFAULT_VALUE";
4556    field public static final String EXTRA_EXISTING_COLUMN_NAMES = "android.media.tv.extra.EXISTING_COLUMN_NAMES";
4557    field public static final String EXTRA_PACKAGE_NAME = "android.media.tv.extra.PACKAGE_NAME";
4558    field public static final String EXTRA_RESULT_CODE = "android.media.tv.extra.RESULT_CODE";
4559    field public static final String METHOD_ADD_COLUMN = "add_column";
4560    field public static final String METHOD_BLOCK_PACKAGE = "block_package";
4561    field public static final String METHOD_GET_BLOCKED_PACKAGES = "get_blocked_packages";
4562    field public static final String METHOD_GET_COLUMNS = "get_columns";
4563    field public static final String METHOD_UNBLOCK_PACKAGE = "unblock_package";
4564    field public static final int RESULT_ERROR_INVALID_ARGUMENT = 2; // 0x2
4565    field public static final int RESULT_ERROR_IO = 1; // 0x1
4566    field public static final int RESULT_OK = 0; // 0x0
4567  }
4568
4569  public static final class TvContract.WatchedPrograms implements android.media.tv.TvContract.BaseTvColumns {
4570    field public static final String COLUMN_CHANNEL_ID = "channel_id";
4571    field public static final String COLUMN_DESCRIPTION = "description";
4572    field public static final String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis";
4573    field public static final String COLUMN_INTERNAL_SESSION_TOKEN = "session_token";
4574    field public static final String COLUMN_INTERNAL_TUNE_PARAMS = "tune_params";
4575    field public static final String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis";
4576    field public static final String COLUMN_TITLE = "title";
4577    field public static final String COLUMN_WATCH_END_TIME_UTC_MILLIS = "watch_end_time_utc_millis";
4578    field public static final String COLUMN_WATCH_START_TIME_UTC_MILLIS = "watch_start_time_utc_millis";
4579    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/watched_program";
4580    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/watched_program";
4581    field public static final android.net.Uri CONTENT_URI;
4582  }
4583
4584  public final class TvInputHardwareInfo implements android.os.Parcelable {
4585    method public int describeContents();
4586    method public String getAudioAddress();
4587    method public int getAudioType();
4588    method public int getCableConnectionStatus();
4589    method public int getDeviceId();
4590    method public int getHdmiPortId();
4591    method public int getType();
4592    method public void readFromParcel(android.os.Parcel);
4593    method public void writeToParcel(android.os.Parcel, int);
4594    field public static final int CABLE_CONNECTION_STATUS_CONNECTED = 1; // 0x1
4595    field public static final int CABLE_CONNECTION_STATUS_DISCONNECTED = 2; // 0x2
4596    field public static final int CABLE_CONNECTION_STATUS_UNKNOWN = 0; // 0x0
4597    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvInputHardwareInfo> CREATOR;
4598    field public static final int TV_INPUT_TYPE_COMPONENT = 6; // 0x6
4599    field public static final int TV_INPUT_TYPE_COMPOSITE = 3; // 0x3
4600    field public static final int TV_INPUT_TYPE_DISPLAY_PORT = 10; // 0xa
4601    field public static final int TV_INPUT_TYPE_DVI = 8; // 0x8
4602    field public static final int TV_INPUT_TYPE_HDMI = 9; // 0x9
4603    field public static final int TV_INPUT_TYPE_OTHER_HARDWARE = 1; // 0x1
4604    field public static final int TV_INPUT_TYPE_SCART = 5; // 0x5
4605    field public static final int TV_INPUT_TYPE_SVIDEO = 4; // 0x4
4606    field public static final int TV_INPUT_TYPE_TUNER = 2; // 0x2
4607    field public static final int TV_INPUT_TYPE_VGA = 7; // 0x7
4608  }
4609
4610  public static final class TvInputHardwareInfo.Builder {
4611    ctor public TvInputHardwareInfo.Builder();
4612    method public android.media.tv.TvInputHardwareInfo.Builder audioAddress(String);
4613    method public android.media.tv.TvInputHardwareInfo.Builder audioType(int);
4614    method public android.media.tv.TvInputHardwareInfo build();
4615    method public android.media.tv.TvInputHardwareInfo.Builder cableConnectionStatus(int);
4616    method public android.media.tv.TvInputHardwareInfo.Builder deviceId(int);
4617    method public android.media.tv.TvInputHardwareInfo.Builder hdmiPortId(int);
4618    method public android.media.tv.TvInputHardwareInfo.Builder type(int);
4619  }
4620
4621  public final class TvInputInfo implements android.os.Parcelable {
4622    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;
4623    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;
4624    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;
4625    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;
4626    method public android.hardware.hdmi.HdmiDeviceInfo getHdmiDeviceInfo();
4627    method public boolean isConnectedToHdmiSwitch();
4628    method public boolean isHardwareInput();
4629    method public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.Context, int);
4630  }
4631
4632  public static final class TvInputInfo.Builder {
4633    method public android.media.tv.TvInputInfo.Builder setHdmiDeviceInfo(android.hardware.hdmi.HdmiDeviceInfo);
4634    method public android.media.tv.TvInputInfo.Builder setIcon(android.graphics.drawable.Icon);
4635    method public android.media.tv.TvInputInfo.Builder setIcon(android.graphics.drawable.Icon, int);
4636    method public android.media.tv.TvInputInfo.Builder setLabel(CharSequence);
4637    method public android.media.tv.TvInputInfo.Builder setLabel(@StringRes int);
4638    method public android.media.tv.TvInputInfo.Builder setParentId(String);
4639    method public android.media.tv.TvInputInfo.Builder setTvInputHardwareInfo(android.media.tv.TvInputHardwareInfo);
4640  }
4641
4642  public static final class TvInputInfo.TvInputSettings {
4643    method public static java.util.Map<java.lang.String,java.lang.String> getCustomLabels(android.content.Context, int);
4644    method public static java.util.Set<java.lang.String> getHiddenTvInputIds(android.content.Context, int);
4645    method public static void putCustomLabels(android.content.Context, java.util.Map<java.lang.String,java.lang.String>, int);
4646    method public static void putHiddenTvInputs(android.content.Context, java.util.Set<java.lang.String>, int);
4647  }
4648
4649  public final class TvInputManager {
4650    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);
4651    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);
4652    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void addBlockedRating(@NonNull android.media.tv.TvContentRating);
4653    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public boolean captureFrame(String, android.view.Surface, android.media.tv.TvStreamConfig);
4654    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public java.util.List<android.media.tv.TvStreamConfig> getAvailableTvStreamConfigList(String);
4655    method @NonNull @RequiresPermission("android.permission.DVB_DEVICE") public java.util.List<android.media.tv.DvbDeviceInfo> getDvbDeviceList();
4656    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public java.util.List<android.media.tv.TvInputHardwareInfo> getHardwareList();
4657    method @RequiresPermission(android.Manifest.permission.READ_CONTENT_RATING_SYSTEMS) public java.util.List<android.media.tv.TvContentRatingSystemInfo> getTvContentRatingSystemList();
4658    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public boolean isSingleSessionActive();
4659    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyPreviewProgramAddedToWatchNext(String, long, long);
4660    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyPreviewProgramBrowsableDisabled(String, long);
4661    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyWatchNextProgramBrowsableDisabled(String, long);
4662    method @Nullable @RequiresPermission("android.permission.DVB_DEVICE") public android.os.ParcelFileDescriptor openDvbDevice(@NonNull android.media.tv.DvbDeviceInfo, int);
4663    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public void releaseTvInputHardware(int, android.media.tv.TvInputManager.Hardware);
4664    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void removeBlockedRating(@NonNull android.media.tv.TvContentRating);
4665    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void setParentalControlsEnabled(boolean);
4666  }
4667
4668  public static final class TvInputManager.Hardware {
4669    method public void overrideAudioSink(int, String, int, int, int);
4670    method public void setStreamVolume(float);
4671    method public boolean setSurface(android.view.Surface, android.media.tv.TvStreamConfig);
4672  }
4673
4674  public abstract static class TvInputManager.HardwareCallback {
4675    ctor public TvInputManager.HardwareCallback();
4676    method public abstract void onReleased();
4677    method public abstract void onStreamConfigChanged(android.media.tv.TvStreamConfig[]);
4678  }
4679
4680  public abstract class TvInputService extends android.app.Service {
4681    method @Nullable public android.media.tv.TvInputInfo onHardwareAdded(android.media.tv.TvInputHardwareInfo);
4682    method @Nullable public String onHardwareRemoved(android.media.tv.TvInputHardwareInfo);
4683    method @Nullable public android.media.tv.TvInputInfo onHdmiDeviceAdded(android.hardware.hdmi.HdmiDeviceInfo);
4684    method @Nullable public String onHdmiDeviceRemoved(android.hardware.hdmi.HdmiDeviceInfo);
4685    method public void onHdmiDeviceUpdated(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
4686  }
4687
4688  public abstract static class TvInputService.RecordingSession {
4689    method public void notifySessionEvent(@NonNull String, android.os.Bundle);
4690  }
4691
4692  public abstract static class TvInputService.Session implements android.view.KeyEvent.Callback {
4693    method public void notifySessionEvent(@NonNull String, android.os.Bundle);
4694    method public void onSetMain(boolean);
4695  }
4696
4697  public abstract static class TvRecordingClient.RecordingCallback {
4698    method public void onEvent(String, String, android.os.Bundle);
4699  }
4700
4701  public class TvStreamConfig implements android.os.Parcelable {
4702    method public int describeContents();
4703    method public int getGeneration();
4704    method public int getMaxHeight();
4705    method public int getMaxWidth();
4706    method public int getStreamId();
4707    method public int getType();
4708    method public void writeToParcel(android.os.Parcel, int);
4709    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvStreamConfig> CREATOR;
4710    field public static final int STREAM_TYPE_BUFFER_PRODUCER = 2; // 0x2
4711    field public static final int STREAM_TYPE_INDEPENDENT_VIDEO_SOURCE = 1; // 0x1
4712  }
4713
4714  public static final class TvStreamConfig.Builder {
4715    ctor public TvStreamConfig.Builder();
4716    method public android.media.tv.TvStreamConfig build();
4717    method public android.media.tv.TvStreamConfig.Builder generation(int);
4718    method public android.media.tv.TvStreamConfig.Builder maxHeight(int);
4719    method public android.media.tv.TvStreamConfig.Builder maxWidth(int);
4720    method public android.media.tv.TvStreamConfig.Builder streamId(int);
4721    method public android.media.tv.TvStreamConfig.Builder type(int);
4722  }
4723
4724  public class TvView extends android.view.ViewGroup {
4725    method @RequiresPermission("android.permission.CHANGE_HDMI_CEC_ACTIVE_SOURCE") public void setMain();
4726    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void unblockContent(android.media.tv.TvContentRating);
4727  }
4728
4729  public abstract static class TvView.TvInputCallback {
4730    method public void onEvent(String, String, android.os.Bundle);
4731  }
4732
4733}
4734
4735package android.media.tv.tuner {
4736
4737  public class DemuxCapabilities {
4738    method public int getAudioFilterCount();
4739    method public int getDemuxCount();
4740    method public int getFilterCapabilities();
4741    method @NonNull @Size(5) public int[] getLinkCapabilities();
4742    method public int getPcrFilterCount();
4743    method public int getPesFilterCount();
4744    method public int getPlaybackCount();
4745    method public int getRecordCount();
4746    method public int getSectionFilterCount();
4747    method public long getSectionFilterLength();
4748    method public int getTsFilterCount();
4749    method public int getVideoFilterCount();
4750    method public boolean isTimeFilterSupported();
4751  }
4752
4753  public class Descrambler implements java.lang.AutoCloseable {
4754    method public int addPid(int, int, @Nullable android.media.tv.tuner.filter.Filter);
4755    method public void close();
4756    method public int removePid(int, int, @Nullable android.media.tv.tuner.filter.Filter);
4757    method public int setKeyToken(@NonNull byte[]);
4758    field public static final int PID_TYPE_MMTP = 2; // 0x2
4759    field public static final int PID_TYPE_T = 1; // 0x1
4760  }
4761
4762  public class Lnb implements java.lang.AutoCloseable {
4763    method public void close();
4764    method public int sendDiseqcMessage(@NonNull byte[]);
4765    method public int setSatellitePosition(int);
4766    method public int setTone(int);
4767    method public int setVoltage(int);
4768    field public static final int EVENT_TYPE_DISEQC_RX_OVERFLOW = 0; // 0x0
4769    field public static final int EVENT_TYPE_DISEQC_RX_PARITY_ERROR = 2; // 0x2
4770    field public static final int EVENT_TYPE_DISEQC_RX_TIMEOUT = 1; // 0x1
4771    field public static final int EVENT_TYPE_LNB_OVERLOAD = 3; // 0x3
4772    field public static final int POSITION_A = 1; // 0x1
4773    field public static final int POSITION_B = 2; // 0x2
4774    field public static final int POSITION_UNDEFINED = 0; // 0x0
4775    field public static final int TONE_CONTINUOUS = 1; // 0x1
4776    field public static final int TONE_NONE = 0; // 0x0
4777    field public static final int VOLTAGE_11V = 2; // 0x2
4778    field public static final int VOLTAGE_12V = 3; // 0x3
4779    field public static final int VOLTAGE_13V = 4; // 0x4
4780    field public static final int VOLTAGE_14V = 5; // 0x5
4781    field public static final int VOLTAGE_15V = 6; // 0x6
4782    field public static final int VOLTAGE_18V = 7; // 0x7
4783    field public static final int VOLTAGE_19V = 8; // 0x8
4784    field public static final int VOLTAGE_5V = 1; // 0x1
4785    field public static final int VOLTAGE_NONE = 0; // 0x0
4786  }
4787
4788  public interface LnbCallback {
4789    method public void onDiseqcMessage(@NonNull byte[]);
4790    method public void onEvent(int);
4791  }
4792
4793  public class Tuner implements java.lang.AutoCloseable {
4794    ctor @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public Tuner(@NonNull android.content.Context, @Nullable String, int);
4795    method public int cancelScanning();
4796    method public int cancelTuning();
4797    method public void clearOnTuneEventListener();
4798    method public void clearResourceLostListener();
4799    method public void close();
4800    method public int connectCiCam(int);
4801    method public int disconnectCiCam();
4802    method public int getAvSyncHwId(@NonNull android.media.tv.tuner.filter.Filter);
4803    method public long getAvSyncTime(int);
4804    method @Nullable public android.media.tv.tuner.DemuxCapabilities getDemuxCapabilities();
4805    method @Nullable public android.media.tv.tuner.frontend.FrontendInfo getFrontendInfo();
4806    method @Nullable public android.media.tv.tuner.frontend.FrontendStatus getFrontendStatus(@NonNull int[]);
4807    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_DESCRAMBLER) public android.media.tv.tuner.Descrambler openDescrambler();
4808    method @Nullable public android.media.tv.tuner.dvr.DvrPlayback openDvrPlayback(long, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.dvr.OnPlaybackStatusChangedListener);
4809    method @Nullable public android.media.tv.tuner.dvr.DvrRecorder openDvrRecorder(long, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.dvr.OnRecordStatusChangedListener);
4810    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);
4811    method @Nullable public android.media.tv.tuner.Lnb openLnb(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
4812    method @Nullable public android.media.tv.tuner.Lnb openLnbByName(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
4813    method @Nullable public android.media.tv.tuner.filter.TimeFilter openTimeFilter();
4814    method public int scan(@NonNull android.media.tv.tuner.frontend.FrontendSettings, int, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.ScanCallback);
4815    method public int setLnaEnabled(boolean);
4816    method public void setOnTuneEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.OnTuneEventListener);
4817    method public void setResourceLostListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.Tuner.OnResourceLostListener);
4818    method public void shareFrontendFromTuner(@NonNull android.media.tv.tuner.Tuner);
4819    method public int tune(@NonNull android.media.tv.tuner.frontend.FrontendSettings);
4820    method public void updateResourcePriority(int, int);
4821    field public static final int INVALID_AV_SYNC_ID = -1; // 0xffffffff
4822    field public static final int INVALID_FILTER_ID = -1; // 0xffffffff
4823    field public static final int INVALID_STREAM_ID = 65535; // 0xffff
4824    field public static final long INVALID_TIMESTAMP = -1L; // 0xffffffffffffffffL
4825    field public static final int INVALID_TS_PID = 65535; // 0xffff
4826    field public static final int RESULT_INVALID_ARGUMENT = 4; // 0x4
4827    field public static final int RESULT_INVALID_STATE = 3; // 0x3
4828    field public static final int RESULT_NOT_INITIALIZED = 2; // 0x2
4829    field public static final int RESULT_OUT_OF_MEMORY = 5; // 0x5
4830    field public static final int RESULT_SUCCESS = 0; // 0x0
4831    field public static final int RESULT_UNAVAILABLE = 1; // 0x1
4832    field public static final int RESULT_UNKNOWN_ERROR = 6; // 0x6
4833    field public static final int SCAN_TYPE_AUTO = 1; // 0x1
4834    field public static final int SCAN_TYPE_BLIND = 2; // 0x2
4835    field public static final int SCAN_TYPE_UNDEFINED = 0; // 0x0
4836  }
4837
4838  public static interface Tuner.OnResourceLostListener {
4839    method public void onResourceLost(@NonNull android.media.tv.tuner.Tuner);
4840  }
4841
4842}
4843
4844package android.media.tv.tuner.dvr {
4845
4846  public class DvrPlayback implements java.lang.AutoCloseable {
4847    method public int attachFilter(@NonNull android.media.tv.tuner.filter.Filter);
4848    method public void close();
4849    method public int configure(@NonNull android.media.tv.tuner.dvr.DvrSettings);
4850    method public int detachFilter(@NonNull android.media.tv.tuner.filter.Filter);
4851    method public int flush();
4852    method public long read(long);
4853    method public long read(@NonNull byte[], long, long);
4854    method public void setFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
4855    method public int start();
4856    method public int stop();
4857    field public static final int PLAYBACK_STATUS_ALMOST_EMPTY = 2; // 0x2
4858    field public static final int PLAYBACK_STATUS_ALMOST_FULL = 4; // 0x4
4859    field public static final int PLAYBACK_STATUS_EMPTY = 1; // 0x1
4860    field public static final int PLAYBACK_STATUS_FULL = 8; // 0x8
4861  }
4862
4863  public class DvrRecorder implements java.lang.AutoCloseable {
4864    method public int attachFilter(@NonNull android.media.tv.tuner.filter.Filter);
4865    method public void close();
4866    method public int configure(@NonNull android.media.tv.tuner.dvr.DvrSettings);
4867    method public int detachFilter(@NonNull android.media.tv.tuner.filter.Filter);
4868    method public int flush();
4869    method public void setFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
4870    method public int start();
4871    method public int stop();
4872    method public long write(long);
4873    method public long write(@NonNull byte[], long, long);
4874  }
4875
4876  public class DvrSettings {
4877    method @NonNull public static android.media.tv.tuner.dvr.DvrSettings.Builder builder();
4878    method public int getDataFormat();
4879    method public long getHighThreshold();
4880    method public long getLowThreshold();
4881    method public long getPacketSize();
4882    method public int getStatusMask();
4883    field public static final int DATA_FORMAT_ES = 2; // 0x2
4884    field public static final int DATA_FORMAT_PES = 1; // 0x1
4885    field public static final int DATA_FORMAT_SHV_TLV = 3; // 0x3
4886    field public static final int DATA_FORMAT_TS = 0; // 0x0
4887  }
4888
4889  public static final class DvrSettings.Builder {
4890    ctor public DvrSettings.Builder();
4891    method @NonNull public android.media.tv.tuner.dvr.DvrSettings build();
4892    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setDataFormat(int);
4893    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setHighThreshold(long);
4894    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setLowThreshold(long);
4895    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setPacketSize(long);
4896    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setStatusMask(int);
4897  }
4898
4899  public interface OnPlaybackStatusChangedListener {
4900    method public void onPlaybackStatusChanged(int);
4901  }
4902
4903  public interface OnRecordStatusChangedListener {
4904    method public void onRecordStatusChanged(int);
4905  }
4906
4907}
4908
4909package android.media.tv.tuner.filter {
4910
4911  public final class AlpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
4912    method @NonNull public static android.media.tv.tuner.filter.AlpFilterConfiguration.Builder builder();
4913    method public int getLengthType();
4914    method public int getPacketType();
4915    method public int getType();
4916    field public static final int LENGTH_TYPE_UNDEFINED = 0; // 0x0
4917    field public static final int LENGTH_TYPE_WITHOUT_ADDITIONAL_HEADER = 1; // 0x1
4918    field public static final int LENGTH_TYPE_WITH_ADDITIONAL_HEADER = 2; // 0x2
4919    field public static final int PACKET_TYPE_COMPRESSED = 2; // 0x2
4920    field public static final int PACKET_TYPE_EXTENSION = 6; // 0x6
4921    field public static final int PACKET_TYPE_IPV4 = 0; // 0x0
4922    field public static final int PACKET_TYPE_MPEG2_TS = 7; // 0x7
4923    field public static final int PACKET_TYPE_SIGNALING = 4; // 0x4
4924  }
4925
4926  public static final class AlpFilterConfiguration.Builder {
4927    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration build();
4928    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setLengthType(int);
4929    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setPacketType(int);
4930    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
4931  }
4932
4933  public class AudioDescriptor {
4934    method public byte getAdFade();
4935    method public byte getAdGainCenter();
4936    method public byte getAdGainFront();
4937    method public byte getAdGainSurround();
4938    method public byte getAdPan();
4939    method public char getAdVersionTextTag();
4940  }
4941
4942  public class AvSettings extends android.media.tv.tuner.filter.Settings {
4943    method @NonNull public static android.media.tv.tuner.filter.AvSettings.Builder builder(int, boolean);
4944    method public boolean isPassthrough();
4945  }
4946
4947  public static class AvSettings.Builder {
4948    method @NonNull public android.media.tv.tuner.filter.AvSettings build();
4949    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setPassthrough(boolean);
4950  }
4951
4952  public class DownloadEvent extends android.media.tv.tuner.filter.FilterEvent {
4953    method public int getDataLength();
4954    method public int getItemFragmentIndex();
4955    method public int getItemId();
4956    method public int getLastItemFragmentIndex();
4957    method public int getMpuSequenceNumber();
4958  }
4959
4960  public class DownloadSettings extends android.media.tv.tuner.filter.Settings {
4961    method @NonNull public static android.media.tv.tuner.filter.DownloadSettings.Builder builder(int);
4962    method public int getDownloadId();
4963  }
4964
4965  public static class DownloadSettings.Builder {
4966    method @NonNull public android.media.tv.tuner.filter.DownloadSettings build();
4967    method @NonNull public android.media.tv.tuner.filter.DownloadSettings.Builder setDownloadId(int);
4968  }
4969
4970  public class Filter implements java.lang.AutoCloseable {
4971    method public void close();
4972    method public int configure(@NonNull android.media.tv.tuner.filter.FilterConfiguration);
4973    method public int flush();
4974    method public int getId();
4975    method public int read(@NonNull byte[], long, long);
4976    method public int setDataSource(@Nullable android.media.tv.tuner.filter.Filter);
4977    method public int start();
4978    method public int stop();
4979    field public static final int STATUS_DATA_READY = 1; // 0x1
4980    field public static final int STATUS_HIGH_WATER = 4; // 0x4
4981    field public static final int STATUS_LOW_WATER = 2; // 0x2
4982    field public static final int STATUS_OVERFLOW = 8; // 0x8
4983    field public static final int SUBTYPE_AUDIO = 3; // 0x3
4984    field public static final int SUBTYPE_DOWNLOAD = 5; // 0x5
4985    field public static final int SUBTYPE_IP = 13; // 0xd
4986    field public static final int SUBTYPE_IP_PAYLOAD = 12; // 0xc
4987    field public static final int SUBTYPE_MMTP = 10; // 0xa
4988    field public static final int SUBTYPE_NTP = 11; // 0xb
4989    field public static final int SUBTYPE_PAYLOAD_THROUGH = 14; // 0xe
4990    field public static final int SUBTYPE_PCR = 8; // 0x8
4991    field public static final int SUBTYPE_PES = 2; // 0x2
4992    field public static final int SUBTYPE_PTP = 16; // 0x10
4993    field public static final int SUBTYPE_RECORD = 6; // 0x6
4994    field public static final int SUBTYPE_SECTION = 1; // 0x1
4995    field public static final int SUBTYPE_TEMI = 9; // 0x9
4996    field public static final int SUBTYPE_TLV = 15; // 0xf
4997    field public static final int SUBTYPE_TS = 7; // 0x7
4998    field public static final int SUBTYPE_UNDEFINED = 0; // 0x0
4999    field public static final int SUBTYPE_VIDEO = 4; // 0x4
5000    field public static final int TYPE_ALP = 16; // 0x10
5001    field public static final int TYPE_IP = 4; // 0x4
5002    field public static final int TYPE_MMTP = 2; // 0x2
5003    field public static final int TYPE_TLV = 8; // 0x8
5004    field public static final int TYPE_TS = 1; // 0x1
5005    field public static final int TYPE_UNDEFINED = 0; // 0x0
5006  }
5007
5008  public interface FilterCallback {
5009    method public void onFilterEvent(@NonNull android.media.tv.tuner.filter.Filter, @NonNull android.media.tv.tuner.filter.FilterEvent[]);
5010    method public void onFilterStatusChanged(@NonNull android.media.tv.tuner.filter.Filter, int);
5011  }
5012
5013  public abstract class FilterConfiguration {
5014    method @Nullable public android.media.tv.tuner.filter.Settings getSettings();
5015    method public abstract int getType();
5016  }
5017
5018  public abstract class FilterEvent {
5019    ctor public FilterEvent();
5020  }
5021
5022  public final class IpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
5023    method @NonNull public static android.media.tv.tuner.filter.IpFilterConfiguration.Builder builder();
5024    method @NonNull @Size(min=4, max=16) public byte[] getDstIpAddress();
5025    method public int getDstPort();
5026    method @NonNull @Size(min=4, max=16) public byte[] getSrcIpAddress();
5027    method public int getSrcPort();
5028    method public int getType();
5029    method public boolean isPassthrough();
5030  }
5031
5032  public static final class IpFilterConfiguration.Builder {
5033    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration build();
5034    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setDstIpAddress(@NonNull byte[]);
5035    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setDstPort(int);
5036    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setPassthrough(boolean);
5037    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
5038    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSrcIpAddress(@NonNull byte[]);
5039    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSrcPort(int);
5040  }
5041
5042  public class IpPayloadEvent extends android.media.tv.tuner.filter.FilterEvent {
5043    method public int getDataLength();
5044  }
5045
5046  public class MediaEvent extends android.media.tv.tuner.filter.FilterEvent {
5047    method public long getAudioHandle();
5048    method public long getAvDataId();
5049    method public long getDataLength();
5050    method @Nullable public android.media.tv.tuner.filter.AudioDescriptor getExtraMetaData();
5051    method @Nullable public android.media.MediaCodec.LinearBlock getLinearBlock();
5052    method public int getMpuSequenceNumber();
5053    method public long getOffset();
5054    method public long getPts();
5055    method public int getStreamId();
5056    method public boolean isPrivateData();
5057    method public boolean isPtsPresent();
5058    method public boolean isSecureMemory();
5059  }
5060
5061  public final class MmtpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
5062    method @NonNull public static android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder builder();
5063    method public int getMmtpPacketId();
5064    method public int getType();
5065  }
5066
5067  public static final class MmtpFilterConfiguration.Builder {
5068    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration build();
5069    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder setMmtpPacketId(int);
5070    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
5071  }
5072
5073  public class MmtpRecordEvent extends android.media.tv.tuner.filter.FilterEvent {
5074    method public long getDataLength();
5075    method public int getScHevcIndexMask();
5076  }
5077
5078  public class PesEvent extends android.media.tv.tuner.filter.FilterEvent {
5079    method public int getDataLength();
5080    method public int getMpuSequenceNumber();
5081    method public int getStreamId();
5082  }
5083
5084  public class PesSettings extends android.media.tv.tuner.filter.Settings {
5085    method @NonNull public static android.media.tv.tuner.filter.PesSettings.Builder builder(int);
5086    method public int getStreamId();
5087    method public boolean isRaw();
5088  }
5089
5090  public static class PesSettings.Builder {
5091    method @NonNull public android.media.tv.tuner.filter.PesSettings build();
5092    method @NonNull public android.media.tv.tuner.filter.PesSettings.Builder setRaw(boolean);
5093    method @NonNull public android.media.tv.tuner.filter.PesSettings.Builder setStreamId(int);
5094  }
5095
5096  public class RecordSettings extends android.media.tv.tuner.filter.Settings {
5097    method @NonNull public static android.media.tv.tuner.filter.RecordSettings.Builder builder(int);
5098    method public int getScIndexMask();
5099    method public int getScIndexType();
5100    method public int getTsIndexMask();
5101    field public static final int INDEX_TYPE_NONE = 0; // 0x0
5102    field public static final int INDEX_TYPE_SC = 1; // 0x1
5103    field public static final int INDEX_TYPE_SC_HEVC = 2; // 0x2
5104    field public static final int SC_HEVC_INDEX_AUD = 2; // 0x2
5105    field public static final int SC_HEVC_INDEX_SLICE_BLA_N_LP = 16; // 0x10
5106    field public static final int SC_HEVC_INDEX_SLICE_BLA_W_RADL = 8; // 0x8
5107    field public static final int SC_HEVC_INDEX_SLICE_CE_BLA_W_LP = 4; // 0x4
5108    field public static final int SC_HEVC_INDEX_SLICE_IDR_N_LP = 64; // 0x40
5109    field public static final int SC_HEVC_INDEX_SLICE_IDR_W_RADL = 32; // 0x20
5110    field public static final int SC_HEVC_INDEX_SLICE_TRAIL_CRA = 128; // 0x80
5111    field public static final int SC_HEVC_INDEX_SPS = 1; // 0x1
5112    field public static final int SC_INDEX_B_FRAME = 4; // 0x4
5113    field public static final int SC_INDEX_I_FRAME = 1; // 0x1
5114    field public static final int SC_INDEX_P_FRAME = 2; // 0x2
5115    field public static final int SC_INDEX_SEQUENCE = 8; // 0x8
5116    field public static final int TS_INDEX_ADAPTATION_EXTENSION_FLAG = 4096; // 0x1000
5117    field public static final int TS_INDEX_CHANGE_TO_EVEN_SCRAMBLED = 8; // 0x8
5118    field public static final int TS_INDEX_CHANGE_TO_NOT_SCRAMBLED = 4; // 0x4
5119    field public static final int TS_INDEX_CHANGE_TO_ODD_SCRAMBLED = 16; // 0x10
5120    field public static final int TS_INDEX_DISCONTINUITY_INDICATOR = 32; // 0x20
5121    field public static final int TS_INDEX_FIRST_PACKET = 1; // 0x1
5122    field public static final int TS_INDEX_OPCR_FLAG = 512; // 0x200
5123    field public static final int TS_INDEX_PAYLOAD_UNIT_START_INDICATOR = 2; // 0x2
5124    field public static final int TS_INDEX_PCR_FLAG = 256; // 0x100
5125    field public static final int TS_INDEX_PRIORITY_INDICATOR = 128; // 0x80
5126    field public static final int TS_INDEX_PRIVATE_DATA = 2048; // 0x800
5127    field public static final int TS_INDEX_RANDOM_ACCESS_INDICATOR = 64; // 0x40
5128    field public static final int TS_INDEX_SPLICING_POINT_FLAG = 1024; // 0x400
5129  }
5130
5131  public static class RecordSettings.Builder {
5132    method @NonNull public android.media.tv.tuner.filter.RecordSettings build();
5133    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setScIndexMask(int);
5134    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setScIndexType(int);
5135    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setTsIndexMask(int);
5136  }
5137
5138  public class SectionEvent extends android.media.tv.tuner.filter.FilterEvent {
5139    method public int getDataLength();
5140    method public int getSectionNumber();
5141    method public int getTableId();
5142    method public int getVersion();
5143  }
5144
5145  public abstract class SectionSettings extends android.media.tv.tuner.filter.Settings {
5146    method public boolean isCrcEnabled();
5147    method public boolean isRaw();
5148    method public boolean isRepeat();
5149  }
5150
5151  public abstract static class SectionSettings.Builder<T extends android.media.tv.tuner.filter.SectionSettings.Builder<T>> {
5152    method @NonNull public T setCrcEnabled(boolean);
5153    method @NonNull public T setRaw(boolean);
5154    method @NonNull public T setRepeat(boolean);
5155  }
5156
5157  public class SectionSettingsWithSectionBits extends android.media.tv.tuner.filter.SectionSettings {
5158    method @NonNull public static android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder builder(int);
5159    method @NonNull public byte[] getFilterBytes();
5160    method @NonNull public byte[] getMask();
5161    method @NonNull public byte[] getMode();
5162  }
5163
5164  public static class SectionSettingsWithSectionBits.Builder extends android.media.tv.tuner.filter.SectionSettings.Builder<android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder> {
5165    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits build();
5166    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setFilter(@NonNull byte[]);
5167    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setMask(@NonNull byte[]);
5168    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setMode(@NonNull byte[]);
5169  }
5170
5171  public class SectionSettingsWithTableInfo extends android.media.tv.tuner.filter.SectionSettings {
5172    method @NonNull public static android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder builder(int);
5173    method public int getTableId();
5174    method public int getVersion();
5175  }
5176
5177  public static class SectionSettingsWithTableInfo.Builder extends android.media.tv.tuner.filter.SectionSettings.Builder<android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder> {
5178    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo build();
5179    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder setTableId(int);
5180    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder setVersion(int);
5181  }
5182
5183  public abstract class Settings {
5184    method public int getType();
5185  }
5186
5187  public class TemiEvent extends android.media.tv.tuner.filter.FilterEvent {
5188    method @NonNull public byte[] getDescriptorData();
5189    method public byte getDescriptorTag();
5190    method public long getPts();
5191  }
5192
5193  public class TimeFilter implements java.lang.AutoCloseable {
5194    method public int clearTimestamp();
5195    method public void close();
5196    method public long getSourceTime();
5197    method public long getTimeStamp();
5198    method public int setCurrentTimestamp(long);
5199  }
5200
5201  public final class TlvFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
5202    method @NonNull public static android.media.tv.tuner.filter.TlvFilterConfiguration.Builder builder();
5203    method public int getPacketType();
5204    method public int getType();
5205    method public boolean isCompressedIpPacket();
5206    method public boolean isPassthrough();
5207    field public static final int PACKET_TYPE_COMPRESSED = 3; // 0x3
5208    field public static final int PACKET_TYPE_IPV4 = 1; // 0x1
5209    field public static final int PACKET_TYPE_IPV6 = 2; // 0x2
5210    field public static final int PACKET_TYPE_NULL = 255; // 0xff
5211    field public static final int PACKET_TYPE_SIGNALING = 254; // 0xfe
5212  }
5213
5214  public static final class TlvFilterConfiguration.Builder {
5215    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration build();
5216    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setCompressedIpPacket(boolean);
5217    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setPacketType(int);
5218    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setPassthrough(boolean);
5219    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
5220  }
5221
5222  public final class TsFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
5223    method @NonNull public static android.media.tv.tuner.filter.TsFilterConfiguration.Builder builder();
5224    method public int getTpid();
5225    method public int getType();
5226  }
5227
5228  public static final class TsFilterConfiguration.Builder {
5229    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration build();
5230    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
5231    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration.Builder setTpid(int);
5232  }
5233
5234  public class TsRecordEvent extends android.media.tv.tuner.filter.FilterEvent {
5235    method public long getDataLength();
5236    method public int getPacketId();
5237    method public int getScIndexMask();
5238    method public int getTsIndexMask();
5239  }
5240
5241}
5242
5243package android.media.tv.tuner.frontend {
5244
5245  public class AnalogFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
5246    method public int getSifStandardCapability();
5247    method public int getSignalTypeCapability();
5248  }
5249
5250  public class AnalogFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
5251    method @NonNull public static android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder builder();
5252    method public int getSifStandard();
5253    method public int getSignalType();
5254    method public int getType();
5255    field public static final int SIF_AUTO = 1; // 0x1
5256    field public static final int SIF_BG = 2; // 0x2
5257    field public static final int SIF_BG_A2 = 4; // 0x4
5258    field public static final int SIF_BG_NICAM = 8; // 0x8
5259    field public static final int SIF_DK = 32; // 0x20
5260    field public static final int SIF_DK1_A2 = 64; // 0x40
5261    field public static final int SIF_DK2_A2 = 128; // 0x80
5262    field public static final int SIF_DK3_A2 = 256; // 0x100
5263    field public static final int SIF_DK_NICAM = 512; // 0x200
5264    field public static final int SIF_I = 16; // 0x10
5265    field public static final int SIF_I_NICAM = 32768; // 0x8000
5266    field public static final int SIF_L = 1024; // 0x400
5267    field public static final int SIF_L_NICAM = 65536; // 0x10000
5268    field public static final int SIF_L_PRIME = 131072; // 0x20000
5269    field public static final int SIF_M = 2048; // 0x800
5270    field public static final int SIF_M_A2 = 8192; // 0x2000
5271    field public static final int SIF_M_BTSC = 4096; // 0x1000
5272    field public static final int SIF_M_EIAJ = 16384; // 0x4000
5273    field public static final int SIF_UNDEFINED = 0; // 0x0
5274    field public static final int SIGNAL_TYPE_AUTO = 1; // 0x1
5275    field public static final int SIGNAL_TYPE_NTSC = 32; // 0x20
5276    field public static final int SIGNAL_TYPE_NTSC_443 = 64; // 0x40
5277    field public static final int SIGNAL_TYPE_PAL = 2; // 0x2
5278    field public static final int SIGNAL_TYPE_PAL_60 = 16; // 0x10
5279    field public static final int SIGNAL_TYPE_PAL_M = 4; // 0x4
5280    field public static final int SIGNAL_TYPE_PAL_N = 8; // 0x8
5281    field public static final int SIGNAL_TYPE_SECAM = 128; // 0x80
5282    field public static final int SIGNAL_TYPE_UNDEFINED = 0; // 0x0
5283  }
5284
5285  public static class AnalogFrontendSettings.Builder {
5286    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings build();
5287    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setFrequency(int);
5288    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setSifStandard(int);
5289    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setSignalType(int);
5290  }
5291
5292  public class Atsc3FrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
5293    method public int getBandwidthCapability();
5294    method public int getDemodOutputFormatCapability();
5295    method public int getFecCapability();
5296    method public int getModulationCapability();
5297    method public int getPlpCodeRateCapability();
5298    method public int getTimeInterleaveModeCapability();
5299  }
5300
5301  public class Atsc3FrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
5302    method @NonNull public static android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder builder();
5303    method public int getBandwidth();
5304    method public int getDemodOutputFormat();
5305    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings[] getPlpSettings();
5306    method public int getType();
5307    field public static final int BANDWIDTH_AUTO = 1; // 0x1
5308    field public static final int BANDWIDTH_BANDWIDTH_6MHZ = 2; // 0x2
5309    field public static final int BANDWIDTH_BANDWIDTH_7MHZ = 4; // 0x4
5310    field public static final int BANDWIDTH_BANDWIDTH_8MHZ = 8; // 0x8
5311    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
5312    field public static final int CODERATE_10_15 = 512; // 0x200
5313    field public static final int CODERATE_11_15 = 1024; // 0x400
5314    field public static final int CODERATE_12_15 = 2048; // 0x800
5315    field public static final int CODERATE_13_15 = 4096; // 0x1000
5316    field public static final int CODERATE_2_15 = 2; // 0x2
5317    field public static final int CODERATE_3_15 = 4; // 0x4
5318    field public static final int CODERATE_4_15 = 8; // 0x8
5319    field public static final int CODERATE_5_15 = 16; // 0x10
5320    field public static final int CODERATE_6_15 = 32; // 0x20
5321    field public static final int CODERATE_7_15 = 64; // 0x40
5322    field public static final int CODERATE_8_15 = 128; // 0x80
5323    field public static final int CODERATE_9_15 = 256; // 0x100
5324    field public static final int CODERATE_AUTO = 1; // 0x1
5325    field public static final int CODERATE_UNDEFINED = 0; // 0x0
5326    field public static final int DEMOD_OUTPUT_FORMAT_ATSC3_LINKLAYER_PACKET = 1; // 0x1
5327    field public static final int DEMOD_OUTPUT_FORMAT_BASEBAND_PACKET = 2; // 0x2
5328    field public static final int DEMOD_OUTPUT_FORMAT_UNDEFINED = 0; // 0x0
5329    field public static final int FEC_AUTO = 1; // 0x1
5330    field public static final int FEC_BCH_LDPC_16K = 2; // 0x2
5331    field public static final int FEC_BCH_LDPC_64K = 4; // 0x4
5332    field public static final int FEC_CRC_LDPC_16K = 8; // 0x8
5333    field public static final int FEC_CRC_LDPC_64K = 16; // 0x10
5334    field public static final int FEC_LDPC_16K = 32; // 0x20
5335    field public static final int FEC_LDPC_64K = 64; // 0x40
5336    field public static final int FEC_UNDEFINED = 0; // 0x0
5337    field public static final int MODULATION_AUTO = 1; // 0x1
5338    field public static final int MODULATION_MOD_1024QAM = 32; // 0x20
5339    field public static final int MODULATION_MOD_16QAM = 4; // 0x4
5340    field public static final int MODULATION_MOD_256QAM = 16; // 0x10
5341    field public static final int MODULATION_MOD_4096QAM = 64; // 0x40
5342    field public static final int MODULATION_MOD_64QAM = 8; // 0x8
5343    field public static final int MODULATION_MOD_QPSK = 2; // 0x2
5344    field public static final int MODULATION_UNDEFINED = 0; // 0x0
5345    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
5346    field public static final int TIME_INTERLEAVE_MODE_CTI = 2; // 0x2
5347    field public static final int TIME_INTERLEAVE_MODE_HTI = 4; // 0x4
5348    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
5349  }
5350
5351  public static class Atsc3FrontendSettings.Builder {
5352    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings build();
5353    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setBandwidth(int);
5354    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setDemodOutputFormat(int);
5355    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setFrequency(int);
5356    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setPlpSettings(@NonNull android.media.tv.tuner.frontend.Atsc3PlpSettings[]);
5357  }
5358
5359  public class Atsc3PlpInfo {
5360    method public boolean getLlsFlag();
5361    method public int getPlpId();
5362  }
5363
5364  public class Atsc3PlpSettings {
5365    method @NonNull public static android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder builder();
5366    method public int getCodeRate();
5367    method public int getFec();
5368    method public int getInterleaveMode();
5369    method public int getModulation();
5370    method public int getPlpId();
5371  }
5372
5373  public static class Atsc3PlpSettings.Builder {
5374    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings build();
5375    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setCodeRate(int);
5376    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setFec(int);
5377    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setInterleaveMode(int);
5378    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setModulation(int);
5379    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setPlpId(int);
5380  }
5381
5382  public class AtscFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
5383    method public int getModulationCapability();
5384  }
5385
5386  public class AtscFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
5387    method @NonNull public static android.media.tv.tuner.frontend.AtscFrontendSettings.Builder builder();
5388    method public int getModulation();
5389    method public int getType();
5390    field public static final int MODULATION_AUTO = 1; // 0x1
5391    field public static final int MODULATION_MOD_16VSB = 8; // 0x8
5392    field public static final int MODULATION_MOD_8VSB = 4; // 0x4
5393    field public static final int MODULATION_UNDEFINED = 0; // 0x0
5394  }
5395
5396  public static class AtscFrontendSettings.Builder {
5397    method @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings build();
5398    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setFrequency(int);
5399    method @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setModulation(int);
5400  }
5401
5402  public class DvbcFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
5403    method public int getAnnexCapability();
5404    method public int getFecCapability();
5405    method public int getModulationCapability();
5406  }
5407
5408  public class DvbcFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
5409    method @NonNull public static android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder builder();
5410    method public int getAnnex();
5411    method public long getInnerFec();
5412    method public int getModulation();
5413    method public int getOuterFec();
5414    method public int getSpectralInversion();
5415    method public int getSymbolRate();
5416    method public int getType();
5417    field public static final int ANNEX_A = 1; // 0x1
5418    field public static final int ANNEX_B = 2; // 0x2
5419    field public static final int ANNEX_C = 4; // 0x4
5420    field public static final int ANNEX_UNDEFINED = 0; // 0x0
5421    field public static final int MODULATION_AUTO = 1; // 0x1
5422    field public static final int MODULATION_MOD_128QAM = 16; // 0x10
5423    field public static final int MODULATION_MOD_16QAM = 2; // 0x2
5424    field public static final int MODULATION_MOD_256QAM = 32; // 0x20
5425    field public static final int MODULATION_MOD_32QAM = 4; // 0x4
5426    field public static final int MODULATION_MOD_64QAM = 8; // 0x8
5427    field public static final int MODULATION_UNDEFINED = 0; // 0x0
5428    field public static final int OUTER_FEC_OUTER_FEC_NONE = 1; // 0x1
5429    field public static final int OUTER_FEC_OUTER_FEC_RS = 2; // 0x2
5430    field public static final int OUTER_FEC_UNDEFINED = 0; // 0x0
5431    field public static final int SPECTRAL_INVERSION_INVERTED = 2; // 0x2
5432    field public static final int SPECTRAL_INVERSION_NORMAL = 1; // 0x1
5433    field public static final int SPECTRAL_INVERSION_UNDEFINED = 0; // 0x0
5434  }
5435
5436  public static class DvbcFrontendSettings.Builder {
5437    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings build();
5438    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setAnnex(int);
5439    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setFrequency(int);
5440    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setInnerFec(long);
5441    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setModulation(int);
5442    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setOuterFec(int);
5443    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setSpectralInversion(int);
5444    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setSymbolRate(int);
5445  }
5446
5447  public class DvbsCodeRate {
5448    method @NonNull public static android.media.tv.tuner.frontend.DvbsCodeRate.Builder builder();
5449    method public int getBitsPer1000Symbol();
5450    method public long getInnerFec();
5451    method public boolean isLinear();
5452    method public boolean isShortFrameEnabled();
5453  }
5454
5455  public static class DvbsCodeRate.Builder {
5456    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate build();
5457    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setBitsPer1000Symbol(int);
5458    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setInnerFec(long);
5459    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setLinear(boolean);
5460    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setShortFrameEnabled(boolean);
5461  }
5462
5463  public class DvbsFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
5464    method public long getInnerFecCapability();
5465    method public int getModulationCapability();
5466    method public int getStandardCapability();
5467  }
5468
5469  public class DvbsFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
5470    method @NonNull public static android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder builder();
5471    method @Nullable public android.media.tv.tuner.frontend.DvbsCodeRate getCodeRate();
5472    method public int getInputStreamId();
5473    method public int getModulation();
5474    method public int getPilot();
5475    method public int getRolloff();
5476    method public int getStandard();
5477    method public int getSymbolRate();
5478    method public int getType();
5479    method public int getVcmMode();
5480    field public static final int MODULATION_AUTO = 1; // 0x1
5481    field public static final int MODULATION_MOD_128APSK = 2048; // 0x800
5482    field public static final int MODULATION_MOD_16APSK = 256; // 0x100
5483    field public static final int MODULATION_MOD_16PSK = 16; // 0x10
5484    field public static final int MODULATION_MOD_16QAM = 8; // 0x8
5485    field public static final int MODULATION_MOD_256APSK = 4096; // 0x1000
5486    field public static final int MODULATION_MOD_32APSK = 512; // 0x200
5487    field public static final int MODULATION_MOD_32PSK = 32; // 0x20
5488    field public static final int MODULATION_MOD_64APSK = 1024; // 0x400
5489    field public static final int MODULATION_MOD_8APSK = 128; // 0x80
5490    field public static final int MODULATION_MOD_8PSK = 4; // 0x4
5491    field public static final int MODULATION_MOD_ACM = 64; // 0x40
5492    field public static final int MODULATION_MOD_QPSK = 2; // 0x2
5493    field public static final int MODULATION_MOD_RESERVED = 8192; // 0x2000
5494    field public static final int MODULATION_UNDEFINED = 0; // 0x0
5495    field public static final int PILOT_AUTO = 3; // 0x3
5496    field public static final int PILOT_OFF = 2; // 0x2
5497    field public static final int PILOT_ON = 1; // 0x1
5498    field public static final int PILOT_UNDEFINED = 0; // 0x0
5499    field public static final int ROLLOFF_0_10 = 5; // 0x5
5500    field public static final int ROLLOFF_0_15 = 4; // 0x4
5501    field public static final int ROLLOFF_0_20 = 3; // 0x3
5502    field public static final int ROLLOFF_0_25 = 2; // 0x2
5503    field public static final int ROLLOFF_0_35 = 1; // 0x1
5504    field public static final int ROLLOFF_0_5 = 6; // 0x6
5505    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
5506    field public static final int STANDARD_AUTO = 1; // 0x1
5507    field public static final int STANDARD_S = 2; // 0x2
5508    field public static final int STANDARD_S2 = 4; // 0x4
5509    field public static final int STANDARD_S2X = 8; // 0x8
5510    field public static final int VCM_MODE_AUTO = 1; // 0x1
5511    field public static final int VCM_MODE_MANUAL = 2; // 0x2
5512    field public static final int VCM_MODE_UNDEFINED = 0; // 0x0
5513  }
5514
5515  public static class DvbsFrontendSettings.Builder {
5516    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings build();
5517    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setCodeRate(@Nullable android.media.tv.tuner.frontend.DvbsCodeRate);
5518    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setFrequency(int);
5519    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setInputStreamId(int);
5520    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setModulation(int);
5521    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setPilot(int);
5522    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setRolloff(int);
5523    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setStandard(int);
5524    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setSymbolRate(int);
5525    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setVcmMode(int);
5526  }
5527
5528  public class DvbtFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
5529    method public int getBandwidthCapability();
5530    method public int getCodeRateCapability();
5531    method public int getConstellationCapability();
5532    method public int getGuardIntervalCapability();
5533    method public int getHierarchyCapability();
5534    method public int getTransmissionModeCapability();
5535    method public boolean isMisoSupported();
5536    method public boolean isT2Supported();
5537  }
5538
5539  public class DvbtFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
5540    method @NonNull public static android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder builder();
5541    method public int getBandwidth();
5542    method public int getConstellation();
5543    method public int getGuardInterval();
5544    method public int getHierarchy();
5545    method public int getHighPriorityCodeRate();
5546    method public int getLowPriorityCodeRate();
5547    method public int getPlpGroupId();
5548    method public int getPlpId();
5549    method public int getPlpMode();
5550    method public int getStandard();
5551    method public int getTransmissionMode();
5552    method public int getType();
5553    method public boolean isHighPriority();
5554    method public boolean isMiso();
5555    field public static final int BANDWIDTH_10MHZ = 64; // 0x40
5556    field public static final int BANDWIDTH_1_7MHZ = 32; // 0x20
5557    field public static final int BANDWIDTH_5MHZ = 16; // 0x10
5558    field public static final int BANDWIDTH_6MHZ = 8; // 0x8
5559    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
5560    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
5561    field public static final int BANDWIDTH_AUTO = 1; // 0x1
5562    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
5563    field public static final int CODERATE_1_2 = 2; // 0x2
5564    field public static final int CODERATE_2_3 = 4; // 0x4
5565    field public static final int CODERATE_3_4 = 8; // 0x8
5566    field public static final int CODERATE_3_5 = 64; // 0x40
5567    field public static final int CODERATE_4_5 = 128; // 0x80
5568    field public static final int CODERATE_5_6 = 16; // 0x10
5569    field public static final int CODERATE_6_7 = 256; // 0x100
5570    field public static final int CODERATE_7_8 = 32; // 0x20
5571    field public static final int CODERATE_8_9 = 512; // 0x200
5572    field public static final int CODERATE_AUTO = 1; // 0x1
5573    field public static final int CODERATE_UNDEFINED = 0; // 0x0
5574    field public static final int CONSTELLATION_16QAM = 4; // 0x4
5575    field public static final int CONSTELLATION_256QAM = 16; // 0x10
5576    field public static final int CONSTELLATION_64QAM = 8; // 0x8
5577    field public static final int CONSTELLATION_AUTO = 1; // 0x1
5578    field public static final int CONSTELLATION_QPSK = 2; // 0x2
5579    field public static final int CONSTELLATION_UNDEFINED = 0; // 0x0
5580    field public static final int GUARD_INTERVAL_19_128 = 64; // 0x40
5581    field public static final int GUARD_INTERVAL_19_256 = 128; // 0x80
5582    field public static final int GUARD_INTERVAL_1_128 = 32; // 0x20
5583    field public static final int GUARD_INTERVAL_1_16 = 4; // 0x4
5584    field public static final int GUARD_INTERVAL_1_32 = 2; // 0x2
5585    field public static final int GUARD_INTERVAL_1_4 = 16; // 0x10
5586    field public static final int GUARD_INTERVAL_1_8 = 8; // 0x8
5587    field public static final int GUARD_INTERVAL_AUTO = 1; // 0x1
5588    field public static final int GUARD_INTERVAL_UNDEFINED = 0; // 0x0
5589    field public static final int HIERARCHY_1_INDEPTH = 64; // 0x40
5590    field public static final int HIERARCHY_1_NATIVE = 4; // 0x4
5591    field public static final int HIERARCHY_2_INDEPTH = 128; // 0x80
5592    field public static final int HIERARCHY_2_NATIVE = 8; // 0x8
5593    field public static final int HIERARCHY_4_INDEPTH = 256; // 0x100
5594    field public static final int HIERARCHY_4_NATIVE = 16; // 0x10
5595    field public static final int HIERARCHY_AUTO = 1; // 0x1
5596    field public static final int HIERARCHY_NON_INDEPTH = 32; // 0x20
5597    field public static final int HIERARCHY_NON_NATIVE = 2; // 0x2
5598    field public static final int HIERARCHY_UNDEFINED = 0; // 0x0
5599    field public static final int PLP_MODE_AUTO = 1; // 0x1
5600    field public static final int PLP_MODE_MANUAL = 2; // 0x2
5601    field public static final int PLP_MODE_UNDEFINED = 0; // 0x0
5602    field public static final int STANDARD_AUTO = 1; // 0x1
5603    field public static final int STANDARD_T = 2; // 0x2
5604    field public static final int STANDARD_T2 = 4; // 0x4
5605    field public static final int TRANSMISSION_MODE_16K = 32; // 0x20
5606    field public static final int TRANSMISSION_MODE_1K = 16; // 0x10
5607    field public static final int TRANSMISSION_MODE_2K = 2; // 0x2
5608    field public static final int TRANSMISSION_MODE_32K = 64; // 0x40
5609    field public static final int TRANSMISSION_MODE_4K = 8; // 0x8
5610    field public static final int TRANSMISSION_MODE_8K = 4; // 0x4
5611    field public static final int TRANSMISSION_MODE_AUTO = 1; // 0x1
5612    field public static final int TRANSMISSION_MODE_UNDEFINED = 0; // 0x0
5613  }
5614
5615  public static class DvbtFrontendSettings.Builder {
5616    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings build();
5617    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setBandwidth(int);
5618    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setConstellation(int);
5619    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setFrequency(int);
5620    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setGuardInterval(int);
5621    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHierarchy(int);
5622    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHighPriority(boolean);
5623    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHighPriorityCodeRate(int);
5624    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setLowPriorityCodeRate(int);
5625    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setMiso(boolean);
5626    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpGroupId(int);
5627    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpId(int);
5628    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpMode(int);
5629    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setStandard(int);
5630    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setTransmissionMode(int);
5631  }
5632
5633  public abstract class FrontendCapabilities {
5634    ctor public FrontendCapabilities();
5635  }
5636
5637  public class FrontendInfo {
5638    method public int getAcquireRange();
5639    method public int getExclusiveGroupId();
5640    method @NonNull public android.util.Range<java.lang.Integer> getFrequencyRange();
5641    method @NonNull public android.media.tv.tuner.frontend.FrontendCapabilities getFrontendCapabilities();
5642    method public int getId();
5643    method @NonNull public int[] getStatusCapabilities();
5644    method @NonNull public android.util.Range<java.lang.Integer> getSymbolRateRange();
5645    method public int getType();
5646  }
5647
5648  public abstract class FrontendSettings {
5649    method public int getFrequency();
5650    method public abstract int getType();
5651    field public static final long FEC_11_15 = 4194304L; // 0x400000L
5652    field public static final long FEC_11_20 = 8388608L; // 0x800000L
5653    field public static final long FEC_11_45 = 16777216L; // 0x1000000L
5654    field public static final long FEC_13_18 = 33554432L; // 0x2000000L
5655    field public static final long FEC_13_45 = 67108864L; // 0x4000000L
5656    field public static final long FEC_14_45 = 134217728L; // 0x8000000L
5657    field public static final long FEC_1_2 = 2L; // 0x2L
5658    field public static final long FEC_1_3 = 4L; // 0x4L
5659    field public static final long FEC_1_4 = 8L; // 0x8L
5660    field public static final long FEC_1_5 = 16L; // 0x10L
5661    field public static final long FEC_23_36 = 268435456L; // 0x10000000L
5662    field public static final long FEC_25_36 = 536870912L; // 0x20000000L
5663    field public static final long FEC_26_45 = 1073741824L; // 0x40000000L
5664    field public static final long FEC_28_45 = -2147483648L; // 0xffffffff80000000L
5665    field public static final long FEC_29_45 = 1L; // 0x1L
5666    field public static final long FEC_2_3 = 32L; // 0x20L
5667    field public static final long FEC_2_5 = 64L; // 0x40L
5668    field public static final long FEC_2_9 = 128L; // 0x80L
5669    field public static final long FEC_31_45 = 2L; // 0x2L
5670    field public static final long FEC_32_45 = 4L; // 0x4L
5671    field public static final long FEC_3_4 = 256L; // 0x100L
5672    field public static final long FEC_3_5 = 512L; // 0x200L
5673    field public static final long FEC_4_15 = 2048L; // 0x800L
5674    field public static final long FEC_4_5 = 1024L; // 0x400L
5675    field public static final long FEC_5_6 = 4096L; // 0x1000L
5676    field public static final long FEC_5_9 = 8192L; // 0x2000L
5677    field public static final long FEC_6_7 = 16384L; // 0x4000L
5678    field public static final long FEC_77_90 = 8L; // 0x8L
5679    field public static final long FEC_7_15 = 131072L; // 0x20000L
5680    field public static final long FEC_7_8 = 32768L; // 0x8000L
5681    field public static final long FEC_7_9 = 65536L; // 0x10000L
5682    field public static final long FEC_8_15 = 524288L; // 0x80000L
5683    field public static final long FEC_8_9 = 262144L; // 0x40000L
5684    field public static final long FEC_9_10 = 1048576L; // 0x100000L
5685    field public static final long FEC_9_20 = 2097152L; // 0x200000L
5686    field public static final long FEC_AUTO = 1L; // 0x1L
5687    field public static final long FEC_UNDEFINED = 0L; // 0x0L
5688    field public static final int TYPE_ANALOG = 1; // 0x1
5689    field public static final int TYPE_ATSC = 2; // 0x2
5690    field public static final int TYPE_ATSC3 = 3; // 0x3
5691    field public static final int TYPE_DVBC = 4; // 0x4
5692    field public static final int TYPE_DVBS = 5; // 0x5
5693    field public static final int TYPE_DVBT = 6; // 0x6
5694    field public static final int TYPE_ISDBS = 7; // 0x7
5695    field public static final int TYPE_ISDBS3 = 8; // 0x8
5696    field public static final int TYPE_ISDBT = 9; // 0x9
5697    field public static final int TYPE_UNDEFINED = 0; // 0x0
5698  }
5699
5700  public class FrontendStatus {
5701    method public int getAgc();
5702    method @NonNull public android.media.tv.tuner.frontend.FrontendStatus.Atsc3PlpTuningInfo[] getAtsc3PlpTuningInfo();
5703    method public int getBer();
5704    method public int getFreqOffset();
5705    method public int getHierarchy();
5706    method public long getInnerFec();
5707    method @NonNull public boolean[] getLayerErrors();
5708    method public int getLnbVoltage();
5709    method public int getMer();
5710    method public int getModulation();
5711    method public int getPer();
5712    method public int getPerBer();
5713    method public int getPlpId();
5714    method public int getSignalQuality();
5715    method public int getSignalStrength();
5716    method public int getSnr();
5717    method public int getSpectralInversion();
5718    method public int getSymbolRate();
5719    method public boolean isDemodLocked();
5720    method public boolean isEwbs();
5721    method public boolean isLnaOn();
5722    method public boolean isRfLocked();
5723    field public static final int FRONTEND_STATUS_TYPE_AGC = 14; // 0xe
5724    field public static final int FRONTEND_STATUS_TYPE_ATSC3_PLP_INFO = 21; // 0x15
5725    field public static final int FRONTEND_STATUS_TYPE_BER = 2; // 0x2
5726    field public static final int FRONTEND_STATUS_TYPE_DEMOD_LOCK = 0; // 0x0
5727    field public static final int FRONTEND_STATUS_TYPE_EWBS = 13; // 0xd
5728    field public static final int FRONTEND_STATUS_TYPE_FEC = 8; // 0x8
5729    field public static final int FRONTEND_STATUS_TYPE_FREQ_OFFSET = 18; // 0x12
5730    field public static final int FRONTEND_STATUS_TYPE_HIERARCHY = 19; // 0x13
5731    field public static final int FRONTEND_STATUS_TYPE_LAYER_ERROR = 16; // 0x10
5732    field public static final int FRONTEND_STATUS_TYPE_LNA = 15; // 0xf
5733    field public static final int FRONTEND_STATUS_TYPE_LNB_VOLTAGE = 11; // 0xb
5734    field public static final int FRONTEND_STATUS_TYPE_MER = 17; // 0x11
5735    field public static final int FRONTEND_STATUS_TYPE_MODULATION = 9; // 0x9
5736    field public static final int FRONTEND_STATUS_TYPE_PER = 3; // 0x3
5737    field public static final int FRONTEND_STATUS_TYPE_PLP_ID = 12; // 0xc
5738    field public static final int FRONTEND_STATUS_TYPE_PRE_BER = 4; // 0x4
5739    field public static final int FRONTEND_STATUS_TYPE_RF_LOCK = 20; // 0x14
5740    field public static final int FRONTEND_STATUS_TYPE_SIGNAL_QUALITY = 5; // 0x5
5741    field public static final int FRONTEND_STATUS_TYPE_SIGNAL_STRENGTH = 6; // 0x6
5742    field public static final int FRONTEND_STATUS_TYPE_SNR = 1; // 0x1
5743    field public static final int FRONTEND_STATUS_TYPE_SPECTRAL = 10; // 0xa
5744    field public static final int FRONTEND_STATUS_TYPE_SYMBOL_RATE = 7; // 0x7
5745  }
5746
5747  public static class FrontendStatus.Atsc3PlpTuningInfo {
5748    method public int getPlpId();
5749    method public int getUec();
5750    method public boolean isLocked();
5751  }
5752
5753  public class Isdbs3FrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
5754    method public int getCodeRateCapability();
5755    method public int getModulationCapability();
5756  }
5757
5758  public class Isdbs3FrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
5759    method @NonNull public static android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder builder();
5760    method public int getCodeRate();
5761    method public int getModulation();
5762    method public int getRolloff();
5763    method public int getStreamId();
5764    method public int getStreamIdType();
5765    method public int getSymbolRate();
5766    method public int getType();
5767    field public static final int CODERATE_1_2 = 8; // 0x8
5768    field public static final int CODERATE_1_3 = 2; // 0x2
5769    field public static final int CODERATE_2_3 = 32; // 0x20
5770    field public static final int CODERATE_2_5 = 4; // 0x4
5771    field public static final int CODERATE_3_4 = 64; // 0x40
5772    field public static final int CODERATE_3_5 = 16; // 0x10
5773    field public static final int CODERATE_4_5 = 256; // 0x100
5774    field public static final int CODERATE_5_6 = 512; // 0x200
5775    field public static final int CODERATE_7_8 = 1024; // 0x400
5776    field public static final int CODERATE_7_9 = 128; // 0x80
5777    field public static final int CODERATE_9_10 = 2048; // 0x800
5778    field public static final int CODERATE_AUTO = 1; // 0x1
5779    field public static final int CODERATE_UNDEFINED = 0; // 0x0
5780    field public static final int MODULATION_AUTO = 1; // 0x1
5781    field public static final int MODULATION_MOD_16APSK = 16; // 0x10
5782    field public static final int MODULATION_MOD_32APSK = 32; // 0x20
5783    field public static final int MODULATION_MOD_8PSK = 8; // 0x8
5784    field public static final int MODULATION_MOD_BPSK = 2; // 0x2
5785    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
5786    field public static final int MODULATION_UNDEFINED = 0; // 0x0
5787    field public static final int ROLLOFF_0_03 = 1; // 0x1
5788    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
5789  }
5790
5791  public static class Isdbs3FrontendSettings.Builder {
5792    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings build();
5793    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setCodeRate(int);
5794    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setFrequency(int);
5795    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setModulation(int);
5796    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setRolloff(int);
5797    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setStreamId(int);
5798    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setStreamIdType(int);
5799    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setSymbolRate(int);
5800  }
5801
5802  public class IsdbsFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
5803    method public int getCodeRateCapability();
5804    method public int getModulationCapability();
5805  }
5806
5807  public class IsdbsFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
5808    method @NonNull public static android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder builder();
5809    method public int getCodeRate();
5810    method public int getModulation();
5811    method public int getRolloff();
5812    method public int getStreamId();
5813    method public int getStreamIdType();
5814    method public int getSymbolRate();
5815    method public int getType();
5816    field public static final int CODERATE_1_2 = 2; // 0x2
5817    field public static final int CODERATE_2_3 = 4; // 0x4
5818    field public static final int CODERATE_3_4 = 8; // 0x8
5819    field public static final int CODERATE_5_6 = 16; // 0x10
5820    field public static final int CODERATE_7_8 = 32; // 0x20
5821    field public static final int CODERATE_AUTO = 1; // 0x1
5822    field public static final int CODERATE_UNDEFINED = 0; // 0x0
5823    field public static final int MODULATION_AUTO = 1; // 0x1
5824    field public static final int MODULATION_MOD_BPSK = 2; // 0x2
5825    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
5826    field public static final int MODULATION_MOD_TC8PSK = 8; // 0x8
5827    field public static final int MODULATION_UNDEFINED = 0; // 0x0
5828    field public static final int ROLLOFF_0_35 = 1; // 0x1
5829    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
5830    field public static final int STREAM_ID_TYPE_ID = 0; // 0x0
5831    field public static final int STREAM_ID_TYPE_RELATIVE_NUMBER = 1; // 0x1
5832  }
5833
5834  public static class IsdbsFrontendSettings.Builder {
5835    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings build();
5836    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setCodeRate(int);
5837    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setFrequency(int);
5838    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setModulation(int);
5839    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setRolloff(int);
5840    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setStreamId(int);
5841    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setStreamIdType(int);
5842    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setSymbolRate(int);
5843  }
5844
5845  public class IsdbtFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
5846    method public int getBandwidthCapability();
5847    method public int getCodeRateCapability();
5848    method public int getGuardIntervalCapability();
5849    method public int getModeCapability();
5850    method public int getModulationCapability();
5851  }
5852
5853  public class IsdbtFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
5854    method @NonNull public static android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder builder();
5855    method public int getBandwidth();
5856    method public int getCodeRate();
5857    method public int getGuardInterval();
5858    method public int getMode();
5859    method public int getModulation();
5860    method public int getServiceAreaId();
5861    method public int getType();
5862    field public static final int BANDWIDTH_6MHZ = 8; // 0x8
5863    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
5864    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
5865    field public static final int BANDWIDTH_AUTO = 1; // 0x1
5866    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
5867    field public static final int MODE_1 = 2; // 0x2
5868    field public static final int MODE_2 = 4; // 0x4
5869    field public static final int MODE_3 = 8; // 0x8
5870    field public static final int MODE_AUTO = 1; // 0x1
5871    field public static final int MODE_UNDEFINED = 0; // 0x0
5872    field public static final int MODULATION_AUTO = 1; // 0x1
5873    field public static final int MODULATION_MOD_16QAM = 8; // 0x8
5874    field public static final int MODULATION_MOD_64QAM = 16; // 0x10
5875    field public static final int MODULATION_MOD_DQPSK = 2; // 0x2
5876    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
5877    field public static final int MODULATION_UNDEFINED = 0; // 0x0
5878  }
5879
5880  public static class IsdbtFrontendSettings.Builder {
5881    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings build();
5882    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setBandwidth(int);
5883    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setCodeRate(int);
5884    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setFrequency(int);
5885    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setGuardInterval(int);
5886    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setMode(int);
5887    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setModulation(int);
5888    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setServiceAreaId(int);
5889  }
5890
5891  public interface OnTuneEventListener {
5892    method public void onTuneEvent(int);
5893    field public static final int SIGNAL_LOCKED = 0; // 0x0
5894    field public static final int SIGNAL_LOST_LOCK = 2; // 0x2
5895    field public static final int SIGNAL_NO_SIGNAL = 1; // 0x1
5896  }
5897
5898  public interface ScanCallback {
5899    method public void onAnalogSifStandardReported(int);
5900    method public void onAtsc3PlpInfosReported(@NonNull android.media.tv.tuner.frontend.Atsc3PlpInfo[]);
5901    method public void onDvbsStandardReported(int);
5902    method public void onDvbtStandardReported(int);
5903    method public void onFrequenciesReported(@NonNull int[]);
5904    method public void onGroupIdsReported(@NonNull int[]);
5905    method public void onHierarchyReported(int);
5906    method public void onInputStreamIdsReported(@NonNull int[]);
5907    method public void onLocked();
5908    method public void onPlpIdsReported(@NonNull int[]);
5909    method public void onProgress(@IntRange(from=0, to=100) int);
5910    method public void onScanStopped();
5911    method public void onSignalTypeReported(int);
5912    method public void onSymbolRatesReported(@NonNull int[]);
5913  }
5914
5915}
5916
5917package android.media.voice {
5918
5919  public final class KeyphraseModelManager {
5920    method @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public void deleteKeyphraseSoundModel(int, @NonNull java.util.Locale);
5921    method @Nullable @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel getKeyphraseSoundModel(int, @NonNull java.util.Locale);
5922    method @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public void updateKeyphraseSoundModel(@NonNull android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel);
5923  }
5924
5925}
5926
5927package android.metrics {
5928
5929  public class LogMaker {
5930    ctor public LogMaker(int);
5931    ctor public LogMaker(Object[]);
5932    method public android.metrics.LogMaker addTaggedData(int, Object);
5933    method public android.metrics.LogMaker clearCategory();
5934    method public android.metrics.LogMaker clearPackageName();
5935    method public android.metrics.LogMaker clearSubtype();
5936    method public android.metrics.LogMaker clearTaggedData(int);
5937    method public android.metrics.LogMaker clearType();
5938    method public void deserialize(Object[]);
5939    method public int getCategory();
5940    method public long getCounterBucket();
5941    method public String getCounterName();
5942    method public int getCounterValue();
5943    method public String getPackageName();
5944    method public int getProcessId();
5945    method public int getSubtype();
5946    method public Object getTaggedData(int);
5947    method public long getTimestamp();
5948    method public int getType();
5949    method public int getUid();
5950    method public boolean isLongCounterBucket();
5951    method public boolean isSubsetOf(android.metrics.LogMaker);
5952    method public boolean isValidValue(Object);
5953    method public Object[] serialize();
5954    method public android.metrics.LogMaker setCategory(int);
5955    method public android.metrics.LogMaker setPackageName(String);
5956    method public android.metrics.LogMaker setSubtype(int);
5957    method public android.metrics.LogMaker setType(int);
5958  }
5959
5960  public class MetricsReader {
5961    ctor public MetricsReader();
5962    method public void checkpoint();
5963    method public boolean hasNext();
5964    method public android.metrics.LogMaker next();
5965    method public void read(long);
5966    method public void reset();
5967  }
5968
5969}
5970
5971package android.net {
5972
5973  public class CaptivePortal implements android.os.Parcelable {
5974    method public void logEvent(int, @NonNull String);
5975    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void reevaluateNetwork();
5976    method public void useNetwork();
5977    field public static final int APP_REQUEST_REEVALUATION_REQUIRED = 100; // 0x64
5978    field public static final int APP_RETURN_DISMISSED = 0; // 0x0
5979    field public static final int APP_RETURN_UNWANTED = 1; // 0x1
5980    field public static final int APP_RETURN_WANTED_AS_IS = 2; // 0x2
5981  }
5982
5983  public final class CaptivePortalData implements android.os.Parcelable {
5984    method public int describeContents();
5985    method public long getByteLimit();
5986    method public long getExpiryTimeMillis();
5987    method public long getRefreshTimeMillis();
5988    method @Nullable public android.net.Uri getUserPortalUrl();
5989    method @Nullable public android.net.Uri getVenueInfoUrl();
5990    method public boolean isCaptive();
5991    method public boolean isSessionExtendable();
5992    method public void writeToParcel(@NonNull android.os.Parcel, int);
5993    field @NonNull public static final android.os.Parcelable.Creator<android.net.CaptivePortalData> CREATOR;
5994  }
5995
5996  public static class CaptivePortalData.Builder {
5997    ctor public CaptivePortalData.Builder();
5998    ctor public CaptivePortalData.Builder(@Nullable android.net.CaptivePortalData);
5999    method @NonNull public android.net.CaptivePortalData build();
6000    method @NonNull public android.net.CaptivePortalData.Builder setBytesRemaining(long);
6001    method @NonNull public android.net.CaptivePortalData.Builder setCaptive(boolean);
6002    method @NonNull public android.net.CaptivePortalData.Builder setExpiryTime(long);
6003    method @NonNull public android.net.CaptivePortalData.Builder setRefreshTime(long);
6004    method @NonNull public android.net.CaptivePortalData.Builder setSessionExtendable(boolean);
6005    method @NonNull public android.net.CaptivePortalData.Builder setUserPortalUrl(@Nullable android.net.Uri);
6006    method @NonNull public android.net.CaptivePortalData.Builder setVenueInfoUrl(@Nullable android.net.Uri);
6007  }
6008
6009  public class ConnectivityManager {
6010    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);
6011    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);
6012    method @Deprecated @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String getCaptivePortalServerUrl();
6013    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void getLatestTetheringEntitlementResult(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEntitlementResultListener);
6014    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public boolean isTetheringSupported();
6015    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public int registerNetworkProvider(@NonNull android.net.NetworkProvider);
6016    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
6017    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);
6018    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);
6019    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public boolean shouldAvoidBadWifi();
6020    method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public void startCaptivePortalApp(@NonNull android.net.Network, @NonNull android.os.Bundle);
6021    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback);
6022    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback, android.os.Handler);
6023    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void stopTethering(int);
6024    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public void unregisterNetworkProvider(@NonNull android.net.NetworkProvider);
6025    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void unregisterTetheringEventCallback(@NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
6026    field public static final String EXTRA_CAPTIVE_PORTAL_PROBE_SPEC = "android.net.extra.CAPTIVE_PORTAL_PROBE_SPEC";
6027    field public static final String EXTRA_CAPTIVE_PORTAL_USER_AGENT = "android.net.extra.CAPTIVE_PORTAL_USER_AGENT";
6028    field public static final int TETHERING_BLUETOOTH = 2; // 0x2
6029    field public static final int TETHERING_USB = 1; // 0x1
6030    field public static final int TETHERING_WIFI = 0; // 0x0
6031    field @Deprecated public static final int TETHER_ERROR_ENTITLEMENT_UNKONWN = 13; // 0xd
6032    field @Deprecated public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0
6033    field @Deprecated public static final int TETHER_ERROR_PROVISION_FAILED = 11; // 0xb
6034    field public static final int TYPE_NONE = -1; // 0xffffffff
6035    field @Deprecated public static final int TYPE_WIFI_P2P = 13; // 0xd
6036  }
6037
6038  @Deprecated public abstract static class ConnectivityManager.OnStartTetheringCallback {
6039    ctor @Deprecated public ConnectivityManager.OnStartTetheringCallback();
6040    method @Deprecated public void onTetheringFailed();
6041    method @Deprecated public void onTetheringStarted();
6042  }
6043
6044  @Deprecated public static interface ConnectivityManager.OnTetheringEntitlementResultListener {
6045    method @Deprecated public void onTetheringEntitlementResult(int);
6046  }
6047
6048  @Deprecated public abstract static class ConnectivityManager.OnTetheringEventCallback {
6049    ctor @Deprecated public ConnectivityManager.OnTetheringEventCallback();
6050    method @Deprecated public void onUpstreamChanged(@Nullable android.net.Network);
6051  }
6052
6053  public class EthernetManager {
6054    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);
6055  }
6056
6057  public static interface EthernetManager.TetheredInterfaceCallback {
6058    method public void onAvailable(@NonNull String);
6059    method public void onUnavailable();
6060  }
6061
6062  public static class EthernetManager.TetheredInterfaceRequest {
6063    method public void release();
6064  }
6065
6066  public final class InvalidPacketException extends java.lang.Exception {
6067    ctor public InvalidPacketException(int);
6068    method public int getError();
6069    field public static final int ERROR_INVALID_IP_ADDRESS = -21; // 0xffffffeb
6070    field public static final int ERROR_INVALID_LENGTH = -23; // 0xffffffe9
6071    field public static final int ERROR_INVALID_PORT = -22; // 0xffffffea
6072  }
6073
6074  public final class IpConfiguration implements android.os.Parcelable {
6075    ctor public IpConfiguration();
6076    ctor public IpConfiguration(@NonNull android.net.IpConfiguration);
6077    method public int describeContents();
6078    method @Nullable public android.net.ProxyInfo getHttpProxy();
6079    method @NonNull public android.net.IpConfiguration.IpAssignment getIpAssignment();
6080    method @NonNull public android.net.IpConfiguration.ProxySettings getProxySettings();
6081    method @Nullable public android.net.StaticIpConfiguration getStaticIpConfiguration();
6082    method public void setHttpProxy(@Nullable android.net.ProxyInfo);
6083    method public void setIpAssignment(@NonNull android.net.IpConfiguration.IpAssignment);
6084    method public void setProxySettings(@NonNull android.net.IpConfiguration.ProxySettings);
6085    method public void setStaticIpConfiguration(@Nullable android.net.StaticIpConfiguration);
6086    method public void writeToParcel(@NonNull android.os.Parcel, int);
6087    field @NonNull public static final android.os.Parcelable.Creator<android.net.IpConfiguration> CREATOR;
6088  }
6089
6090  public enum IpConfiguration.IpAssignment {
6091    enum_constant public static final android.net.IpConfiguration.IpAssignment DHCP;
6092    enum_constant public static final android.net.IpConfiguration.IpAssignment STATIC;
6093    enum_constant public static final android.net.IpConfiguration.IpAssignment UNASSIGNED;
6094  }
6095
6096  public enum IpConfiguration.ProxySettings {
6097    enum_constant public static final android.net.IpConfiguration.ProxySettings NONE;
6098    enum_constant public static final android.net.IpConfiguration.ProxySettings PAC;
6099    enum_constant public static final android.net.IpConfiguration.ProxySettings STATIC;
6100    enum_constant public static final android.net.IpConfiguration.ProxySettings UNASSIGNED;
6101  }
6102
6103  public final class IpPrefix implements android.os.Parcelable {
6104    ctor public IpPrefix(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int);
6105    ctor public IpPrefix(@NonNull String);
6106  }
6107
6108  public final class IpSecManager {
6109    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;
6110    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;
6111  }
6112
6113  public static final class IpSecManager.IpSecTunnelInterface implements java.lang.AutoCloseable {
6114    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void addAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
6115    method public void close();
6116    method @NonNull public String getInterfaceName();
6117    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void removeAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
6118  }
6119
6120  public static class IpSecTransform.Builder {
6121    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;
6122  }
6123
6124  public class KeepalivePacketData {
6125    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;
6126    method @NonNull public java.net.InetAddress getDstAddress();
6127    method public int getDstPort();
6128    method @NonNull public byte[] getPacket();
6129    method @NonNull public java.net.InetAddress getSrcAddress();
6130    method public int getSrcPort();
6131  }
6132
6133  public class LinkAddress implements android.os.Parcelable {
6134    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int);
6135    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int, long, long);
6136    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int);
6137    ctor public LinkAddress(@NonNull String);
6138    ctor public LinkAddress(@NonNull String, int, int);
6139    method public long getDeprecationTime();
6140    method public long getExpirationTime();
6141    method public boolean isGlobalPreferred();
6142    method public boolean isIpv4();
6143    method public boolean isIpv6();
6144    method public boolean isSameAddressAs(@Nullable android.net.LinkAddress);
6145    field public static final long LIFETIME_PERMANENT = 9223372036854775807L; // 0x7fffffffffffffffL
6146    field public static final long LIFETIME_UNKNOWN = -1L; // 0xffffffffffffffffL
6147  }
6148
6149  public final class LinkProperties implements android.os.Parcelable {
6150    ctor public LinkProperties(@Nullable android.net.LinkProperties);
6151    ctor public LinkProperties(@Nullable android.net.LinkProperties, boolean);
6152    method public boolean addDnsServer(@NonNull java.net.InetAddress);
6153    method public boolean addLinkAddress(@NonNull android.net.LinkAddress);
6154    method public boolean addPcscfServer(@NonNull java.net.InetAddress);
6155    method @NonNull public java.util.List<java.net.InetAddress> getAddresses();
6156    method @NonNull public java.util.List<java.lang.String> getAllInterfaceNames();
6157    method @NonNull public java.util.List<android.net.LinkAddress> getAllLinkAddresses();
6158    method @NonNull public java.util.List<android.net.RouteInfo> getAllRoutes();
6159    method @Nullable public android.net.Uri getCaptivePortalApiUrl();
6160    method @Nullable public android.net.CaptivePortalData getCaptivePortalData();
6161    method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers();
6162    method @Nullable public String getTcpBufferSizes();
6163    method @NonNull public java.util.List<java.net.InetAddress> getValidatedPrivateDnsServers();
6164    method public boolean hasGlobalIpv6Address();
6165    method public boolean hasIpv4Address();
6166    method public boolean hasIpv4DefaultRoute();
6167    method public boolean hasIpv4DnsServer();
6168    method public boolean hasIpv6DefaultRoute();
6169    method public boolean hasIpv6DnsServer();
6170    method public boolean isIpv4Provisioned();
6171    method public boolean isIpv6Provisioned();
6172    method public boolean isProvisioned();
6173    method public boolean isReachable(@NonNull java.net.InetAddress);
6174    method public boolean removeDnsServer(@NonNull java.net.InetAddress);
6175    method public boolean removeLinkAddress(@NonNull android.net.LinkAddress);
6176    method public boolean removeRoute(@NonNull android.net.RouteInfo);
6177    method public void setCaptivePortalApiUrl(@Nullable android.net.Uri);
6178    method public void setCaptivePortalData(@Nullable android.net.CaptivePortalData);
6179    method public void setPcscfServers(@NonNull java.util.Collection<java.net.InetAddress>);
6180    method public void setPrivateDnsServerName(@Nullable String);
6181    method public void setTcpBufferSizes(@Nullable String);
6182    method public void setUsePrivateDns(boolean);
6183    method public void setValidatedPrivateDnsServers(@NonNull java.util.Collection<java.net.InetAddress>);
6184  }
6185
6186  public final class MatchAllNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
6187    ctor public MatchAllNetworkSpecifier();
6188    method public int describeContents();
6189    method public void writeToParcel(@NonNull android.os.Parcel, int);
6190    field @NonNull public static final android.os.Parcelable.Creator<android.net.MatchAllNetworkSpecifier> CREATOR;
6191  }
6192
6193  public final class NattKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable {
6194    ctor public NattKeepalivePacketData(@NonNull java.net.InetAddress, int, @NonNull java.net.InetAddress, int, @NonNull byte[]) throws android.net.InvalidPacketException;
6195    method public int describeContents();
6196    method public void writeToParcel(@NonNull android.os.Parcel, int);
6197    field @NonNull public static final android.os.Parcelable.Creator<android.net.NattKeepalivePacketData> CREATOR;
6198  }
6199
6200  public class Network implements android.os.Parcelable {
6201    ctor public Network(@NonNull android.net.Network);
6202    method public int getNetId();
6203    method @NonNull public android.net.Network getPrivateDnsBypassingCopy();
6204  }
6205
6206  public abstract class NetworkAgent {
6207    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);
6208    method @Nullable public android.net.Network getNetwork();
6209    method public void markConnected();
6210    method public void onAddKeepalivePacketFilter(int, @NonNull android.net.KeepalivePacketData);
6211    method public void onAutomaticReconnectDisabled();
6212    method public void onNetworkUnwanted();
6213    method public void onRemoveKeepalivePacketFilter(int);
6214    method public void onSaveAcceptUnvalidated(boolean);
6215    method public void onSignalStrengthThresholdsUpdated(@NonNull int[]);
6216    method public void onStartSocketKeepalive(int, @NonNull java.time.Duration, @NonNull android.net.KeepalivePacketData);
6217    method public void onStopSocketKeepalive(int);
6218    method public void onValidationStatus(int, @Nullable android.net.Uri);
6219    method @NonNull public android.net.Network register();
6220    method public final void sendLinkProperties(@NonNull android.net.LinkProperties);
6221    method public final void sendNetworkCapabilities(@NonNull android.net.NetworkCapabilities);
6222    method public final void sendNetworkScore(@IntRange(from=0, to=99) int);
6223    method public final void sendSocketKeepaliveEvent(int, int);
6224    method public void unregister();
6225    field public static final int VALIDATION_STATUS_NOT_VALID = 2; // 0x2
6226    field public static final int VALIDATION_STATUS_VALID = 1; // 0x1
6227  }
6228
6229  public final class NetworkAgentConfig implements android.os.Parcelable {
6230    method public int describeContents();
6231    method public int getLegacyType();
6232    method @NonNull public String getLegacyTypeName();
6233    method public boolean isExplicitlySelected();
6234    method public boolean isPartialConnectivityAcceptable();
6235    method public boolean isUnvalidatedConnectivityAcceptable();
6236    method public void writeToParcel(@NonNull android.os.Parcel, int);
6237    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkAgentConfig> CREATOR;
6238  }
6239
6240  public static final class NetworkAgentConfig.Builder {
6241    ctor public NetworkAgentConfig.Builder();
6242    method @NonNull public android.net.NetworkAgentConfig build();
6243    method @NonNull public android.net.NetworkAgentConfig.Builder setExplicitlySelected(boolean);
6244    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyType(int);
6245    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyTypeName(@NonNull String);
6246    method @NonNull public android.net.NetworkAgentConfig.Builder setPartialConnectivityAcceptable(boolean);
6247    method @NonNull public android.net.NetworkAgentConfig.Builder setUnvalidatedConnectivityAcceptable(boolean);
6248  }
6249
6250  public final class NetworkCapabilities implements android.os.Parcelable {
6251    method @NonNull public int[] getAdministratorUids();
6252    method @Nullable public String getSsid();
6253    method @NonNull public int[] getTransportTypes();
6254    method public boolean satisfiedByNetworkCapabilities(@Nullable android.net.NetworkCapabilities);
6255    field public static final int NET_CAPABILITY_OEM_PAID = 22; // 0x16
6256    field public static final int NET_CAPABILITY_PARTIAL_CONNECTIVITY = 24; // 0x18
6257  }
6258
6259  public static final class NetworkCapabilities.Builder {
6260    ctor public NetworkCapabilities.Builder();
6261    ctor public NetworkCapabilities.Builder(@NonNull android.net.NetworkCapabilities);
6262    method @NonNull public android.net.NetworkCapabilities.Builder addCapability(int);
6263    method @NonNull public android.net.NetworkCapabilities.Builder addTransportType(int);
6264    method @NonNull public android.net.NetworkCapabilities build();
6265    method @NonNull public android.net.NetworkCapabilities.Builder removeCapability(int);
6266    method @NonNull public android.net.NetworkCapabilities.Builder removeTransportType(int);
6267    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setAdministratorUids(@NonNull int[]);
6268    method @NonNull public android.net.NetworkCapabilities.Builder setLinkDownstreamBandwidthKbps(int);
6269    method @NonNull public android.net.NetworkCapabilities.Builder setLinkUpstreamBandwidthKbps(int);
6270    method @NonNull public android.net.NetworkCapabilities.Builder setNetworkSpecifier(@Nullable android.net.NetworkSpecifier);
6271    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setOwnerUid(int);
6272    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorPackageName(@Nullable String);
6273    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorUid(int);
6274    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkCapabilities.Builder setSignalStrength(int);
6275    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setSsid(@Nullable String);
6276    method @NonNull public android.net.NetworkCapabilities.Builder setTransportInfo(@Nullable android.net.TransportInfo);
6277  }
6278
6279  public class NetworkKey implements android.os.Parcelable {
6280    ctor public NetworkKey(android.net.WifiKey);
6281    method @Nullable public static android.net.NetworkKey createFromScanResult(@NonNull android.net.wifi.ScanResult);
6282    method public int describeContents();
6283    method public void writeToParcel(android.os.Parcel, int);
6284    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkKey> CREATOR;
6285    field public static final int TYPE_WIFI = 1; // 0x1
6286    field public final int type;
6287    field public final android.net.WifiKey wifiKey;
6288  }
6289
6290  public class NetworkProvider {
6291    ctor public NetworkProvider(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String);
6292    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void declareNetworkRequestUnfulfillable(@NonNull android.net.NetworkRequest);
6293    method public int getProviderId();
6294    method public void onNetworkRequestWithdrawn(@NonNull android.net.NetworkRequest);
6295    method public void onNetworkRequested(@NonNull android.net.NetworkRequest, @IntRange(from=0, to=99) int, int);
6296    field public static final int ID_NONE = -1; // 0xffffffff
6297  }
6298
6299  public abstract class NetworkRecommendationProvider {
6300    ctor public NetworkRecommendationProvider(android.content.Context, java.util.concurrent.Executor);
6301    method public final android.os.IBinder getBinder();
6302    method public abstract void onRequestScores(android.net.NetworkKey[]);
6303  }
6304
6305  public class NetworkRequest implements android.os.Parcelable {
6306    method @Nullable public String getRequestorPackageName();
6307    method public int getRequestorUid();
6308  }
6309
6310  public static class NetworkRequest.Builder {
6311    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkRequest.Builder setSignalStrength(int);
6312  }
6313
6314  public class NetworkScoreManager {
6315    method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public boolean clearScores() throws java.lang.SecurityException;
6316    method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public void disableScoring() throws java.lang.SecurityException;
6317    method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public String getActiveScorerPackage();
6318    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;
6319    method @RequiresPermission(android.Manifest.permission.REQUEST_NETWORK_SCORES) public boolean requestScores(@NonNull java.util.Collection<android.net.NetworkKey>) throws java.lang.SecurityException;
6320    method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public boolean setActiveScorer(String) throws java.lang.SecurityException;
6321    method @RequiresPermission(android.Manifest.permission.SCORE_NETWORKS) public boolean updateScores(@NonNull android.net.ScoredNetwork[]) throws java.lang.SecurityException;
6322    field @Deprecated public static final String ACTION_CHANGE_ACTIVE = "android.net.scoring.CHANGE_ACTIVE";
6323    field public static final String ACTION_CUSTOM_ENABLE = "android.net.scoring.CUSTOM_ENABLE";
6324    field public static final String ACTION_RECOMMEND_NETWORKS = "android.net.action.RECOMMEND_NETWORKS";
6325    field public static final String ACTION_SCORER_CHANGED = "android.net.scoring.SCORER_CHANGED";
6326    field @Deprecated public static final String ACTION_SCORE_NETWORKS = "android.net.scoring.SCORE_NETWORKS";
6327    field @Deprecated public static final String EXTRA_NETWORKS_TO_SCORE = "networksToScore";
6328    field public static final String EXTRA_NEW_SCORER = "newScorer";
6329    field @Deprecated public static final String EXTRA_PACKAGE_NAME = "packageName";
6330    field public static final int SCORE_FILTER_CURRENT_NETWORK = 1; // 0x1
6331    field public static final int SCORE_FILTER_NONE = 0; // 0x0
6332    field public static final int SCORE_FILTER_SCAN_RESULTS = 2; // 0x2
6333  }
6334
6335  public abstract static class NetworkScoreManager.NetworkScoreCallback {
6336    ctor public NetworkScoreManager.NetworkScoreCallback();
6337    method public abstract void onScoresInvalidated();
6338    method public abstract void onScoresUpdated(@NonNull java.util.Collection<android.net.ScoredNetwork>);
6339  }
6340
6341  public abstract class NetworkSpecifier {
6342    method public boolean canBeSatisfiedBy(@Nullable android.net.NetworkSpecifier);
6343    method @Nullable public android.net.NetworkSpecifier redact();
6344  }
6345
6346  public class NetworkStack {
6347    method @Nullable public static android.os.IBinder getService();
6348    field public static final String PERMISSION_MAINLINE_NETWORK_STACK = "android.permission.MAINLINE_NETWORK_STACK";
6349  }
6350
6351  public final class NetworkStats implements android.os.Parcelable {
6352    ctor public NetworkStats(long, int);
6353    method @NonNull public android.net.NetworkStats add(@NonNull android.net.NetworkStats);
6354    method @NonNull public android.net.NetworkStats addEntry(@NonNull android.net.NetworkStats.Entry);
6355    method public int describeContents();
6356    method @NonNull public android.net.NetworkStats subtract(@NonNull android.net.NetworkStats);
6357    method public void writeToParcel(@NonNull android.os.Parcel, int);
6358    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkStats> CREATOR;
6359    field public static final int DEFAULT_NETWORK_NO = 0; // 0x0
6360    field public static final int DEFAULT_NETWORK_YES = 1; // 0x1
6361    field public static final String IFACE_VT = "vt_data0";
6362    field public static final int METERED_NO = 0; // 0x0
6363    field public static final int METERED_YES = 1; // 0x1
6364    field public static final int ROAMING_NO = 0; // 0x0
6365    field public static final int ROAMING_YES = 1; // 0x1
6366    field public static final int SET_DEFAULT = 0; // 0x0
6367    field public static final int SET_FOREGROUND = 1; // 0x1
6368    field public static final int TAG_NONE = 0; // 0x0
6369    field public static final int UID_ALL = -1; // 0xffffffff
6370    field public static final int UID_TETHERING = -5; // 0xfffffffb
6371  }
6372
6373  public static class NetworkStats.Entry {
6374    ctor public NetworkStats.Entry(@Nullable String, int, int, int, int, int, int, long, long, long, long, long);
6375  }
6376
6377  public final class RouteInfo implements android.os.Parcelable {
6378    ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int);
6379    ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int, int);
6380    method public int getMtu();
6381    method public int getType();
6382    field public static final int RTN_THROW = 9; // 0x9
6383    field public static final int RTN_UNICAST = 1; // 0x1
6384    field public static final int RTN_UNREACHABLE = 7; // 0x7
6385  }
6386
6387  public class RssiCurve implements android.os.Parcelable {
6388    ctor public RssiCurve(int, int, byte[]);
6389    ctor public RssiCurve(int, int, byte[], int);
6390    method public int describeContents();
6391    method public byte lookupScore(int);
6392    method public byte lookupScore(int, boolean);
6393    method public void writeToParcel(android.os.Parcel, int);
6394    field @NonNull public static final android.os.Parcelable.Creator<android.net.RssiCurve> CREATOR;
6395    field public final int activeNetworkRssiBoost;
6396    field public final int bucketWidth;
6397    field public final byte[] rssiBuckets;
6398    field public final int start;
6399  }
6400
6401  public class ScoredNetwork implements android.os.Parcelable {
6402    ctor public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve);
6403    ctor public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve, boolean);
6404    ctor public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve, boolean, @Nullable android.os.Bundle);
6405    method public int calculateBadge(int);
6406    method public int describeContents();
6407    method public void writeToParcel(android.os.Parcel, int);
6408    field public static final String ATTRIBUTES_KEY_BADGING_CURVE = "android.net.attributes.key.BADGING_CURVE";
6409    field public static final String ATTRIBUTES_KEY_HAS_CAPTIVE_PORTAL = "android.net.attributes.key.HAS_CAPTIVE_PORTAL";
6410    field public static final String ATTRIBUTES_KEY_RANKING_SCORE_OFFSET = "android.net.attributes.key.RANKING_SCORE_OFFSET";
6411    field @NonNull public static final android.os.Parcelable.Creator<android.net.ScoredNetwork> CREATOR;
6412    field @Nullable public final android.os.Bundle attributes;
6413    field public final boolean meteredHint;
6414    field public final android.net.NetworkKey networkKey;
6415    field public final android.net.RssiCurve rssiCurve;
6416  }
6417
6418  public abstract class SocketKeepalive implements java.lang.AutoCloseable {
6419    field public static final int SUCCESS = 0; // 0x0
6420  }
6421
6422  public final class StaticIpConfiguration implements android.os.Parcelable {
6423    ctor public StaticIpConfiguration();
6424    ctor public StaticIpConfiguration(@Nullable android.net.StaticIpConfiguration);
6425    method public void addDnsServer(@NonNull java.net.InetAddress);
6426    method public void clear();
6427    method public int describeContents();
6428    method @NonNull public java.util.List<java.net.InetAddress> getDnsServers();
6429    method @Nullable public String getDomains();
6430    method @Nullable public java.net.InetAddress getGateway();
6431    method @Nullable public android.net.LinkAddress getIpAddress();
6432    method @NonNull public java.util.List<android.net.RouteInfo> getRoutes(@Nullable String);
6433    method public void writeToParcel(android.os.Parcel, int);
6434    field @NonNull public static final android.os.Parcelable.Creator<android.net.StaticIpConfiguration> CREATOR;
6435  }
6436
6437  public static final class StaticIpConfiguration.Builder {
6438    ctor public StaticIpConfiguration.Builder();
6439    method @NonNull public android.net.StaticIpConfiguration build();
6440    method @NonNull public android.net.StaticIpConfiguration.Builder setDnsServers(@NonNull Iterable<java.net.InetAddress>);
6441    method @NonNull public android.net.StaticIpConfiguration.Builder setDomains(@Nullable String);
6442    method @NonNull public android.net.StaticIpConfiguration.Builder setGateway(@Nullable java.net.InetAddress);
6443    method @NonNull public android.net.StaticIpConfiguration.Builder setIpAddress(@Nullable android.net.LinkAddress);
6444  }
6445
6446  public final class TetheredClient implements android.os.Parcelable {
6447    ctor public TetheredClient(@NonNull android.net.MacAddress, @NonNull java.util.Collection<android.net.TetheredClient.AddressInfo>, int);
6448    method public int describeContents();
6449    method @NonNull public java.util.List<android.net.TetheredClient.AddressInfo> getAddresses();
6450    method @NonNull public android.net.MacAddress getMacAddress();
6451    method public int getTetheringType();
6452    method public void writeToParcel(@NonNull android.os.Parcel, int);
6453    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient> CREATOR;
6454  }
6455
6456  public static final class TetheredClient.AddressInfo implements android.os.Parcelable {
6457    method public int describeContents();
6458    method @NonNull public android.net.LinkAddress getAddress();
6459    method @Nullable public String getHostname();
6460    method public void writeToParcel(@NonNull android.os.Parcel, int);
6461    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient.AddressInfo> CREATOR;
6462  }
6463
6464  public class TetheringManager {
6465    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.TetheringEventCallback);
6466    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);
6467    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);
6468    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopAllTethering();
6469    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopTethering(int);
6470    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.ACCESS_NETWORK_STATE}) public void unregisterTetheringEventCallback(@NonNull android.net.TetheringManager.TetheringEventCallback);
6471    field public static final String ACTION_TETHER_STATE_CHANGED = "android.net.conn.TETHER_STATE_CHANGED";
6472    field public static final String EXTRA_ACTIVE_LOCAL_ONLY = "android.net.extra.ACTIVE_LOCAL_ONLY";
6473    field public static final String EXTRA_ACTIVE_TETHER = "tetherArray";
6474    field public static final String EXTRA_AVAILABLE_TETHER = "availableArray";
6475    field public static final String EXTRA_ERRORED_TETHER = "erroredArray";
6476    field public static final int TETHERING_BLUETOOTH = 2; // 0x2
6477    field public static final int TETHERING_ETHERNET = 5; // 0x5
6478    field public static final int TETHERING_INVALID = -1; // 0xffffffff
6479    field public static final int TETHERING_NCM = 4; // 0x4
6480    field public static final int TETHERING_USB = 1; // 0x1
6481    field public static final int TETHERING_WIFI = 0; // 0x0
6482    field public static final int TETHERING_WIFI_P2P = 3; // 0x3
6483    field public static final int TETHER_ERROR_DHCPSERVER_ERROR = 12; // 0xc
6484    field public static final int TETHER_ERROR_DISABLE_FORWARDING_ERROR = 9; // 0x9
6485    field public static final int TETHER_ERROR_ENABLE_FORWARDING_ERROR = 8; // 0x8
6486    field public static final int TETHER_ERROR_ENTITLEMENT_UNKNOWN = 13; // 0xd
6487    field public static final int TETHER_ERROR_IFACE_CFG_ERROR = 10; // 0xa
6488    field public static final int TETHER_ERROR_INTERNAL_ERROR = 5; // 0x5
6489    field public static final int TETHER_ERROR_NO_ACCESS_TETHERING_PERMISSION = 15; // 0xf
6490    field public static final int TETHER_ERROR_NO_CHANGE_TETHERING_PERMISSION = 14; // 0xe
6491    field public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0
6492    field public static final int TETHER_ERROR_PROVISIONING_FAILED = 11; // 0xb
6493    field public static final int TETHER_ERROR_SERVICE_UNAVAIL = 2; // 0x2
6494    field public static final int TETHER_ERROR_TETHER_IFACE_ERROR = 6; // 0x6
6495    field public static final int TETHER_ERROR_UNAVAIL_IFACE = 4; // 0x4
6496    field public static final int TETHER_ERROR_UNKNOWN_IFACE = 1; // 0x1
6497    field public static final int TETHER_ERROR_UNKNOWN_TYPE = 16; // 0x10
6498    field public static final int TETHER_ERROR_UNSUPPORTED = 3; // 0x3
6499    field public static final int TETHER_ERROR_UNTETHER_IFACE_ERROR = 7; // 0x7
6500    field public static final int TETHER_HARDWARE_OFFLOAD_FAILED = 2; // 0x2
6501    field public static final int TETHER_HARDWARE_OFFLOAD_STARTED = 1; // 0x1
6502    field public static final int TETHER_HARDWARE_OFFLOAD_STOPPED = 0; // 0x0
6503  }
6504
6505  public static interface TetheringManager.OnTetheringEntitlementResultListener {
6506    method public void onTetheringEntitlementResult(int);
6507  }
6508
6509  public static interface TetheringManager.StartTetheringCallback {
6510    method public default void onTetheringFailed(int);
6511    method public default void onTetheringStarted();
6512  }
6513
6514  public static interface TetheringManager.TetheringEventCallback {
6515    method public default void onClientsChanged(@NonNull java.util.Collection<android.net.TetheredClient>);
6516    method public default void onError(@NonNull String, int);
6517    method public default void onOffloadStatusChanged(int);
6518    method public default void onTetherableInterfacesChanged(@NonNull java.util.List<java.lang.String>);
6519    method public default void onTetheredInterfacesChanged(@NonNull java.util.List<java.lang.String>);
6520    method public default void onTetheringSupported(boolean);
6521    method public default void onUpstreamChanged(@Nullable android.net.Network);
6522  }
6523
6524  public static class TetheringManager.TetheringRequest {
6525    method @Nullable public android.net.LinkAddress getClientStaticIpv4Address();
6526    method @Nullable public android.net.LinkAddress getLocalIpv4Address();
6527    method public boolean getShouldShowEntitlementUi();
6528    method public int getTetheringType();
6529    method public boolean isExemptFromEntitlementCheck();
6530  }
6531
6532  public static class TetheringManager.TetheringRequest.Builder {
6533    ctor public TetheringManager.TetheringRequest.Builder(int);
6534    method @NonNull public android.net.TetheringManager.TetheringRequest build();
6535    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setExemptFromEntitlementCheck(boolean);
6536    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setShouldShowEntitlementUi(boolean);
6537    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setStaticIpv4Addresses(@NonNull android.net.LinkAddress, @NonNull android.net.LinkAddress);
6538  }
6539
6540  public class TrafficStats {
6541    method public static void setThreadStatsTagApp();
6542    method public static void setThreadStatsTagBackup();
6543    method public static void setThreadStatsTagRestore();
6544    field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_END = -113; // 0xffffff8f
6545    field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_START = -128; // 0xffffff80
6546    field public static final int TAG_NETWORK_STACK_RANGE_END = -257; // 0xfffffeff
6547    field public static final int TAG_NETWORK_STACK_RANGE_START = -768; // 0xfffffd00
6548    field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_END = -241; // 0xffffff0f
6549    field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_START = -256; // 0xffffff00
6550  }
6551
6552  public abstract class Uri implements java.lang.Comparable<android.net.Uri> android.os.Parcelable {
6553    method @NonNull public String toSafeString();
6554  }
6555
6556  public class VpnService extends android.app.Service {
6557    method @RequiresPermission(android.Manifest.permission.CONTROL_VPN) public static void prepareAndAuthorize(android.content.Context);
6558  }
6559
6560  public class WebAddress {
6561    ctor public WebAddress(String) throws android.net.ParseException;
6562  }
6563
6564  public class WifiKey implements android.os.Parcelable {
6565    ctor public WifiKey(String, String);
6566    method public int describeContents();
6567    method public void writeToParcel(android.os.Parcel, int);
6568    field @NonNull public static final android.os.Parcelable.Creator<android.net.WifiKey> CREATOR;
6569    field public final String bssid;
6570    field public final String ssid;
6571  }
6572
6573}
6574
6575package android.net.apf {
6576
6577  public final class ApfCapabilities implements android.os.Parcelable {
6578    ctor public ApfCapabilities(int, int, int);
6579    method public int describeContents();
6580    method public static boolean getApfDrop8023Frames();
6581    method @NonNull public static int[] getApfEtherTypeBlackList();
6582    method public boolean hasDataAccess();
6583    method public void writeToParcel(android.os.Parcel, int);
6584    field public static final android.os.Parcelable.Creator<android.net.apf.ApfCapabilities> CREATOR;
6585    field public final int apfPacketFormat;
6586    field public final int apfVersionSupported;
6587    field public final int maximumApfProgramSize;
6588  }
6589
6590}
6591
6592package android.net.metrics {
6593
6594  public final class ApfProgramEvent implements android.net.metrics.IpConnectivityLog.Event {
6595  }
6596
6597  public static final class ApfProgramEvent.Builder {
6598    ctor public ApfProgramEvent.Builder();
6599    method @NonNull public android.net.metrics.ApfProgramEvent build();
6600    method @NonNull public android.net.metrics.ApfProgramEvent.Builder setActualLifetime(long);
6601    method @NonNull public android.net.metrics.ApfProgramEvent.Builder setCurrentRas(int);
6602    method @NonNull public android.net.metrics.ApfProgramEvent.Builder setFilteredRas(int);
6603    method @NonNull public android.net.metrics.ApfProgramEvent.Builder setFlags(boolean, boolean);
6604    method @NonNull public android.net.metrics.ApfProgramEvent.Builder setLifetime(long);
6605    method @NonNull public android.net.metrics.ApfProgramEvent.Builder setProgramLength(int);
6606  }
6607
6608  public final class ApfStats implements android.net.metrics.IpConnectivityLog.Event {
6609  }
6610
6611  public static final class ApfStats.Builder {
6612    ctor public ApfStats.Builder();
6613    method @NonNull public android.net.metrics.ApfStats build();
6614    method @NonNull public android.net.metrics.ApfStats.Builder setDroppedRas(int);
6615    method @NonNull public android.net.metrics.ApfStats.Builder setDurationMs(long);
6616    method @NonNull public android.net.metrics.ApfStats.Builder setMatchingRas(int);
6617    method @NonNull public android.net.metrics.ApfStats.Builder setMaxProgramSize(int);
6618    method @NonNull public android.net.metrics.ApfStats.Builder setParseErrors(int);
6619    method @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdates(int);
6620    method @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdatesAll(int);
6621    method @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdatesAllowingMulticast(int);
6622    method @NonNull public android.net.metrics.ApfStats.Builder setReceivedRas(int);
6623    method @NonNull public android.net.metrics.ApfStats.Builder setZeroLifetimeRas(int);
6624  }
6625
6626  public final class DhcpClientEvent implements android.net.metrics.IpConnectivityLog.Event {
6627  }
6628
6629  public static final class DhcpClientEvent.Builder {
6630    ctor public DhcpClientEvent.Builder();
6631    method @NonNull public android.net.metrics.DhcpClientEvent build();
6632    method @NonNull public android.net.metrics.DhcpClientEvent.Builder setDurationMs(int);
6633    method @NonNull public android.net.metrics.DhcpClientEvent.Builder setMsg(String);
6634  }
6635
6636  public final class DhcpErrorEvent implements android.net.metrics.IpConnectivityLog.Event {
6637    ctor public DhcpErrorEvent(int);
6638    method public static int errorCodeWithOption(int, int);
6639    field public static final int BOOTP_TOO_SHORT = 67174400; // 0x4010000
6640    field public static final int BUFFER_UNDERFLOW = 83951616; // 0x5010000
6641    field public static final int DHCP_BAD_MAGIC_COOKIE = 67239936; // 0x4020000
6642    field public static final int DHCP_ERROR = 4; // 0x4
6643    field public static final int DHCP_INVALID_OPTION_LENGTH = 67305472; // 0x4030000
6644    field public static final int DHCP_NO_COOKIE = 67502080; // 0x4060000
6645    field public static final int DHCP_NO_MSG_TYPE = 67371008; // 0x4040000
6646    field public static final int DHCP_UNKNOWN_MSG_TYPE = 67436544; // 0x4050000
6647    field public static final int L2_ERROR = 1; // 0x1
6648    field public static final int L2_TOO_SHORT = 16842752; // 0x1010000
6649    field public static final int L2_WRONG_ETH_TYPE = 16908288; // 0x1020000
6650    field public static final int L3_ERROR = 2; // 0x2
6651    field public static final int L3_INVALID_IP = 33751040; // 0x2030000
6652    field public static final int L3_NOT_IPV4 = 33685504; // 0x2020000
6653    field public static final int L3_TOO_SHORT = 33619968; // 0x2010000
6654    field public static final int L4_ERROR = 3; // 0x3
6655    field public static final int L4_NOT_UDP = 50397184; // 0x3010000
6656    field public static final int L4_WRONG_PORT = 50462720; // 0x3020000
6657    field public static final int MISC_ERROR = 5; // 0x5
6658    field public static final int PARSING_ERROR = 84082688; // 0x5030000
6659    field public static final int RECEIVE_ERROR = 84017152; // 0x5020000
6660  }
6661
6662  public class IpConnectivityLog {
6663    ctor public IpConnectivityLog();
6664    method public boolean log(long, @NonNull android.net.metrics.IpConnectivityLog.Event);
6665    method public boolean log(@NonNull String, @NonNull android.net.metrics.IpConnectivityLog.Event);
6666    method public boolean log(@NonNull android.net.Network, @NonNull int[], @NonNull android.net.metrics.IpConnectivityLog.Event);
6667    method public boolean log(int, @NonNull int[], @NonNull android.net.metrics.IpConnectivityLog.Event);
6668    method public boolean log(@NonNull android.net.metrics.IpConnectivityLog.Event);
6669  }
6670
6671  public static interface IpConnectivityLog.Event extends android.os.Parcelable {
6672  }
6673
6674  public final class IpManagerEvent implements android.net.metrics.IpConnectivityLog.Event {
6675    ctor public IpManagerEvent(int, long);
6676    field public static final int COMPLETE_LIFECYCLE = 3; // 0x3
6677    field public static final int ERROR_INTERFACE_NOT_FOUND = 8; // 0x8
6678    field public static final int ERROR_INVALID_PROVISIONING = 7; // 0x7
6679    field public static final int ERROR_STARTING_IPREACHABILITYMONITOR = 6; // 0x6
6680    field public static final int ERROR_STARTING_IPV4 = 4; // 0x4
6681    field public static final int ERROR_STARTING_IPV6 = 5; // 0x5
6682    field public static final int PROVISIONING_FAIL = 2; // 0x2
6683    field public static final int PROVISIONING_OK = 1; // 0x1
6684  }
6685
6686  public final class IpReachabilityEvent implements android.net.metrics.IpConnectivityLog.Event {
6687    ctor public IpReachabilityEvent(int);
6688    field public static final int NUD_FAILED = 512; // 0x200
6689    field public static final int NUD_FAILED_ORGANIC = 1024; // 0x400
6690    field public static final int PROBE = 256; // 0x100
6691    field public static final int PROVISIONING_LOST = 768; // 0x300
6692    field public static final int PROVISIONING_LOST_ORGANIC = 1280; // 0x500
6693  }
6694
6695  public final class NetworkEvent implements android.net.metrics.IpConnectivityLog.Event {
6696    ctor public NetworkEvent(int, long);
6697    ctor public NetworkEvent(int);
6698    field public static final int NETWORK_CAPTIVE_PORTAL_FOUND = 4; // 0x4
6699    field public static final int NETWORK_CONNECTED = 1; // 0x1
6700    field public static final int NETWORK_CONSECUTIVE_DNS_TIMEOUT_FOUND = 12; // 0xc
6701    field public static final int NETWORK_DISCONNECTED = 7; // 0x7
6702    field public static final int NETWORK_FIRST_VALIDATION_PORTAL_FOUND = 10; // 0xa
6703    field public static final int NETWORK_FIRST_VALIDATION_SUCCESS = 8; // 0x8
6704    field public static final int NETWORK_LINGER = 5; // 0x5
6705    field public static final int NETWORK_PARTIAL_CONNECTIVITY = 13; // 0xd
6706    field public static final int NETWORK_REVALIDATION_PORTAL_FOUND = 11; // 0xb
6707    field public static final int NETWORK_REVALIDATION_SUCCESS = 9; // 0x9
6708    field public static final int NETWORK_UNLINGER = 6; // 0x6
6709    field public static final int NETWORK_VALIDATED = 2; // 0x2
6710    field public static final int NETWORK_VALIDATION_FAILED = 3; // 0x3
6711  }
6712
6713  public final class RaEvent implements android.net.metrics.IpConnectivityLog.Event {
6714  }
6715
6716  public static final class RaEvent.Builder {
6717    ctor public RaEvent.Builder();
6718    method @NonNull public android.net.metrics.RaEvent build();
6719    method @NonNull public android.net.metrics.RaEvent.Builder updateDnsslLifetime(long);
6720    method @NonNull public android.net.metrics.RaEvent.Builder updatePrefixPreferredLifetime(long);
6721    method @NonNull public android.net.metrics.RaEvent.Builder updatePrefixValidLifetime(long);
6722    method @NonNull public android.net.metrics.RaEvent.Builder updateRdnssLifetime(long);
6723    method @NonNull public android.net.metrics.RaEvent.Builder updateRouteInfoLifetime(long);
6724    method @NonNull public android.net.metrics.RaEvent.Builder updateRouterLifetime(long);
6725  }
6726
6727  public final class ValidationProbeEvent implements android.net.metrics.IpConnectivityLog.Event {
6728    method @NonNull public static String getProbeName(int);
6729    field public static final int DNS_FAILURE = 0; // 0x0
6730    field public static final int DNS_SUCCESS = 1; // 0x1
6731    field public static final int PROBE_DNS = 0; // 0x0
6732    field public static final int PROBE_FALLBACK = 4; // 0x4
6733    field public static final int PROBE_HTTP = 1; // 0x1
6734    field public static final int PROBE_HTTPS = 2; // 0x2
6735    field public static final int PROBE_PAC = 3; // 0x3
6736    field public static final int PROBE_PRIVDNS = 5; // 0x5
6737  }
6738
6739  public static final class ValidationProbeEvent.Builder {
6740    ctor public ValidationProbeEvent.Builder();
6741    method @NonNull public android.net.metrics.ValidationProbeEvent build();
6742    method @NonNull public android.net.metrics.ValidationProbeEvent.Builder setDurationMs(long);
6743    method @NonNull public android.net.metrics.ValidationProbeEvent.Builder setProbeType(int, boolean);
6744    method @NonNull public android.net.metrics.ValidationProbeEvent.Builder setReturnCode(int);
6745  }
6746
6747}
6748
6749package android.net.netstats.provider {
6750
6751  public abstract class NetworkStatsProvider {
6752    ctor public NetworkStatsProvider();
6753    method public void notifyAlertReached();
6754    method public void notifyLimitReached();
6755    method public void notifyStatsUpdated(int, @NonNull android.net.NetworkStats, @NonNull android.net.NetworkStats);
6756    method public abstract void onRequestStatsUpdate(int);
6757    method public abstract void onSetAlert(long);
6758    method public abstract void onSetLimit(@NonNull String, long);
6759    field public static final int QUOTA_UNLIMITED = -1; // 0xffffffff
6760  }
6761
6762}
6763
6764package android.net.sip {
6765
6766  public class SipAudioCall {
6767    method @Nullable public android.net.rtp.AudioGroup getAudioGroup();
6768    method public void setAudioGroup(@NonNull android.net.rtp.AudioGroup);
6769  }
6770
6771  public class SipManager {
6772    method @NonNull public java.util.List<android.net.sip.SipProfile> getProfiles() throws android.net.sip.SipException;
6773    field public static final String ACTION_SIP_CALL_OPTION_CHANGED = "android.net.sip.action.SIP_CALL_OPTION_CHANGED";
6774    field public static final String ACTION_SIP_INCOMING_CALL = "android.net.sip.action.SIP_INCOMING_CALL";
6775    field public static final String ACTION_SIP_REMOVE_PROFILE = "android.net.sip.action.SIP_REMOVE_PROFILE";
6776    field public static final String ACTION_SIP_SERVICE_UP = "android.net.sip.action.SIP_SERVICE_UP";
6777    field public static final String ACTION_START_SIP = "android.net.sip.action.START_SIP";
6778  }
6779
6780  public class SipProfile implements java.lang.Cloneable android.os.Parcelable java.io.Serializable {
6781    method public int getCallingUid();
6782  }
6783
6784}
6785
6786package android.net.util {
6787
6788  public final class SocketUtils {
6789    method public static void bindSocketToInterface(@NonNull java.io.FileDescriptor, @NonNull String) throws android.system.ErrnoException;
6790    method public static void closeSocket(@Nullable java.io.FileDescriptor) throws java.io.IOException;
6791    method @NonNull public static java.net.SocketAddress makeNetlinkSocketAddress(int, int);
6792    method @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, int);
6793    method @Deprecated @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, @NonNull byte[]);
6794    method @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, int, @NonNull byte[]);
6795  }
6796
6797}
6798
6799package android.net.wifi {
6800
6801  public abstract class EasyConnectStatusCallback {
6802    ctor public EasyConnectStatusCallback();
6803    method public abstract void onConfiguratorSuccess(int);
6804    method public abstract void onEnrolleeSuccess(int);
6805    method public void onFailure(int);
6806    method public void onFailure(int, @Nullable String, @NonNull android.util.SparseArray<int[]>, @NonNull int[]);
6807    method public abstract void onProgress(int);
6808    field public static final int EASY_CONNECT_EVENT_PROGRESS_AUTHENTICATION_SUCCESS = 0; // 0x0
6809    field public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_ACCEPTED = 3; // 0x3
6810    field public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_SENT_WAITING_RESPONSE = 2; // 0x2
6811    field public static final int EASY_CONNECT_EVENT_PROGRESS_RESPONSE_PENDING = 1; // 0x1
6812    field public static final int EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_APPLIED = 1; // 0x1
6813    field public static final int EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_SENT = 0; // 0x0
6814  }
6815
6816  @Deprecated public class RttManager {
6817    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void disableResponder(android.net.wifi.RttManager.ResponderCallback);
6818    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void enableResponder(android.net.wifi.RttManager.ResponderCallback);
6819    method @Deprecated public android.net.wifi.RttManager.Capabilities getCapabilities();
6820    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.net.wifi.RttManager.RttCapabilities getRttCapabilities();
6821    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startRanging(android.net.wifi.RttManager.RttParams[], android.net.wifi.RttManager.RttListener);
6822    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopRanging(android.net.wifi.RttManager.RttListener);
6823    field @Deprecated public static final int BASE = 160256; // 0x27200
6824    field @Deprecated public static final int CMD_OP_ABORTED = 160260; // 0x27204
6825    field @Deprecated public static final int CMD_OP_DISABLE_RESPONDER = 160262; // 0x27206
6826    field @Deprecated public static final int CMD_OP_ENABLE_RESPONDER = 160261; // 0x27205
6827    field @Deprecated public static final int CMD_OP_ENALBE_RESPONDER_FAILED = 160264; // 0x27208
6828    field @Deprecated public static final int CMD_OP_ENALBE_RESPONDER_SUCCEEDED = 160263; // 0x27207
6829    field @Deprecated public static final int CMD_OP_FAILED = 160258; // 0x27202
6830    field @Deprecated public static final int CMD_OP_START_RANGING = 160256; // 0x27200
6831    field @Deprecated public static final int CMD_OP_STOP_RANGING = 160257; // 0x27201
6832    field @Deprecated public static final int CMD_OP_SUCCEEDED = 160259; // 0x27203
6833    field @Deprecated public static final String DESCRIPTION_KEY = "android.net.wifi.RttManager.Description";
6834    field @Deprecated public static final int PREAMBLE_HT = 2; // 0x2
6835    field @Deprecated public static final int PREAMBLE_LEGACY = 1; // 0x1
6836    field @Deprecated public static final int PREAMBLE_VHT = 4; // 0x4
6837    field @Deprecated public static final int REASON_INITIATOR_NOT_ALLOWED_WHEN_RESPONDER_ON = -6; // 0xfffffffa
6838    field @Deprecated public static final int REASON_INVALID_LISTENER = -3; // 0xfffffffd
6839    field @Deprecated public static final int REASON_INVALID_REQUEST = -4; // 0xfffffffc
6840    field @Deprecated public static final int REASON_NOT_AVAILABLE = -2; // 0xfffffffe
6841    field @Deprecated public static final int REASON_PERMISSION_DENIED = -5; // 0xfffffffb
6842    field @Deprecated public static final int REASON_UNSPECIFIED = -1; // 0xffffffff
6843    field @Deprecated public static final int RTT_BW_10_SUPPORT = 2; // 0x2
6844    field @Deprecated public static final int RTT_BW_160_SUPPORT = 32; // 0x20
6845    field @Deprecated public static final int RTT_BW_20_SUPPORT = 4; // 0x4
6846    field @Deprecated public static final int RTT_BW_40_SUPPORT = 8; // 0x8
6847    field @Deprecated public static final int RTT_BW_5_SUPPORT = 1; // 0x1
6848    field @Deprecated public static final int RTT_BW_80_SUPPORT = 16; // 0x10
6849    field @Deprecated public static final int RTT_CHANNEL_WIDTH_10 = 6; // 0x6
6850    field @Deprecated public static final int RTT_CHANNEL_WIDTH_160 = 3; // 0x3
6851    field @Deprecated public static final int RTT_CHANNEL_WIDTH_20 = 0; // 0x0
6852    field @Deprecated public static final int RTT_CHANNEL_WIDTH_40 = 1; // 0x1
6853    field @Deprecated public static final int RTT_CHANNEL_WIDTH_5 = 5; // 0x5
6854    field @Deprecated public static final int RTT_CHANNEL_WIDTH_80 = 2; // 0x2
6855    field @Deprecated public static final int RTT_CHANNEL_WIDTH_80P80 = 4; // 0x4
6856    field @Deprecated public static final int RTT_CHANNEL_WIDTH_UNSPECIFIED = -1; // 0xffffffff
6857    field @Deprecated public static final int RTT_PEER_NAN = 5; // 0x5
6858    field @Deprecated public static final int RTT_PEER_P2P_CLIENT = 4; // 0x4
6859    field @Deprecated public static final int RTT_PEER_P2P_GO = 3; // 0x3
6860    field @Deprecated public static final int RTT_PEER_TYPE_AP = 1; // 0x1
6861    field @Deprecated public static final int RTT_PEER_TYPE_STA = 2; // 0x2
6862    field @Deprecated public static final int RTT_PEER_TYPE_UNSPECIFIED = 0; // 0x0
6863    field @Deprecated public static final int RTT_STATUS_ABORTED = 8; // 0x8
6864    field @Deprecated public static final int RTT_STATUS_FAILURE = 1; // 0x1
6865    field @Deprecated public static final int RTT_STATUS_FAIL_AP_ON_DIFF_CHANNEL = 6; // 0x6
6866    field @Deprecated public static final int RTT_STATUS_FAIL_BUSY_TRY_LATER = 12; // 0xc
6867    field @Deprecated public static final int RTT_STATUS_FAIL_FTM_PARAM_OVERRIDE = 15; // 0xf
6868    field @Deprecated public static final int RTT_STATUS_FAIL_INVALID_TS = 9; // 0x9
6869    field @Deprecated public static final int RTT_STATUS_FAIL_NOT_SCHEDULED_YET = 4; // 0x4
6870    field @Deprecated public static final int RTT_STATUS_FAIL_NO_CAPABILITY = 7; // 0x7
6871    field @Deprecated public static final int RTT_STATUS_FAIL_NO_RSP = 2; // 0x2
6872    field @Deprecated public static final int RTT_STATUS_FAIL_PROTOCOL = 10; // 0xa
6873    field @Deprecated public static final int RTT_STATUS_FAIL_REJECTED = 3; // 0x3
6874    field @Deprecated public static final int RTT_STATUS_FAIL_SCHEDULE = 11; // 0xb
6875    field @Deprecated public static final int RTT_STATUS_FAIL_TM_TIMEOUT = 5; // 0x5
6876    field @Deprecated public static final int RTT_STATUS_INVALID_REQ = 13; // 0xd
6877    field @Deprecated public static final int RTT_STATUS_NO_WIFI = 14; // 0xe
6878    field @Deprecated public static final int RTT_STATUS_SUCCESS = 0; // 0x0
6879    field @Deprecated public static final int RTT_TYPE_11_MC = 4; // 0x4
6880    field @Deprecated public static final int RTT_TYPE_11_V = 2; // 0x2
6881    field @Deprecated public static final int RTT_TYPE_ONE_SIDED = 1; // 0x1
6882    field @Deprecated public static final int RTT_TYPE_TWO_SIDED = 2; // 0x2
6883    field @Deprecated public static final int RTT_TYPE_UNSPECIFIED = 0; // 0x0
6884  }
6885
6886  @Deprecated public class RttManager.Capabilities {
6887    ctor @Deprecated public RttManager.Capabilities();
6888    field @Deprecated public int supportedPeerType;
6889    field @Deprecated public int supportedType;
6890  }
6891
6892  @Deprecated public static class RttManager.ParcelableRttParams implements android.os.Parcelable {
6893    field @Deprecated @NonNull public android.net.wifi.RttManager.RttParams[] mParams;
6894  }
6895
6896  @Deprecated public static class RttManager.ParcelableRttResults implements android.os.Parcelable {
6897    ctor @Deprecated public RttManager.ParcelableRttResults(android.net.wifi.RttManager.RttResult[]);
6898    field @Deprecated public android.net.wifi.RttManager.RttResult[] mResults;
6899  }
6900
6901  @Deprecated public abstract static class RttManager.ResponderCallback {
6902    ctor @Deprecated public RttManager.ResponderCallback();
6903    method @Deprecated public abstract void onResponderEnableFailure(int);
6904    method @Deprecated public abstract void onResponderEnabled(android.net.wifi.RttManager.ResponderConfig);
6905  }
6906
6907  @Deprecated public static class RttManager.ResponderConfig implements android.os.Parcelable {
6908    ctor @Deprecated public RttManager.ResponderConfig();
6909    method @Deprecated public int describeContents();
6910    method @Deprecated public void writeToParcel(android.os.Parcel, int);
6911    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.RttManager.ResponderConfig> CREATOR;
6912    field @Deprecated public int centerFreq0;
6913    field @Deprecated public int centerFreq1;
6914    field @Deprecated public int channelWidth;
6915    field @Deprecated public int frequency;
6916    field @Deprecated public String macAddress;
6917    field @Deprecated public int preamble;
6918  }
6919
6920  @Deprecated public static class RttManager.RttCapabilities implements android.os.Parcelable {
6921    ctor @Deprecated public RttManager.RttCapabilities();
6922    field @Deprecated public int bwSupported;
6923    field @Deprecated public boolean lciSupported;
6924    field @Deprecated public boolean lcrSupported;
6925    field @Deprecated public int mcVersion;
6926    field @Deprecated public boolean oneSidedRttSupported;
6927    field @Deprecated public int preambleSupported;
6928    field @Deprecated public boolean responderSupported;
6929    field @Deprecated public boolean secureRttSupported;
6930    field @Deprecated public boolean supportedPeerType;
6931    field @Deprecated public boolean supportedType;
6932    field @Deprecated public boolean twoSided11McRttSupported;
6933  }
6934
6935  @Deprecated public static interface RttManager.RttListener {
6936    method @Deprecated public void onAborted();
6937    method @Deprecated public void onFailure(int, String);
6938    method @Deprecated public void onSuccess(android.net.wifi.RttManager.RttResult[]);
6939  }
6940
6941  @Deprecated public static class RttManager.RttParams {
6942    ctor @Deprecated public RttManager.RttParams();
6943    field @Deprecated public boolean LCIRequest;
6944    field @Deprecated public boolean LCRRequest;
6945    field @Deprecated public int bandwidth;
6946    field @Deprecated public String bssid;
6947    field @Deprecated public int burstTimeout;
6948    field @Deprecated public int centerFreq0;
6949    field @Deprecated public int centerFreq1;
6950    field @Deprecated public int channelWidth;
6951    field @Deprecated public int deviceType;
6952    field @Deprecated public int frequency;
6953    field @Deprecated public int interval;
6954    field @Deprecated public int numRetriesPerFTMR;
6955    field @Deprecated public int numRetriesPerMeasurementFrame;
6956    field @Deprecated public int numSamplesPerBurst;
6957    field @Deprecated public int num_retries;
6958    field @Deprecated public int num_samples;
6959    field @Deprecated public int numberBurst;
6960    field @Deprecated public int preamble;
6961    field @Deprecated public int requestType;
6962    field @Deprecated public boolean secure;
6963  }
6964
6965  @Deprecated public static class RttManager.RttResult {
6966    ctor @Deprecated public RttManager.RttResult();
6967    field @Deprecated public android.net.wifi.RttManager.WifiInformationElement LCI;
6968    field @Deprecated public android.net.wifi.RttManager.WifiInformationElement LCR;
6969    field @Deprecated public String bssid;
6970    field @Deprecated public int burstDuration;
6971    field @Deprecated public int burstNumber;
6972    field @Deprecated public int distance;
6973    field @Deprecated public int distanceSpread;
6974    field @Deprecated public int distanceStandardDeviation;
6975    field @Deprecated public int distance_cm;
6976    field @Deprecated public int distance_sd_cm;
6977    field @Deprecated public int distance_spread_cm;
6978    field @Deprecated public int frameNumberPerBurstPeer;
6979    field @Deprecated public int measurementFrameNumber;
6980    field @Deprecated public int measurementType;
6981    field @Deprecated public int negotiatedBurstNum;
6982    field @Deprecated public int requestType;
6983    field @Deprecated public int retryAfterDuration;
6984    field @Deprecated public int rssi;
6985    field @Deprecated public int rssiSpread;
6986    field @Deprecated public int rssi_spread;
6987    field @Deprecated public long rtt;
6988    field @Deprecated public long rttSpread;
6989    field @Deprecated public long rttStandardDeviation;
6990    field @Deprecated public long rtt_ns;
6991    field @Deprecated public long rtt_sd_ns;
6992    field @Deprecated public long rtt_spread_ns;
6993    field @Deprecated public int rxRate;
6994    field @Deprecated public boolean secure;
6995    field @Deprecated public int status;
6996    field @Deprecated public int successMeasurementFrameNumber;
6997    field @Deprecated public long ts;
6998    field @Deprecated public int txRate;
6999    field @Deprecated public int tx_rate;
7000  }
7001
7002  @Deprecated public static class RttManager.WifiInformationElement {
7003    ctor @Deprecated public RttManager.WifiInformationElement();
7004    field @Deprecated public byte[] data;
7005    field @Deprecated public byte id;
7006  }
7007
7008  public final class ScanResult implements android.os.Parcelable {
7009    field public static final int CIPHER_CCMP = 3; // 0x3
7010    field public static final int CIPHER_GCMP_256 = 4; // 0x4
7011    field public static final int CIPHER_NONE = 0; // 0x0
7012    field public static final int CIPHER_NO_GROUP_ADDRESSED = 1; // 0x1
7013    field public static final int CIPHER_SMS4 = 5; // 0x5
7014    field public static final int CIPHER_TKIP = 2; // 0x2
7015    field public static final int KEY_MGMT_EAP = 2; // 0x2
7016    field public static final int KEY_MGMT_EAP_SHA256 = 6; // 0x6
7017    field public static final int KEY_MGMT_EAP_SUITE_B_192 = 10; // 0xa
7018    field public static final int KEY_MGMT_FT_EAP = 4; // 0x4
7019    field public static final int KEY_MGMT_FT_PSK = 3; // 0x3
7020    field public static final int KEY_MGMT_FT_SAE = 11; // 0xb
7021    field public static final int KEY_MGMT_NONE = 0; // 0x0
7022    field public static final int KEY_MGMT_OSEN = 7; // 0x7
7023    field public static final int KEY_MGMT_OWE = 9; // 0x9
7024    field public static final int KEY_MGMT_OWE_TRANSITION = 12; // 0xc
7025    field public static final int KEY_MGMT_PSK = 1; // 0x1
7026    field public static final int KEY_MGMT_PSK_SHA256 = 5; // 0x5
7027    field public static final int KEY_MGMT_SAE = 8; // 0x8
7028    field public static final int KEY_MGMT_WAPI_CERT = 14; // 0xe
7029    field public static final int KEY_MGMT_WAPI_PSK = 13; // 0xd
7030    field public static final int PROTOCOL_NONE = 0; // 0x0
7031    field public static final int PROTOCOL_OSEN = 3; // 0x3
7032    field public static final int PROTOCOL_RSN = 2; // 0x2
7033    field public static final int PROTOCOL_WAPI = 4; // 0x4
7034    field public static final int PROTOCOL_WPA = 1; // 0x1
7035  }
7036
7037  public final class SoftApCapability implements android.os.Parcelable {
7038    method public boolean areFeaturesSupported(long);
7039    method public int describeContents();
7040    method public int getMaxSupportedClients();
7041    method public void writeToParcel(@NonNull android.os.Parcel, int);
7042    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApCapability> CREATOR;
7043    field public static final long SOFTAP_FEATURE_ACS_OFFLOAD = 1L; // 0x1L
7044    field public static final long SOFTAP_FEATURE_CLIENT_FORCE_DISCONNECT = 2L; // 0x2L
7045    field public static final long SOFTAP_FEATURE_WPA3_SAE = 4L; // 0x4L
7046  }
7047
7048  public final class SoftApConfiguration implements android.os.Parcelable {
7049    method @NonNull public java.util.List<android.net.MacAddress> getAllowedClientList();
7050    method public int getBand();
7051    method @NonNull public java.util.List<android.net.MacAddress> getBlockedClientList();
7052    method public int getChannel();
7053    method public int getMaxNumberOfClients();
7054    method public long getShutdownTimeoutMillis();
7055    method public boolean isAutoShutdownEnabled();
7056    method public boolean isClientControlByUserEnabled();
7057    method @Nullable public android.net.wifi.WifiConfiguration toWifiConfiguration();
7058    field public static final int BAND_2GHZ = 1; // 0x1
7059    field public static final int BAND_5GHZ = 2; // 0x2
7060    field public static final int BAND_6GHZ = 4; // 0x4
7061    field public static final int BAND_ANY = 7; // 0x7
7062  }
7063
7064  public static final class SoftApConfiguration.Builder {
7065    ctor public SoftApConfiguration.Builder();
7066    ctor public SoftApConfiguration.Builder(@NonNull android.net.wifi.SoftApConfiguration);
7067    method @NonNull public android.net.wifi.SoftApConfiguration build();
7068    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAllowedClientList(@NonNull java.util.List<android.net.MacAddress>);
7069    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAutoShutdownEnabled(boolean);
7070    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBand(int);
7071    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBlockedClientList(@NonNull java.util.List<android.net.MacAddress>);
7072    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBssid(@Nullable android.net.MacAddress);
7073    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setChannel(int, int);
7074    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setClientControlByUserEnabled(boolean);
7075    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setHiddenSsid(boolean);
7076    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMaxNumberOfClients(@IntRange(from=0) int);
7077    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setPassphrase(@Nullable String, int);
7078    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setShutdownTimeoutMillis(@IntRange(from=0) long);
7079    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setSsid(@Nullable String);
7080  }
7081
7082  public final class SoftApInfo implements android.os.Parcelable {
7083    method public int describeContents();
7084    method public int getBandwidth();
7085    method public int getFrequency();
7086    method public void writeToParcel(@NonNull android.os.Parcel, int);
7087    field public static final int CHANNEL_WIDTH_160MHZ = 6; // 0x6
7088    field public static final int CHANNEL_WIDTH_20MHZ = 2; // 0x2
7089    field public static final int CHANNEL_WIDTH_20MHZ_NOHT = 1; // 0x1
7090    field public static final int CHANNEL_WIDTH_40MHZ = 3; // 0x3
7091    field public static final int CHANNEL_WIDTH_80MHZ = 4; // 0x4
7092    field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 5; // 0x5
7093    field public static final int CHANNEL_WIDTH_INVALID = 0; // 0x0
7094    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApInfo> CREATOR;
7095  }
7096
7097  public final class WifiClient implements android.os.Parcelable {
7098    method public int describeContents();
7099    method @NonNull public android.net.MacAddress getMacAddress();
7100    method public void writeToParcel(@NonNull android.os.Parcel, int);
7101    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiClient> CREATOR;
7102  }
7103
7104  @Deprecated public class WifiConfiguration implements android.os.Parcelable {
7105    method @Deprecated public int getAuthType();
7106    method @Deprecated @NonNull public android.net.IpConfiguration getIpConfiguration();
7107    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus getNetworkSelectionStatus();
7108    method @Deprecated @NonNull public String getPrintableSsid();
7109    method @Deprecated public int getRecentFailureReason();
7110    method @Deprecated public boolean hasNoInternetAccess();
7111    method @Deprecated public boolean isEphemeral();
7112    method @Deprecated public static boolean isMetered(@Nullable android.net.wifi.WifiConfiguration, @Nullable android.net.wifi.WifiInfo);
7113    method @Deprecated public boolean isNoInternetAccessExpected();
7114    method @Deprecated public void setIpConfiguration(@Nullable android.net.IpConfiguration);
7115    method @Deprecated public void setNetworkSelectionStatus(@NonNull android.net.wifi.WifiConfiguration.NetworkSelectionStatus);
7116    field @Deprecated public static final int INVALID_NETWORK_ID = -1; // 0xffffffff
7117    field @Deprecated public static final int METERED_OVERRIDE_METERED = 1; // 0x1
7118    field @Deprecated public static final int METERED_OVERRIDE_NONE = 0; // 0x0
7119    field @Deprecated public static final int METERED_OVERRIDE_NOT_METERED = 2; // 0x2
7120    field @Deprecated public static final int RANDOMIZATION_NONE = 0; // 0x0
7121    field @Deprecated public static final int RANDOMIZATION_PERSISTENT = 1; // 0x1
7122    field @Deprecated public static final int RECENT_FAILURE_AP_UNABLE_TO_HANDLE_NEW_STA = 17; // 0x11
7123    field @Deprecated public static final int RECENT_FAILURE_NONE = 0; // 0x0
7124    field @Deprecated public boolean allowAutojoin;
7125    field @Deprecated public int carrierId;
7126    field @Deprecated public String creatorName;
7127    field @Deprecated public int creatorUid;
7128    field @Deprecated public boolean fromWifiNetworkSpecifier;
7129    field @Deprecated public boolean fromWifiNetworkSuggestion;
7130    field @Deprecated public String lastUpdateName;
7131    field @Deprecated public int lastUpdateUid;
7132    field @Deprecated public int macRandomizationSetting;
7133    field @Deprecated public boolean meteredHint;
7134    field @Deprecated public int meteredOverride;
7135    field @Deprecated public int numAssociation;
7136    field @Deprecated public int numScorerOverride;
7137    field @Deprecated public int numScorerOverrideAndSwitchedNetwork;
7138    field @Deprecated public boolean requirePmf;
7139    field @Deprecated public boolean shared;
7140    field @Deprecated public boolean useExternalScores;
7141  }
7142
7143  @Deprecated public static class WifiConfiguration.KeyMgmt {
7144    field @Deprecated public static final int WAPI_CERT = 14; // 0xe
7145    field @Deprecated public static final int WAPI_PSK = 13; // 0xd
7146    field @Deprecated public static final int WPA2_PSK = 4; // 0x4
7147  }
7148
7149  @Deprecated public static class WifiConfiguration.NetworkSelectionStatus {
7150    method @Deprecated public int getDisableReasonCounter(int);
7151    method @Deprecated public long getDisableTime();
7152    method @Deprecated public static int getMaxNetworkSelectionDisableReason();
7153    method @Deprecated public int getNetworkSelectionDisableReason();
7154    method @Deprecated @Nullable public static String getNetworkSelectionDisableReasonString(int);
7155    method @Deprecated public int getNetworkSelectionStatus();
7156    method @Deprecated @NonNull public String getNetworkStatusString();
7157    method @Deprecated public boolean hasEverConnected();
7158    field @Deprecated public static final int DISABLED_ASSOCIATION_REJECTION = 1; // 0x1
7159    field @Deprecated public static final int DISABLED_AUTHENTICATION_FAILURE = 2; // 0x2
7160    field @Deprecated public static final int DISABLED_AUTHENTICATION_NO_CREDENTIALS = 5; // 0x5
7161    field @Deprecated public static final int DISABLED_AUTHENTICATION_NO_SUBSCRIPTION = 9; // 0x9
7162    field @Deprecated public static final int DISABLED_BY_WIFI_MANAGER = 7; // 0x7
7163    field @Deprecated public static final int DISABLED_BY_WRONG_PASSWORD = 8; // 0x8
7164    field @Deprecated public static final int DISABLED_DHCP_FAILURE = 3; // 0x3
7165    field @Deprecated public static final int DISABLED_NONE = 0; // 0x0
7166    field @Deprecated public static final int DISABLED_NO_INTERNET_PERMANENT = 6; // 0x6
7167    field @Deprecated public static final int DISABLED_NO_INTERNET_TEMPORARY = 4; // 0x4
7168    field @Deprecated public static final int NETWORK_SELECTION_ENABLED = 0; // 0x0
7169    field @Deprecated public static final int NETWORK_SELECTION_PERMANENTLY_DISABLED = 2; // 0x2
7170    field @Deprecated public static final int NETWORK_SELECTION_TEMPORARY_DISABLED = 1; // 0x1
7171  }
7172
7173  @Deprecated public static final class WifiConfiguration.NetworkSelectionStatus.Builder {
7174    ctor @Deprecated public WifiConfiguration.NetworkSelectionStatus.Builder();
7175    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus build();
7176    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus.Builder setNetworkSelectionDisableReason(int);
7177    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus.Builder setNetworkSelectionStatus(int);
7178  }
7179
7180  public class WifiEnterpriseConfig implements android.os.Parcelable {
7181    method @Nullable public String[] getCaCertificateAliases();
7182    method @NonNull public String getCaPath();
7183    method @NonNull public String getClientCertificateAlias();
7184    method public int getOcsp();
7185    method @NonNull public String getWapiCertSuite();
7186    method public void setCaCertificateAliases(@Nullable String[]);
7187    method public void setCaPath(@NonNull String);
7188    method public void setClientCertificateAlias(@NonNull String);
7189    method public void setOcsp(int);
7190    method public void setWapiCertSuite(@NonNull String);
7191    field public static final int OCSP_NONE = 0; // 0x0
7192    field public static final int OCSP_REQUEST_CERT_STATUS = 1; // 0x1
7193    field public static final int OCSP_REQUIRE_ALL_NON_TRUSTED_CERTS_STATUS = 3; // 0x3
7194    field public static final int OCSP_REQUIRE_CERT_STATUS = 2; // 0x2
7195  }
7196
7197  public class WifiFrameworkInitializer {
7198    method public static void registerServiceWrappers();
7199  }
7200
7201  public class WifiInfo implements android.os.Parcelable {
7202    method public double getLostTxPacketsPerSecond();
7203    method @Nullable public String getRequestingPackageName();
7204    method public double getRetriedTxPacketsPerSecond();
7205    method public int getScore();
7206    method public double getSuccessfulRxPacketsPerSecond();
7207    method public double getSuccessfulTxPacketsPerSecond();
7208    method public boolean isEphemeral();
7209    method public boolean isOsuAp();
7210    method public boolean isPasspointAp();
7211    method @Nullable public static String sanitizeSsid(@Nullable String);
7212    field public static final String DEFAULT_MAC_ADDRESS = "02:00:00:00:00:00";
7213    field public static final int INVALID_RSSI = -127; // 0xffffff81
7214  }
7215
7216  public class WifiManager {
7217    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void addOnWifiUsabilityStatsListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener);
7218    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoin(int, boolean);
7219    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoinGlobal(boolean);
7220    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoinPasspoint(@NonNull String, boolean);
7221    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void clearWifiConnectedNetworkScorer();
7222    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);
7223    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);
7224    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);
7225    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK}) public void disableEphemeralNetwork(@NonNull String);
7226    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void factoryReset();
7227    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);
7228    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>);
7229    method @Nullable @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String getCountryCode();
7230    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.Network getCurrentNetwork();
7231    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String[] getFactoryMacAddresses();
7232    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>);
7233    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>);
7234    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>);
7235    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();
7236    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public android.net.wifi.SoftApConfiguration getSoftApConfiguration();
7237    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void getWifiActivityEnergyInfoAsync(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.OnWifiActivityEnergyInfoListener);
7238    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public android.net.wifi.WifiConfiguration getWifiApConfiguration();
7239    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public int getWifiApState();
7240    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>);
7241    method public boolean isApMacRandomizationSupported();
7242    method public boolean isConnectedMacRandomizationSupported();
7243    method @Deprecated public boolean isDeviceToDeviceRttSupported();
7244    method public boolean isPortableHotspotSupported();
7245    method public boolean isVerboseLoggingEnabled();
7246    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isWifiApEnabled();
7247    method public boolean isWifiScannerSupported();
7248    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void registerNetworkRequestMatchCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.NetworkRequestMatchCallback);
7249    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void registerSoftApCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SoftApCallback);
7250    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void registerTrafficStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.TrafficStateCallback);
7251    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void removeOnWifiUsabilityStatsListener(@NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener);
7252    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void restoreBackupData(@NonNull byte[]);
7253    method @Nullable @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public android.net.wifi.SoftApConfiguration restoreSoftApBackupData(@NonNull byte[]);
7254    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void restoreSupplicantBackupData(@NonNull byte[], @NonNull byte[]);
7255    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public byte[] retrieveBackupData();
7256    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public byte[] retrieveSoftApBackupData();
7257    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);
7258    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setAutoWakeupEnabled(boolean);
7259    method @RequiresPermission(android.Manifest.permission.WIFI_SET_DEVICE_MOBILITY_STATE) public void setDeviceMobilityState(int);
7260    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setMacRandomizationSettingPasspointEnabled(@NonNull String, boolean);
7261    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setPasspointMeteredOverride(@NonNull String, int);
7262    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setScanAlwaysAvailable(boolean);
7263    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setScanThrottleEnabled(boolean);
7264    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public boolean setSoftApConfiguration(@NonNull android.net.wifi.SoftApConfiguration);
7265    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setVerboseLoggingEnabled(boolean);
7266    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public boolean setWifiApConfiguration(android.net.wifi.WifiConfiguration);
7267    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public boolean setWifiConnectedNetworkScorer(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiConnectedNetworkScorer);
7268    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);
7269    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);
7270    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);
7271    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public boolean startScan(android.os.WorkSource);
7272    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);
7273    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean startTetheredHotspot(@Nullable android.net.wifi.SoftApConfiguration);
7274    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void stopEasyConnectSession();
7275    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean stopSoftAp();
7276    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterNetworkRequestMatchCallback(@NonNull android.net.wifi.WifiManager.NetworkRequestMatchCallback);
7277    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterSoftApCallback(@NonNull android.net.wifi.WifiManager.SoftApCallback);
7278    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterTrafficStateCallback(@NonNull android.net.wifi.WifiManager.TrafficStateCallback);
7279    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void updateInterfaceIpState(@Nullable String, int);
7280    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void updateWifiUsabilityScore(int, int, int);
7281    field public static final String ACTION_LINK_CONFIGURATION_CHANGED = "android.net.wifi.LINK_CONFIGURATION_CHANGED";
7282    field @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public static final String ACTION_NETWORK_SETTINGS_RESET = "android.net.wifi.action.NETWORK_SETTINGS_RESET";
7283    field public static final String ACTION_PASSPOINT_LAUNCH_OSU_VIEW = "android.net.wifi.action.PASSPOINT_LAUNCH_OSU_VIEW";
7284    field public static final String ACTION_REQUEST_DISABLE = "android.net.wifi.action.REQUEST_DISABLE";
7285    field public static final String ACTION_REQUEST_ENABLE = "android.net.wifi.action.REQUEST_ENABLE";
7286    field public static final int CHANGE_REASON_ADDED = 0; // 0x0
7287    field public static final int CHANGE_REASON_CONFIG_CHANGE = 2; // 0x2
7288    field public static final int CHANGE_REASON_REMOVED = 1; // 0x1
7289    field public static final String CONFIGURED_NETWORKS_CHANGED_ACTION = "android.net.wifi.CONFIGURED_NETWORKS_CHANGE";
7290    field public static final int DEVICE_MOBILITY_STATE_HIGH_MVMT = 1; // 0x1
7291    field public static final int DEVICE_MOBILITY_STATE_LOW_MVMT = 2; // 0x2
7292    field public static final int DEVICE_MOBILITY_STATE_STATIONARY = 3; // 0x3
7293    field public static final int DEVICE_MOBILITY_STATE_UNKNOWN = 0; // 0x0
7294    field public static final int EASY_CONNECT_NETWORK_ROLE_AP = 1; // 0x1
7295    field public static final int EASY_CONNECT_NETWORK_ROLE_STA = 0; // 0x0
7296    field public static final String EXTRA_CHANGE_REASON = "changeReason";
7297    field public static final String EXTRA_LINK_PROPERTIES = "android.net.wifi.extra.LINK_PROPERTIES";
7298    field public static final String EXTRA_MULTIPLE_NETWORKS_CHANGED = "multipleChanges";
7299    field public static final String EXTRA_OSU_NETWORK = "android.net.wifi.extra.OSU_NETWORK";
7300    field public static final String EXTRA_PREVIOUS_WIFI_AP_STATE = "previous_wifi_state";
7301    field public static final String EXTRA_URL = "android.net.wifi.extra.URL";
7302    field public static final String EXTRA_WIFI_AP_FAILURE_REASON = "android.net.wifi.extra.WIFI_AP_FAILURE_REASON";
7303    field public static final String EXTRA_WIFI_AP_INTERFACE_NAME = "android.net.wifi.extra.WIFI_AP_INTERFACE_NAME";
7304    field public static final String EXTRA_WIFI_AP_MODE = "android.net.wifi.extra.WIFI_AP_MODE";
7305    field public static final String EXTRA_WIFI_AP_STATE = "wifi_state";
7306    field public static final String EXTRA_WIFI_CONFIGURATION = "wifiConfiguration";
7307    field public static final String EXTRA_WIFI_CREDENTIAL_EVENT_TYPE = "et";
7308    field public static final String EXTRA_WIFI_CREDENTIAL_SSID = "ssid";
7309    field public static final int IFACE_IP_MODE_CONFIGURATION_ERROR = 0; // 0x0
7310    field public static final int IFACE_IP_MODE_LOCAL_ONLY = 2; // 0x2
7311    field public static final int IFACE_IP_MODE_TETHERED = 1; // 0x1
7312    field public static final int IFACE_IP_MODE_UNSPECIFIED = -1; // 0xffffffff
7313    field public static final int PASSPOINT_HOME_NETWORK = 0; // 0x0
7314    field public static final int PASSPOINT_ROAMING_NETWORK = 1; // 0x1
7315    field public static final int SAP_CLIENT_BLOCK_REASON_CODE_BLOCKED_BY_USER = 0; // 0x0
7316    field public static final int SAP_CLIENT_BLOCK_REASON_CODE_NO_MORE_STAS = 1; // 0x1
7317    field public static final int SAP_START_FAILURE_GENERAL = 0; // 0x0
7318    field public static final int SAP_START_FAILURE_NO_CHANNEL = 1; // 0x1
7319    field public static final int SAP_START_FAILURE_UNSUPPORTED_CONFIGURATION = 2; // 0x2
7320    field public static final String WIFI_AP_STATE_CHANGED_ACTION = "android.net.wifi.WIFI_AP_STATE_CHANGED";
7321    field public static final int WIFI_AP_STATE_DISABLED = 11; // 0xb
7322    field public static final int WIFI_AP_STATE_DISABLING = 10; // 0xa
7323    field public static final int WIFI_AP_STATE_ENABLED = 13; // 0xd
7324    field public static final int WIFI_AP_STATE_ENABLING = 12; // 0xc
7325    field public static final int WIFI_AP_STATE_FAILED = 14; // 0xe
7326    field public static final String WIFI_CREDENTIAL_CHANGED_ACTION = "android.net.wifi.WIFI_CREDENTIAL_CHANGED";
7327    field public static final int WIFI_CREDENTIAL_FORGOT = 1; // 0x1
7328    field public static final int WIFI_CREDENTIAL_SAVED = 0; // 0x0
7329  }
7330
7331  public static interface WifiManager.ActionListener {
7332    method public void onFailure(int);
7333    method public void onSuccess();
7334  }
7335
7336  public static interface WifiManager.NetworkRequestMatchCallback {
7337    method public default void onAbort();
7338    method public default void onMatch(@NonNull java.util.List<android.net.wifi.ScanResult>);
7339    method public default void onUserSelectionCallbackRegistration(@NonNull android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback);
7340    method public default void onUserSelectionConnectFailure(@NonNull android.net.wifi.WifiConfiguration);
7341    method public default void onUserSelectionConnectSuccess(@NonNull android.net.wifi.WifiConfiguration);
7342  }
7343
7344  public static interface WifiManager.NetworkRequestUserSelectionCallback {
7345    method public default void reject();
7346    method public default void select(@NonNull android.net.wifi.WifiConfiguration);
7347  }
7348
7349  public static interface WifiManager.OnWifiActivityEnergyInfoListener {
7350    method public void onWifiActivityEnergyInfo(@Nullable android.os.connectivity.WifiActivityEnergyInfo);
7351  }
7352
7353  public static interface WifiManager.OnWifiUsabilityStatsListener {
7354    method public void onWifiUsabilityStats(int, boolean, @NonNull android.net.wifi.WifiUsabilityStatsEntry);
7355  }
7356
7357  public static interface WifiManager.ScoreUpdateObserver {
7358    method public void notifyScoreUpdate(int, int);
7359    method public void triggerUpdateOfWifiUsabilityStats(int);
7360  }
7361
7362  public static interface WifiManager.SoftApCallback {
7363    method public default void onBlockedClientConnecting(@NonNull android.net.wifi.WifiClient, int);
7364    method public default void onCapabilityChanged(@NonNull android.net.wifi.SoftApCapability);
7365    method public default void onConnectedClientsChanged(@NonNull java.util.List<android.net.wifi.WifiClient>);
7366    method public default void onInfoChanged(@NonNull android.net.wifi.SoftApInfo);
7367    method public default void onStateChanged(int, int);
7368  }
7369
7370  public static interface WifiManager.TrafficStateCallback {
7371    method public void onStateChanged(int);
7372    field public static final int DATA_ACTIVITY_IN = 1; // 0x1
7373    field public static final int DATA_ACTIVITY_INOUT = 3; // 0x3
7374    field public static final int DATA_ACTIVITY_NONE = 0; // 0x0
7375    field public static final int DATA_ACTIVITY_OUT = 2; // 0x2
7376  }
7377
7378  public static interface WifiManager.WifiConnectedNetworkScorer {
7379    method public void onSetScoreUpdateObserver(@NonNull android.net.wifi.WifiManager.ScoreUpdateObserver);
7380    method public void onStart(int);
7381    method public void onStop(int);
7382  }
7383
7384  public final class WifiMigration {
7385    method @Nullable public static java.io.InputStream convertAndRetrieveSharedConfigStoreFile(int);
7386    method @Nullable public static java.io.InputStream convertAndRetrieveUserConfigStoreFile(int, @NonNull android.os.UserHandle);
7387    method @NonNull public static android.net.wifi.WifiMigration.SettingsMigrationData loadFromSettings(@NonNull android.content.Context);
7388    method public static void removeSharedConfigStoreFile(int);
7389    method public static void removeUserConfigStoreFile(int, @NonNull android.os.UserHandle);
7390    field public static final int STORE_FILE_SHARED_GENERAL = 0; // 0x0
7391    field public static final int STORE_FILE_SHARED_SOFTAP = 1; // 0x1
7392    field public static final int STORE_FILE_USER_GENERAL = 2; // 0x2
7393    field public static final int STORE_FILE_USER_NETWORK_SUGGESTIONS = 3; // 0x3
7394  }
7395
7396  public static final class WifiMigration.SettingsMigrationData implements android.os.Parcelable {
7397    method public int describeContents();
7398    method @Nullable public String getP2pDeviceName();
7399    method public boolean isP2pFactoryResetPending();
7400    method public boolean isScanAlwaysAvailable();
7401    method public boolean isScanThrottleEnabled();
7402    method public boolean isSoftApTimeoutEnabled();
7403    method public boolean isVerboseLoggingEnabled();
7404    method public boolean isWakeUpEnabled();
7405    method public void writeToParcel(@NonNull android.os.Parcel, int);
7406    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiMigration.SettingsMigrationData> CREATOR;
7407  }
7408
7409  public static final class WifiMigration.SettingsMigrationData.Builder {
7410    ctor public WifiMigration.SettingsMigrationData.Builder();
7411    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData build();
7412    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setP2pDeviceName(@Nullable String);
7413    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setP2pFactoryResetPending(boolean);
7414    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setScanAlwaysAvailable(boolean);
7415    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setScanThrottleEnabled(boolean);
7416    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setSoftApTimeoutEnabled(boolean);
7417    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setVerboseLoggingEnabled(boolean);
7418    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setWakeUpEnabled(boolean);
7419  }
7420
7421  public class WifiNetworkConnectionStatistics implements android.os.Parcelable {
7422    ctor public WifiNetworkConnectionStatistics(int, int);
7423    ctor public WifiNetworkConnectionStatistics();
7424    ctor public WifiNetworkConnectionStatistics(android.net.wifi.WifiNetworkConnectionStatistics);
7425    method public int describeContents();
7426    method public void writeToParcel(android.os.Parcel, int);
7427    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkConnectionStatistics> CREATOR;
7428    field public int numConnection;
7429    field public int numUsage;
7430  }
7431
7432  public final class WifiNetworkSuggestion implements android.os.Parcelable {
7433    method @NonNull public android.net.wifi.WifiConfiguration getWifiConfiguration();
7434  }
7435
7436  public static final class WifiNetworkSuggestion.Builder {
7437    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public android.net.wifi.WifiNetworkSuggestion.Builder setCarrierId(int);
7438  }
7439
7440  public class WifiScanner {
7441    method @Deprecated public void configureWifiChange(int, int, int, int, int, android.net.wifi.WifiScanner.BssidInfo[]);
7442    method @Deprecated public void configureWifiChange(android.net.wifi.WifiScanner.WifiChangeSettings);
7443    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<java.lang.Integer> getAvailableChannels(int);
7444    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean getScanResults();
7445    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<android.net.wifi.ScanResult> getSingleScanResults();
7446    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void registerScanListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiScanner.ScanListener);
7447    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setScanningEnabled(boolean);
7448    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startBackgroundScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener);
7449    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startBackgroundScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener, android.os.WorkSource);
7450    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener);
7451    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener, android.os.WorkSource);
7452    method @Deprecated public void startTrackingBssids(android.net.wifi.WifiScanner.BssidInfo[], int, android.net.wifi.WifiScanner.BssidListener);
7453    method @Deprecated public void startTrackingWifiChange(android.net.wifi.WifiScanner.WifiChangeListener);
7454    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopBackgroundScan(android.net.wifi.WifiScanner.ScanListener);
7455    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopScan(android.net.wifi.WifiScanner.ScanListener);
7456    method @Deprecated public void stopTrackingBssids(android.net.wifi.WifiScanner.BssidListener);
7457    method @Deprecated public void stopTrackingWifiChange(android.net.wifi.WifiScanner.WifiChangeListener);
7458    method public void unregisterScanListener(@NonNull android.net.wifi.WifiScanner.ScanListener);
7459    field public static final int MAX_SCAN_PERIOD_MS = 1024000; // 0xfa000
7460    field public static final int MIN_SCAN_PERIOD_MS = 1000; // 0x3e8
7461    field public static final int REASON_DUPLICATE_REQEUST = -5; // 0xfffffffb
7462    field public static final int REASON_INVALID_LISTENER = -2; // 0xfffffffe
7463    field public static final int REASON_INVALID_REQUEST = -3; // 0xfffffffd
7464    field public static final int REASON_NOT_AUTHORIZED = -4; // 0xfffffffc
7465    field public static final int REASON_SUCCEEDED = 0; // 0x0
7466    field public static final int REASON_UNSPECIFIED = -1; // 0xffffffff
7467    field @Deprecated public static final int REPORT_EVENT_AFTER_BUFFER_FULL = 0; // 0x0
7468    field public static final int REPORT_EVENT_AFTER_EACH_SCAN = 1; // 0x1
7469    field public static final int REPORT_EVENT_FULL_SCAN_RESULT = 2; // 0x2
7470    field public static final int REPORT_EVENT_NO_BATCH = 4; // 0x4
7471    field public static final int SCAN_TYPE_HIGH_ACCURACY = 2; // 0x2
7472    field public static final int SCAN_TYPE_LOW_LATENCY = 0; // 0x0
7473    field public static final int SCAN_TYPE_LOW_POWER = 1; // 0x1
7474    field public static final int WIFI_BAND_24_5_6_GHZ = 11; // 0xb
7475    field public static final int WIFI_BAND_24_5_WITH_DFS_6_GHZ = 15; // 0xf
7476    field public static final int WIFI_BAND_24_GHZ = 1; // 0x1
7477    field public static final int WIFI_BAND_5_GHZ = 2; // 0x2
7478    field public static final int WIFI_BAND_5_GHZ_DFS_ONLY = 4; // 0x4
7479    field public static final int WIFI_BAND_5_GHZ_WITH_DFS = 6; // 0x6
7480    field public static final int WIFI_BAND_6_GHZ = 8; // 0x8
7481    field public static final int WIFI_BAND_BOTH = 3; // 0x3
7482    field public static final int WIFI_BAND_BOTH_WITH_DFS = 7; // 0x7
7483    field public static final int WIFI_BAND_UNSPECIFIED = 0; // 0x0
7484  }
7485
7486  public static interface WifiScanner.ActionListener {
7487    method public void onFailure(int, String);
7488    method public void onSuccess();
7489  }
7490
7491  @Deprecated public static class WifiScanner.BssidInfo {
7492    ctor @Deprecated public WifiScanner.BssidInfo();
7493    field @Deprecated public String bssid;
7494    field @Deprecated public int frequencyHint;
7495    field @Deprecated public int high;
7496    field @Deprecated public int low;
7497  }
7498
7499  @Deprecated public static interface WifiScanner.BssidListener extends android.net.wifi.WifiScanner.ActionListener {
7500    method @Deprecated public void onFound(android.net.wifi.ScanResult[]);
7501    method @Deprecated public void onLost(android.net.wifi.ScanResult[]);
7502  }
7503
7504  public static class WifiScanner.ChannelSpec {
7505    ctor public WifiScanner.ChannelSpec(int);
7506    field public int frequency;
7507  }
7508
7509  @Deprecated public static class WifiScanner.HotlistSettings implements android.os.Parcelable {
7510    ctor @Deprecated public WifiScanner.HotlistSettings();
7511    field @Deprecated public int apLostThreshold;
7512    field @Deprecated public android.net.wifi.WifiScanner.BssidInfo[] bssidInfos;
7513  }
7514
7515  public static class WifiScanner.ParcelableScanData implements android.os.Parcelable {
7516    ctor public WifiScanner.ParcelableScanData(android.net.wifi.WifiScanner.ScanData[]);
7517    method public android.net.wifi.WifiScanner.ScanData[] getResults();
7518    field public android.net.wifi.WifiScanner.ScanData[] mResults;
7519  }
7520
7521  public static class WifiScanner.ParcelableScanResults implements android.os.Parcelable {
7522    ctor public WifiScanner.ParcelableScanResults(android.net.wifi.ScanResult[]);
7523    method public android.net.wifi.ScanResult[] getResults();
7524    field public android.net.wifi.ScanResult[] mResults;
7525  }
7526
7527  public static class WifiScanner.ScanData implements android.os.Parcelable {
7528    ctor public WifiScanner.ScanData(int, int, android.net.wifi.ScanResult[]);
7529    ctor public WifiScanner.ScanData(android.net.wifi.WifiScanner.ScanData);
7530    method public int getFlags();
7531    method public int getId();
7532    method public android.net.wifi.ScanResult[] getResults();
7533  }
7534
7535  public static interface WifiScanner.ScanListener extends android.net.wifi.WifiScanner.ActionListener {
7536    method public void onFullResult(android.net.wifi.ScanResult);
7537    method @Deprecated public void onPeriodChanged(int);
7538    method public void onResults(android.net.wifi.WifiScanner.ScanData[]);
7539  }
7540
7541  public static class WifiScanner.ScanSettings implements android.os.Parcelable {
7542    ctor public WifiScanner.ScanSettings();
7543    field public int band;
7544    field public android.net.wifi.WifiScanner.ChannelSpec[] channels;
7545    field @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public final java.util.List<android.net.wifi.WifiScanner.ScanSettings.HiddenNetwork> hiddenNetworks;
7546    field public boolean hideFromAppOps;
7547    field public boolean ignoreLocationSettings;
7548    field @Deprecated public int maxPeriodInMs;
7549    field @Deprecated public int maxScansToCache;
7550    field @Deprecated public int numBssidsPerScan;
7551    field @Deprecated public int periodInMs;
7552    field @Deprecated public int reportEvents;
7553    field @Deprecated public int stepCount;
7554    field @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public int type;
7555  }
7556
7557  public static class WifiScanner.ScanSettings.HiddenNetwork {
7558    ctor public WifiScanner.ScanSettings.HiddenNetwork(@NonNull String);
7559    field @NonNull public final String ssid;
7560  }
7561
7562  @Deprecated public static interface WifiScanner.WifiChangeListener extends android.net.wifi.WifiScanner.ActionListener {
7563    method @Deprecated public void onChanging(android.net.wifi.ScanResult[]);
7564    method @Deprecated public void onQuiescence(android.net.wifi.ScanResult[]);
7565  }
7566
7567  @Deprecated public static class WifiScanner.WifiChangeSettings implements android.os.Parcelable {
7568    ctor @Deprecated public WifiScanner.WifiChangeSettings();
7569    field @Deprecated public android.net.wifi.WifiScanner.BssidInfo[] bssidInfos;
7570    field @Deprecated public int lostApSampleSize;
7571    field @Deprecated public int minApsBreachingThreshold;
7572    field @Deprecated public int periodInMs;
7573    field @Deprecated public int rssiSampleSize;
7574    field @Deprecated public int unchangedSampleSize;
7575  }
7576
7577  public final class WifiUsabilityStatsEntry implements android.os.Parcelable {
7578    method public int describeContents();
7579    method public int getCellularDataNetworkType();
7580    method public int getCellularSignalStrengthDb();
7581    method public int getCellularSignalStrengthDbm();
7582    method public int getLinkSpeedMbps();
7583    method public int getProbeElapsedTimeSinceLastUpdateMillis();
7584    method public int getProbeMcsRateSinceLastUpdate();
7585    method public int getProbeStatusSinceLastUpdate();
7586    method public int getRssi();
7587    method public int getRxLinkSpeedMbps();
7588    method public long getTimeStampMillis();
7589    method public long getTotalBackgroundScanTimeMillis();
7590    method public long getTotalBeaconRx();
7591    method public long getTotalCcaBusyFreqTimeMillis();
7592    method public long getTotalHotspot2ScanTimeMillis();
7593    method public long getTotalNanScanTimeMillis();
7594    method public long getTotalPnoScanTimeMillis();
7595    method public long getTotalRadioOnFreqTimeMillis();
7596    method public long getTotalRadioOnTimeMillis();
7597    method public long getTotalRadioRxTimeMillis();
7598    method public long getTotalRadioTxTimeMillis();
7599    method public long getTotalRoamScanTimeMillis();
7600    method public long getTotalRxSuccess();
7601    method public long getTotalScanTimeMillis();
7602    method public long getTotalTxBad();
7603    method public long getTotalTxRetries();
7604    method public long getTotalTxSuccess();
7605    method public boolean isSameRegisteredCell();
7606    method public void writeToParcel(android.os.Parcel, int);
7607    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry> CREATOR;
7608    field public static final int PROBE_STATUS_FAILURE = 3; // 0x3
7609    field public static final int PROBE_STATUS_NO_PROBE = 1; // 0x1
7610    field public static final int PROBE_STATUS_SUCCESS = 2; // 0x2
7611    field public static final int PROBE_STATUS_UNKNOWN = 0; // 0x0
7612  }
7613
7614}
7615
7616package android.net.wifi.aware {
7617
7618  public class DiscoverySession implements java.lang.AutoCloseable {
7619    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPmk(@NonNull android.net.wifi.aware.PeerHandle, @NonNull byte[]);
7620  }
7621
7622  public class WifiAwareSession implements java.lang.AutoCloseable {
7623    method public android.net.NetworkSpecifier createNetworkSpecifierPmk(int, @NonNull byte[], @NonNull byte[]);
7624  }
7625
7626}
7627
7628package android.net.wifi.hotspot2 {
7629
7630  public final class OsuProvider implements android.os.Parcelable {
7631    method public int describeContents();
7632    method @Nullable public String getFriendlyName();
7633    method @Nullable public android.net.Uri getServerUri();
7634    method public void writeToParcel(android.os.Parcel, int);
7635    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.OsuProvider> CREATOR;
7636  }
7637
7638  public final class PasspointConfiguration implements android.os.Parcelable {
7639    method public int getMeteredOverride();
7640    method public boolean isAutojoinEnabled();
7641    method public boolean isMacRandomizationEnabled();
7642  }
7643
7644  public abstract class ProvisioningCallback {
7645    ctor public ProvisioningCallback();
7646    method public abstract void onProvisioningComplete();
7647    method public abstract void onProvisioningFailure(int);
7648    method public abstract void onProvisioningStatus(int);
7649    field public static final int OSU_FAILURE_ADD_PASSPOINT_CONFIGURATION = 22; // 0x16
7650    field public static final int OSU_FAILURE_AP_CONNECTION = 1; // 0x1
7651    field public static final int OSU_FAILURE_INVALID_URL_FORMAT_FOR_OSU = 8; // 0x8
7652    field public static final int OSU_FAILURE_NO_AAA_SERVER_TRUST_ROOT_NODE = 17; // 0x11
7653    field public static final int OSU_FAILURE_NO_AAA_TRUST_ROOT_CERTIFICATE = 21; // 0x15
7654    field public static final int OSU_FAILURE_NO_OSU_ACTIVITY_FOUND = 14; // 0xe
7655    field public static final int OSU_FAILURE_NO_POLICY_SERVER_TRUST_ROOT_NODE = 19; // 0x13
7656    field public static final int OSU_FAILURE_NO_PPS_MO = 16; // 0x10
7657    field public static final int OSU_FAILURE_NO_REMEDIATION_SERVER_TRUST_ROOT_NODE = 18; // 0x12
7658    field public static final int OSU_FAILURE_OSU_PROVIDER_NOT_FOUND = 23; // 0x17
7659    field public static final int OSU_FAILURE_PROVISIONING_ABORTED = 6; // 0x6
7660    field public static final int OSU_FAILURE_PROVISIONING_NOT_AVAILABLE = 7; // 0x7
7661    field public static final int OSU_FAILURE_RETRIEVE_TRUST_ROOT_CERTIFICATES = 20; // 0x14
7662    field public static final int OSU_FAILURE_SERVER_CONNECTION = 3; // 0x3
7663    field public static final int OSU_FAILURE_SERVER_URL_INVALID = 2; // 0x2
7664    field public static final int OSU_FAILURE_SERVER_VALIDATION = 4; // 0x4
7665    field public static final int OSU_FAILURE_SERVICE_PROVIDER_VERIFICATION = 5; // 0x5
7666    field public static final int OSU_FAILURE_SOAP_MESSAGE_EXCHANGE = 11; // 0xb
7667    field public static final int OSU_FAILURE_START_REDIRECT_LISTENER = 12; // 0xc
7668    field public static final int OSU_FAILURE_TIMED_OUT_REDIRECT_LISTENER = 13; // 0xd
7669    field public static final int OSU_FAILURE_UNEXPECTED_COMMAND_TYPE = 9; // 0x9
7670    field public static final int OSU_FAILURE_UNEXPECTED_SOAP_MESSAGE_STATUS = 15; // 0xf
7671    field public static final int OSU_FAILURE_UNEXPECTED_SOAP_MESSAGE_TYPE = 10; // 0xa
7672    field public static final int OSU_STATUS_AP_CONNECTED = 2; // 0x2
7673    field public static final int OSU_STATUS_AP_CONNECTING = 1; // 0x1
7674    field public static final int OSU_STATUS_INIT_SOAP_EXCHANGE = 6; // 0x6
7675    field public static final int OSU_STATUS_REDIRECT_RESPONSE_RECEIVED = 8; // 0x8
7676    field public static final int OSU_STATUS_RETRIEVING_TRUST_ROOT_CERTS = 11; // 0xb
7677    field public static final int OSU_STATUS_SECOND_SOAP_EXCHANGE = 9; // 0x9
7678    field public static final int OSU_STATUS_SERVER_CONNECTED = 5; // 0x5
7679    field public static final int OSU_STATUS_SERVER_CONNECTING = 3; // 0x3
7680    field public static final int OSU_STATUS_SERVER_VALIDATED = 4; // 0x4
7681    field public static final int OSU_STATUS_THIRD_SOAP_EXCHANGE = 10; // 0xa
7682    field public static final int OSU_STATUS_WAITING_FOR_REDIRECT_RESPONSE = 7; // 0x7
7683  }
7684
7685}
7686
7687package android.net.wifi.nl80211 {
7688
7689  public final class DeviceWiphyCapabilities implements android.os.Parcelable {
7690    ctor public DeviceWiphyCapabilities();
7691    method public int describeContents();
7692    method public int getMaxNumberRxSpatialStreams();
7693    method public int getMaxNumberTxSpatialStreams();
7694    method public boolean isChannelWidthSupported(int);
7695    method public boolean isWifiStandardSupported(int);
7696    method public void setWifiStandardSupport(int, boolean);
7697    method public void writeToParcel(@NonNull android.os.Parcel, int);
7698    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.DeviceWiphyCapabilities> CREATOR;
7699  }
7700
7701  public final class NativeScanResult implements android.os.Parcelable {
7702    ctor public NativeScanResult();
7703    method public int describeContents();
7704    method @Nullable public android.net.MacAddress getBssid();
7705    method public int getCapabilities();
7706    method public int getFrequencyMhz();
7707    method @NonNull public byte[] getInformationElements();
7708    method @NonNull public java.util.List<android.net.wifi.nl80211.RadioChainInfo> getRadioChainInfos();
7709    method public int getSignalMbm();
7710    method @NonNull public byte[] getSsid();
7711    method public long getTsf();
7712    method public boolean isAssociated();
7713    method public void writeToParcel(@NonNull android.os.Parcel, int);
7714    field public static final int BSS_CAPABILITY_APSD = 2048; // 0x800
7715    field public static final int BSS_CAPABILITY_CF_POLLABLE = 4; // 0x4
7716    field public static final int BSS_CAPABILITY_CF_POLL_REQUEST = 8; // 0x8
7717    field public static final int BSS_CAPABILITY_CHANNEL_AGILITY = 128; // 0x80
7718    field public static final int BSS_CAPABILITY_DELAYED_BLOCK_ACK = 16384; // 0x4000
7719    field public static final int BSS_CAPABILITY_DSSS_OFDM = 8192; // 0x2000
7720    field public static final int BSS_CAPABILITY_ESS = 1; // 0x1
7721    field public static final int BSS_CAPABILITY_IBSS = 2; // 0x2
7722    field public static final int BSS_CAPABILITY_IMMEDIATE_BLOCK_ACK = 32768; // 0x8000
7723    field public static final int BSS_CAPABILITY_PBCC = 64; // 0x40
7724    field public static final int BSS_CAPABILITY_PRIVACY = 16; // 0x10
7725    field public static final int BSS_CAPABILITY_QOS = 512; // 0x200
7726    field public static final int BSS_CAPABILITY_RADIO_MANAGEMENT = 4096; // 0x1000
7727    field public static final int BSS_CAPABILITY_SHORT_PREAMBLE = 32; // 0x20
7728    field public static final int BSS_CAPABILITY_SHORT_SLOT_TIME = 1024; // 0x400
7729    field public static final int BSS_CAPABILITY_SPECTRUM_MANAGEMENT = 256; // 0x100
7730    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.NativeScanResult> CREATOR;
7731  }
7732
7733  public final class NativeWifiClient implements android.os.Parcelable {
7734    ctor public NativeWifiClient(@Nullable android.net.MacAddress);
7735    method public int describeContents();
7736    method @Nullable public android.net.MacAddress getMacAddress();
7737    method public void writeToParcel(@NonNull android.os.Parcel, int);
7738    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.NativeWifiClient> CREATOR;
7739  }
7740
7741  public final class PnoNetwork implements android.os.Parcelable {
7742    ctor public PnoNetwork();
7743    method public int describeContents();
7744    method @NonNull public int[] getFrequenciesMhz();
7745    method @NonNull public byte[] getSsid();
7746    method public boolean isHidden();
7747    method public void setFrequenciesMhz(@NonNull int[]);
7748    method public void setHidden(boolean);
7749    method public void setSsid(@NonNull byte[]);
7750    method public void writeToParcel(@NonNull android.os.Parcel, int);
7751    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.PnoNetwork> CREATOR;
7752  }
7753
7754  public final class PnoSettings implements android.os.Parcelable {
7755    ctor public PnoSettings();
7756    method public int describeContents();
7757    method public long getIntervalMillis();
7758    method public int getMin2gRssiDbm();
7759    method public int getMin5gRssiDbm();
7760    method public int getMin6gRssiDbm();
7761    method @NonNull public java.util.List<android.net.wifi.nl80211.PnoNetwork> getPnoNetworks();
7762    method public void setIntervalMillis(long);
7763    method public void setMin2gRssiDbm(int);
7764    method public void setMin5gRssiDbm(int);
7765    method public void setMin6gRssiDbm(int);
7766    method public void setPnoNetworks(@NonNull java.util.List<android.net.wifi.nl80211.PnoNetwork>);
7767    method public void writeToParcel(@NonNull android.os.Parcel, int);
7768    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.PnoSettings> CREATOR;
7769  }
7770
7771  public final class RadioChainInfo implements android.os.Parcelable {
7772    ctor public RadioChainInfo(int, int);
7773    method public int describeContents();
7774    method public int getChainId();
7775    method public int getLevelDbm();
7776    method public void writeToParcel(@NonNull android.os.Parcel, int);
7777    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.RadioChainInfo> CREATOR;
7778  }
7779
7780  public class WifiNl80211Manager {
7781    method public void abortScan(@NonNull String);
7782    method public void enableVerboseLogging(boolean);
7783    method @NonNull public int[] getChannelsMhzForBand(int);
7784    method @Nullable public android.net.wifi.nl80211.DeviceWiphyCapabilities getDeviceWiphyCapabilities(@NonNull String);
7785    method @NonNull public java.util.List<android.net.wifi.nl80211.NativeScanResult> getScanResults(@NonNull String, int);
7786    method @Nullable public android.net.wifi.nl80211.WifiNl80211Manager.TxPacketCounters getTxPacketCounters(@NonNull String);
7787    method @Nullable public static android.net.wifi.nl80211.WifiNl80211Manager.OemSecurityType parseOemSecurityTypeElement(int, int, @NonNull byte[]);
7788    method public boolean registerApCallback(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.SoftApCallback);
7789    method public void sendMgmtFrame(@NonNull String, @NonNull byte[], int, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.SendMgmtFrameCallback);
7790    method public void setOnServiceDeadCallback(@NonNull Runnable);
7791    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);
7792    method public boolean setupInterfaceForSoftApMode(@NonNull String);
7793    method @Nullable public android.net.wifi.nl80211.WifiNl80211Manager.SignalPollResult signalPoll(@NonNull String);
7794    method public boolean startPnoScan(@NonNull String, @NonNull android.net.wifi.nl80211.PnoSettings, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.PnoScanRequestCallback);
7795    method public boolean startScan(@NonNull String, int, @Nullable java.util.Set<java.lang.Integer>, @Nullable java.util.List<byte[]>);
7796    method public boolean stopPnoScan(@NonNull String);
7797    method public boolean tearDownClientInterface(@NonNull String);
7798    method public boolean tearDownInterfaces();
7799    method public boolean tearDownSoftApInterface(@NonNull String);
7800    field public static final int SCAN_TYPE_PNO_SCAN = 1; // 0x1
7801    field public static final int SCAN_TYPE_SINGLE_SCAN = 0; // 0x0
7802    field public static final int SEND_MGMT_FRAME_ERROR_ALREADY_STARTED = 5; // 0x5
7803    field public static final int SEND_MGMT_FRAME_ERROR_MCS_UNSUPPORTED = 2; // 0x2
7804    field public static final int SEND_MGMT_FRAME_ERROR_NO_ACK = 3; // 0x3
7805    field public static final int SEND_MGMT_FRAME_ERROR_TIMEOUT = 4; // 0x4
7806    field public static final int SEND_MGMT_FRAME_ERROR_UNKNOWN = 1; // 0x1
7807  }
7808
7809  public static class WifiNl80211Manager.OemSecurityType {
7810    ctor public WifiNl80211Manager.OemSecurityType(int, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>, int);
7811    field public final int groupCipher;
7812    field @NonNull public final java.util.List<java.lang.Integer> keyManagement;
7813    field @NonNull public final java.util.List<java.lang.Integer> pairwiseCipher;
7814    field public final int protocol;
7815  }
7816
7817  public static interface WifiNl80211Manager.PnoScanRequestCallback {
7818    method public void onPnoRequestFailed();
7819    method public void onPnoRequestSucceeded();
7820  }
7821
7822  public static interface WifiNl80211Manager.ScanEventCallback {
7823    method public void onScanFailed();
7824    method public void onScanResultReady();
7825  }
7826
7827  public static interface WifiNl80211Manager.SendMgmtFrameCallback {
7828    method public void onAck(int);
7829    method public void onFailure(int);
7830  }
7831
7832  public static class WifiNl80211Manager.SignalPollResult {
7833    field public final int associationFrequencyMHz;
7834    field public final int currentRssiDbm;
7835    field public final int rxBitrateMbps;
7836    field public final int txBitrateMbps;
7837  }
7838
7839  public static interface WifiNl80211Manager.SoftApCallback {
7840    method public void onConnectedClientsChanged(@NonNull android.net.wifi.nl80211.NativeWifiClient, boolean);
7841    method public void onFailure();
7842    method public void onSoftApChannelSwitched(int, int);
7843  }
7844
7845  public static class WifiNl80211Manager.TxPacketCounters {
7846    field public final int txPacketFailed;
7847    field public final int txPacketSucceeded;
7848  }
7849
7850}
7851
7852package android.net.wifi.p2p {
7853
7854  public final class WifiP2pGroupList implements android.os.Parcelable {
7855    method public int describeContents();
7856    method @NonNull public java.util.List<android.net.wifi.p2p.WifiP2pGroup> getGroupList();
7857    method public void writeToParcel(@NonNull android.os.Parcel, int);
7858    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pGroupList> CREATOR;
7859  }
7860
7861  public class WifiP2pManager {
7862    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);
7863    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void factoryReset(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
7864    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);
7865    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);
7866    method @RequiresPermission(android.Manifest.permission.CONFIGURE_WIFI_DISPLAY) public void setMiracastMode(int);
7867    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);
7868    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);
7869    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void startListening(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
7870    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void stopListening(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
7871    field public static final String ACTION_WIFI_P2P_PERSISTENT_GROUPS_CHANGED = "android.net.wifi.p2p.action.WIFI_P2P_PERSISTENT_GROUPS_CHANGED";
7872    field public static final int MIRACAST_DISABLED = 0; // 0x0
7873    field public static final int MIRACAST_SINK = 2; // 0x2
7874    field public static final int MIRACAST_SOURCE = 1; // 0x1
7875  }
7876
7877  public static interface WifiP2pManager.PersistentGroupInfoListener {
7878    method public void onPersistentGroupInfoAvailable(@NonNull android.net.wifi.p2p.WifiP2pGroupList);
7879  }
7880
7881}
7882
7883package android.net.wifi.rtt {
7884
7885  public static final class RangingRequest.Builder {
7886    method public android.net.wifi.rtt.RangingRequest.Builder addResponder(@NonNull android.net.wifi.rtt.ResponderConfig);
7887  }
7888
7889  public final class RangingResult implements android.os.Parcelable {
7890    method @NonNull public byte[] getLci();
7891    method @NonNull public byte[] getLcr();
7892  }
7893
7894  public final class ResponderConfig implements android.os.Parcelable {
7895    ctor public ResponderConfig(@NonNull android.net.MacAddress, int, boolean, int, int, int, int, int);
7896    ctor public ResponderConfig(@NonNull android.net.wifi.aware.PeerHandle, int, boolean, int, int, int, int, int);
7897    method public int describeContents();
7898    method public static android.net.wifi.rtt.ResponderConfig fromScanResult(android.net.wifi.ScanResult);
7899    method public static android.net.wifi.rtt.ResponderConfig fromWifiAwarePeerHandleWithDefaults(android.net.wifi.aware.PeerHandle);
7900    method public static android.net.wifi.rtt.ResponderConfig fromWifiAwarePeerMacAddressWithDefaults(android.net.MacAddress);
7901    method public void writeToParcel(android.os.Parcel, int);
7902    field public static final int CHANNEL_WIDTH_160MHZ = 3; // 0x3
7903    field public static final int CHANNEL_WIDTH_20MHZ = 0; // 0x0
7904    field public static final int CHANNEL_WIDTH_40MHZ = 1; // 0x1
7905    field public static final int CHANNEL_WIDTH_80MHZ = 2; // 0x2
7906    field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 4; // 0x4
7907    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.ResponderConfig> CREATOR;
7908    field public static final int PREAMBLE_HE = 3; // 0x3
7909    field public static final int PREAMBLE_HT = 1; // 0x1
7910    field public static final int PREAMBLE_LEGACY = 0; // 0x0
7911    field public static final int PREAMBLE_VHT = 2; // 0x2
7912    field public static final int RESPONDER_AP = 0; // 0x0
7913    field public static final int RESPONDER_AWARE = 4; // 0x4
7914    field public static final int RESPONDER_P2P_CLIENT = 3; // 0x3
7915    field public static final int RESPONDER_P2P_GO = 2; // 0x2
7916    field public static final int RESPONDER_STA = 1; // 0x1
7917    field public final int centerFreq0;
7918    field public final int centerFreq1;
7919    field public final int channelWidth;
7920    field public final int frequency;
7921    field public final android.net.MacAddress macAddress;
7922    field public final android.net.wifi.aware.PeerHandle peerHandle;
7923    field public final int preamble;
7924    field public final int responderType;
7925    field public final boolean supports80211mc;
7926  }
7927
7928  public final class ResponderLocation implements android.os.Parcelable {
7929    method public boolean getExtraInfoOnAssociationIndication();
7930  }
7931
7932  public class WifiRttManager {
7933    method @RequiresPermission(allOf={android.Manifest.permission.LOCATION_HARDWARE}) public void cancelRanging(@Nullable android.os.WorkSource);
7934    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);
7935  }
7936
7937}
7938
7939package android.nfc {
7940
7941  public final class NfcAdapter {
7942    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean addNfcUnlockHandler(android.nfc.NfcAdapter.NfcUnlockHandler, String[]);
7943    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disable();
7944    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disable(boolean);
7945    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disableNdefPush();
7946    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enable();
7947    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableNdefPush();
7948    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableSecureNfc(boolean);
7949    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean removeNfcUnlockHandler(android.nfc.NfcAdapter.NfcUnlockHandler);
7950    method public void setNdefPushMessage(android.nfc.NdefMessage, android.app.Activity, int);
7951    field public static final int FLAG_NDEF_PUSH_NO_CONFIRM = 1; // 0x1
7952  }
7953
7954  public static interface NfcAdapter.NfcUnlockHandler {
7955    method public boolean onUnlockAttempted(android.nfc.Tag);
7956  }
7957
7958}
7959
7960package android.os {
7961
7962  public class BatteryManager {
7963    method @RequiresPermission(android.Manifest.permission.POWER_SAVER) public boolean setChargingStateUpdateDelayMillis(int);
7964    field public static final String EXTRA_EVENTS = "android.os.extra.EVENTS";
7965    field public static final String EXTRA_EVENT_TIMESTAMP = "android.os.extra.EVENT_TIMESTAMP";
7966  }
7967
7968  public final class BatterySaverPolicyConfig implements android.os.Parcelable {
7969    method public int describeContents();
7970    method public float getAdjustBrightnessFactor();
7971    method public boolean getAdvertiseIsEnabled();
7972    method public boolean getDeferFullBackup();
7973    method public boolean getDeferKeyValueBackup();
7974    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getDeviceSpecificSettings();
7975    method public boolean getDisableAnimation();
7976    method public boolean getDisableAod();
7977    method public boolean getDisableLaunchBoost();
7978    method public boolean getDisableOptionalSensors();
7979    method public boolean getDisableSoundTrigger();
7980    method public boolean getDisableVibration();
7981    method public boolean getEnableAdjustBrightness();
7982    method public boolean getEnableDataSaver();
7983    method public boolean getEnableFirewall();
7984    method public boolean getEnableNightMode();
7985    method public boolean getEnableQuickDoze();
7986    method public boolean getForceAllAppsStandby();
7987    method public boolean getForceBackgroundCheck();
7988    method public int getLocationMode();
7989    method public void writeToParcel(android.os.Parcel, int);
7990    field @NonNull public static final android.os.Parcelable.Creator<android.os.BatterySaverPolicyConfig> CREATOR;
7991  }
7992
7993  public static final class BatterySaverPolicyConfig.Builder {
7994    ctor public BatterySaverPolicyConfig.Builder();
7995    method @NonNull public android.os.BatterySaverPolicyConfig.Builder addDeviceSpecificSetting(@NonNull String, @NonNull String);
7996    method @NonNull public android.os.BatterySaverPolicyConfig build();
7997    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setAdjustBrightnessFactor(float);
7998    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setAdvertiseIsEnabled(boolean);
7999    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDeferFullBackup(boolean);
8000    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDeferKeyValueBackup(boolean);
8001    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableAnimation(boolean);
8002    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableAod(boolean);
8003    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableLaunchBoost(boolean);
8004    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableOptionalSensors(boolean);
8005    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableSoundTrigger(boolean);
8006    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableVibration(boolean);
8007    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableAdjustBrightness(boolean);
8008    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableDataSaver(boolean);
8009    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableFirewall(boolean);
8010    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableNightMode(boolean);
8011    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableQuickDoze(boolean);
8012    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setForceAllAppsStandby(boolean);
8013    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setForceBackgroundCheck(boolean);
8014    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setLocationMode(int);
8015  }
8016
8017  public final class BatteryStatsManager {
8018    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.os.connectivity.CellularBatteryStats getCellularBatteryStats();
8019    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.os.connectivity.WifiBatteryStats getWifiBatteryStats();
8020    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockAcquiredFromSource(@NonNull android.os.WorkSource);
8021    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockReleasedFromSource(@NonNull android.os.WorkSource);
8022    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStartedFromSource(@NonNull android.os.WorkSource, @IntRange(from=0) int);
8023    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStoppedFromSource(@NonNull android.os.WorkSource);
8024    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiMulticastDisabled(@NonNull android.os.WorkSource);
8025    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiMulticastEnabled(@NonNull android.os.WorkSource);
8026    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiOff();
8027    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiOn();
8028    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiRssiChanged(@IntRange(from=0xffffff81, to=0) int);
8029    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStartedFromSource(@NonNull android.os.WorkSource);
8030    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStoppedFromSource(@NonNull android.os.WorkSource);
8031    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiState(int, @Nullable String);
8032    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiSupplicantStateChanged(int, boolean);
8033    field public static final int WIFI_STATE_OFF = 0; // 0x0
8034    field public static final int WIFI_STATE_OFF_SCANNING = 1; // 0x1
8035    field public static final int WIFI_STATE_ON_CONNECTED_P2P = 5; // 0x5
8036    field public static final int WIFI_STATE_ON_CONNECTED_STA = 4; // 0x4
8037    field public static final int WIFI_STATE_ON_CONNECTED_STA_P2P = 6; // 0x6
8038    field public static final int WIFI_STATE_ON_DISCONNECTED = 3; // 0x3
8039    field public static final int WIFI_STATE_ON_NO_NETWORKS = 2; // 0x2
8040    field public static final int WIFI_STATE_SOFT_AP = 7; // 0x7
8041    field public static final int WIFI_SUPPL_STATE_ASSOCIATED = 7; // 0x7
8042    field public static final int WIFI_SUPPL_STATE_ASSOCIATING = 6; // 0x6
8043    field public static final int WIFI_SUPPL_STATE_AUTHENTICATING = 5; // 0x5
8044    field public static final int WIFI_SUPPL_STATE_COMPLETED = 10; // 0xa
8045    field public static final int WIFI_SUPPL_STATE_DISCONNECTED = 1; // 0x1
8046    field public static final int WIFI_SUPPL_STATE_DORMANT = 11; // 0xb
8047    field public static final int WIFI_SUPPL_STATE_FOUR_WAY_HANDSHAKE = 8; // 0x8
8048    field public static final int WIFI_SUPPL_STATE_GROUP_HANDSHAKE = 9; // 0x9
8049    field public static final int WIFI_SUPPL_STATE_INACTIVE = 3; // 0x3
8050    field public static final int WIFI_SUPPL_STATE_INTERFACE_DISABLED = 2; // 0x2
8051    field public static final int WIFI_SUPPL_STATE_INVALID = 0; // 0x0
8052    field public static final int WIFI_SUPPL_STATE_SCANNING = 4; // 0x4
8053    field public static final int WIFI_SUPPL_STATE_UNINITIALIZED = 12; // 0xc
8054  }
8055
8056  public class Binder implements android.os.IBinder {
8057    method public int handleShellCommand(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.ParcelFileDescriptor, @NonNull android.os.ParcelFileDescriptor, @NonNull String[]);
8058    method public static void setProxyTransactListener(@Nullable android.os.Binder.ProxyTransactListener);
8059  }
8060
8061  public static interface Binder.ProxyTransactListener {
8062    method public void onTransactEnded(@Nullable Object);
8063    method @Nullable public Object onTransactStarted(@NonNull android.os.IBinder, int);
8064  }
8065
8066  public final class BugreportManager {
8067    method @RequiresPermission(android.Manifest.permission.DUMP) public void cancelBugreport();
8068    method @RequiresPermission(android.Manifest.permission.DUMP) public void requestBugreport(@NonNull android.os.BugreportParams, @Nullable CharSequence, @Nullable CharSequence);
8069    method @RequiresPermission(android.Manifest.permission.DUMP) 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);
8070  }
8071
8072  public abstract static class BugreportManager.BugreportCallback {
8073    ctor public BugreportManager.BugreportCallback();
8074    method public void onError(int);
8075    method public void onFinished();
8076    method public void onProgress(@FloatRange(from=0.0f, to=100.0f) float);
8077    field public static final int BUGREPORT_ERROR_ANOTHER_REPORT_IN_PROGRESS = 5; // 0x5
8078    field public static final int BUGREPORT_ERROR_INVALID_INPUT = 1; // 0x1
8079    field public static final int BUGREPORT_ERROR_RUNTIME = 2; // 0x2
8080    field public static final int BUGREPORT_ERROR_USER_CONSENT_TIMED_OUT = 4; // 0x4
8081    field public static final int BUGREPORT_ERROR_USER_DENIED_CONSENT = 3; // 0x3
8082  }
8083
8084  public final class BugreportParams {
8085    ctor public BugreportParams(int);
8086    method public int getMode();
8087    field public static final int BUGREPORT_MODE_FULL = 0; // 0x0
8088    field public static final int BUGREPORT_MODE_INTERACTIVE = 1; // 0x1
8089    field public static final int BUGREPORT_MODE_REMOTE = 2; // 0x2
8090    field public static final int BUGREPORT_MODE_TELEPHONY = 4; // 0x4
8091    field public static final int BUGREPORT_MODE_WEAR = 3; // 0x3
8092    field public static final int BUGREPORT_MODE_WIFI = 5; // 0x5
8093  }
8094
8095  public static class Build.VERSION {
8096    field @NonNull public static final String PREVIEW_SDK_FINGERPRINT;
8097  }
8098
8099  public final class ConfigUpdate {
8100    field public static final String ACTION_UPDATE_CARRIER_ID_DB = "android.os.action.UPDATE_CARRIER_ID_DB";
8101    field public static final String ACTION_UPDATE_CARRIER_PROVISIONING_URLS = "android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS";
8102    field public static final String ACTION_UPDATE_CONVERSATION_ACTIONS = "android.intent.action.UPDATE_CONVERSATION_ACTIONS";
8103    field public static final String ACTION_UPDATE_CT_LOGS = "android.intent.action.UPDATE_CT_LOGS";
8104    field public static final String ACTION_UPDATE_EMERGENCY_NUMBER_DB = "android.os.action.UPDATE_EMERGENCY_NUMBER_DB";
8105    field public static final String ACTION_UPDATE_INTENT_FIREWALL = "android.intent.action.UPDATE_INTENT_FIREWALL";
8106    field public static final String ACTION_UPDATE_LANG_ID = "android.intent.action.UPDATE_LANG_ID";
8107    field public static final String ACTION_UPDATE_NETWORK_WATCHLIST = "android.intent.action.UPDATE_NETWORK_WATCHLIST";
8108    field public static final String ACTION_UPDATE_PINS = "android.intent.action.UPDATE_PINS";
8109    field public static final String ACTION_UPDATE_SMART_SELECTION = "android.intent.action.UPDATE_SMART_SELECTION";
8110    field public static final String ACTION_UPDATE_SMS_SHORT_CODES = "android.intent.action.UPDATE_SMS_SHORT_CODES";
8111    field public static final String EXTRA_REQUIRED_HASH = "android.os.extra.REQUIRED_HASH";
8112    field public static final String EXTRA_VERSION = "android.os.extra.VERSION";
8113  }
8114
8115  public class Environment {
8116    method @NonNull public static java.util.Collection<java.io.File> getInternalMediaDirectories();
8117    method @NonNull public static java.io.File getOdmDirectory();
8118    method @NonNull public static java.io.File getOemDirectory();
8119    method @NonNull public static java.io.File getProductDirectory();
8120    method @Deprecated @NonNull public static java.io.File getProductServicesDirectory();
8121    method @NonNull public static java.io.File getSystemExtDirectory();
8122    method @NonNull public static java.io.File getVendorDirectory();
8123  }
8124
8125  public class HidlMemory implements java.io.Closeable {
8126    ctor public HidlMemory(@NonNull String, @IntRange(from=0) long, @Nullable android.os.NativeHandle);
8127    method public void close() throws java.io.IOException;
8128    method @NonNull public android.os.HidlMemory dup() throws java.io.IOException;
8129    method protected void finalize();
8130    method @Nullable public android.os.NativeHandle getHandle();
8131    method @NonNull public String getName();
8132    method public long getSize();
8133    method @Nullable public android.os.NativeHandle releaseHandle();
8134  }
8135
8136  public class HidlSupport {
8137    method public static boolean deepEquals(Object, Object);
8138    method public static int deepHashCode(Object);
8139    method public static int getPidIfSharable();
8140    method public static boolean interfacesEqual(android.os.IHwInterface, Object);
8141  }
8142
8143  public abstract class HwBinder implements android.os.IHwBinder {
8144    ctor public HwBinder();
8145    method public static final void configureRpcThreadpool(long, boolean);
8146    method public static void enableInstrumentation();
8147    method public static final android.os.IHwBinder getService(String, String) throws java.util.NoSuchElementException, android.os.RemoteException;
8148    method public static final android.os.IHwBinder getService(String, String, boolean) throws java.util.NoSuchElementException, android.os.RemoteException;
8149    method public static final void joinRpcThreadpool();
8150    method public abstract void onTransact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
8151    method public final void registerService(String) throws android.os.RemoteException;
8152    method public final void transact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
8153  }
8154
8155  public class HwBlob {
8156    ctor public HwBlob(int);
8157    method public final void copyToBoolArray(long, boolean[], int);
8158    method public final void copyToDoubleArray(long, double[], int);
8159    method public final void copyToFloatArray(long, float[], int);
8160    method public final void copyToInt16Array(long, short[], int);
8161    method public final void copyToInt32Array(long, int[], int);
8162    method public final void copyToInt64Array(long, long[], int);
8163    method public final void copyToInt8Array(long, byte[], int);
8164    method public final boolean getBool(long);
8165    method public final double getDouble(long);
8166    method public final long getFieldHandle(long);
8167    method public final float getFloat(long);
8168    method public final short getInt16(long);
8169    method public final int getInt32(long);
8170    method public final long getInt64(long);
8171    method public final byte getInt8(long);
8172    method public final String getString(long);
8173    method public final long handle();
8174    method public final void putBlob(long, android.os.HwBlob);
8175    method public final void putBool(long, boolean);
8176    method public final void putBoolArray(long, boolean[]);
8177    method public final void putDouble(long, double);
8178    method public final void putDoubleArray(long, double[]);
8179    method public final void putFloat(long, float);
8180    method public final void putFloatArray(long, float[]);
8181    method public final void putHidlMemory(long, @NonNull android.os.HidlMemory);
8182    method public final void putInt16(long, short);
8183    method public final void putInt16Array(long, short[]);
8184    method public final void putInt32(long, int);
8185    method public final void putInt32Array(long, int[]);
8186    method public final void putInt64(long, long);
8187    method public final void putInt64Array(long, long[]);
8188    method public final void putInt8(long, byte);
8189    method public final void putInt8Array(long, byte[]);
8190    method public final void putNativeHandle(long, @Nullable android.os.NativeHandle);
8191    method public final void putString(long, String);
8192    method public static Boolean[] wrapArray(@NonNull boolean[]);
8193    method public static Long[] wrapArray(@NonNull long[]);
8194    method public static Byte[] wrapArray(@NonNull byte[]);
8195    method public static Short[] wrapArray(@NonNull short[]);
8196    method public static Integer[] wrapArray(@NonNull int[]);
8197    method public static Float[] wrapArray(@NonNull float[]);
8198    method public static Double[] wrapArray(@NonNull double[]);
8199  }
8200
8201  public class HwParcel {
8202    ctor public HwParcel();
8203    method public final void enforceInterface(String);
8204    method public final boolean readBool();
8205    method public final java.util.ArrayList<java.lang.Boolean> readBoolVector();
8206    method public final android.os.HwBlob readBuffer(long);
8207    method public final double readDouble();
8208    method public final java.util.ArrayList<java.lang.Double> readDoubleVector();
8209    method public final android.os.HwBlob readEmbeddedBuffer(long, long, long, boolean);
8210    method @NonNull @Nullable public final android.os.HidlMemory readEmbeddedHidlMemory(long, long, long);
8211    method @Nullable public final android.os.NativeHandle readEmbeddedNativeHandle(long, long);
8212    method public final float readFloat();
8213    method public final java.util.ArrayList<java.lang.Float> readFloatVector();
8214    method @NonNull public final android.os.HidlMemory readHidlMemory();
8215    method public final short readInt16();
8216    method public final java.util.ArrayList<java.lang.Short> readInt16Vector();
8217    method public final int readInt32();
8218    method public final java.util.ArrayList<java.lang.Integer> readInt32Vector();
8219    method public final long readInt64();
8220    method public final java.util.ArrayList<java.lang.Long> readInt64Vector();
8221    method public final byte readInt8();
8222    method public final java.util.ArrayList<java.lang.Byte> readInt8Vector();
8223    method @Nullable public final android.os.NativeHandle readNativeHandle();
8224    method @NonNull public final java.util.ArrayList<android.os.NativeHandle> readNativeHandleVector();
8225    method public final String readString();
8226    method public final java.util.ArrayList<java.lang.String> readStringVector();
8227    method public final android.os.IHwBinder readStrongBinder();
8228    method public final void release();
8229    method public final void releaseTemporaryStorage();
8230    method public final void send();
8231    method public final void verifySuccess();
8232    method public final void writeBool(boolean);
8233    method public final void writeBoolVector(java.util.ArrayList<java.lang.Boolean>);
8234    method public final void writeBuffer(android.os.HwBlob);
8235    method public final void writeDouble(double);
8236    method public final void writeDoubleVector(java.util.ArrayList<java.lang.Double>);
8237    method public final void writeFloat(float);
8238    method public final void writeFloatVector(java.util.ArrayList<java.lang.Float>);
8239    method public final void writeHidlMemory(@NonNull android.os.HidlMemory);
8240    method public final void writeInt16(short);
8241    method public final void writeInt16Vector(java.util.ArrayList<java.lang.Short>);
8242    method public final void writeInt32(int);
8243    method public final void writeInt32Vector(java.util.ArrayList<java.lang.Integer>);
8244    method public final void writeInt64(long);
8245    method public final void writeInt64Vector(java.util.ArrayList<java.lang.Long>);
8246    method public final void writeInt8(byte);
8247    method public final void writeInt8Vector(java.util.ArrayList<java.lang.Byte>);
8248    method public final void writeInterfaceToken(String);
8249    method public final void writeNativeHandle(@Nullable android.os.NativeHandle);
8250    method public final void writeNativeHandleVector(@NonNull java.util.ArrayList<android.os.NativeHandle>);
8251    method public final void writeStatus(int);
8252    method public final void writeString(String);
8253    method public final void writeStringVector(java.util.ArrayList<java.lang.String>);
8254    method public final void writeStrongBinder(android.os.IHwBinder);
8255    field public static final int STATUS_SUCCESS = 0; // 0x0
8256  }
8257
8258  public interface IHwBinder {
8259    method public boolean linkToDeath(android.os.IHwBinder.DeathRecipient, long);
8260    method public android.os.IHwInterface queryLocalInterface(String);
8261    method public void transact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
8262    method public boolean unlinkToDeath(android.os.IHwBinder.DeathRecipient);
8263  }
8264
8265  public static interface IHwBinder.DeathRecipient {
8266    method public void serviceDied(long);
8267  }
8268
8269  public interface IHwInterface {
8270    method public android.os.IHwBinder asBinder();
8271  }
8272
8273  public class IncidentManager {
8274    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public void approveReport(android.net.Uri);
8275    method @RequiresPermission("android.permission.REQUEST_INCIDENT_REPORT_APPROVAL") public void cancelAuthorization(android.os.IncidentManager.AuthListener);
8276    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void deleteIncidentReports(android.net.Uri);
8277    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public void denyReport(android.net.Uri);
8278    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public android.os.IncidentManager.IncidentReport getIncidentReport(android.net.Uri);
8279    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public java.util.List<android.net.Uri> getIncidentReportList(String);
8280    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public java.util.List<android.os.IncidentManager.PendingReport> getPendingReports();
8281    method public void registerSection(int, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.os.IncidentManager.DumpCallback);
8282    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void reportIncident(android.os.IncidentReportArgs);
8283    method @RequiresPermission("android.permission.REQUEST_INCIDENT_REPORT_APPROVAL") public void requestAuthorization(int, String, int, android.os.IncidentManager.AuthListener);
8284    method public void unregisterSection(int);
8285    field public static final int FLAG_CONFIRMATION_DIALOG = 1; // 0x1
8286    field public static final int PRIVACY_POLICY_AUTO = 200; // 0xc8
8287    field public static final int PRIVACY_POLICY_EXPLICIT = 100; // 0x64
8288    field public static final int PRIVACY_POLICY_LOCAL = 0; // 0x0
8289  }
8290
8291  public static class IncidentManager.AuthListener {
8292    ctor public IncidentManager.AuthListener();
8293    method public void onReportApproved();
8294    method public void onReportDenied();
8295  }
8296
8297  public static class IncidentManager.DumpCallback {
8298    ctor public IncidentManager.DumpCallback();
8299    method public void onDumpSection(int, @NonNull java.io.OutputStream);
8300  }
8301
8302  public static class IncidentManager.IncidentReport implements java.io.Closeable android.os.Parcelable {
8303    ctor public IncidentManager.IncidentReport(android.os.Parcel);
8304    method public void close();
8305    method public int describeContents();
8306    method public java.io.InputStream getInputStream() throws java.io.IOException;
8307    method public long getPrivacyPolicy();
8308    method public long getTimestamp();
8309    method public void writeToParcel(android.os.Parcel, int);
8310    field @NonNull public static final android.os.Parcelable.Creator<android.os.IncidentManager.IncidentReport> CREATOR;
8311  }
8312
8313  public static class IncidentManager.PendingReport {
8314    ctor public IncidentManager.PendingReport(@NonNull android.net.Uri);
8315    method public int getFlags();
8316    method @NonNull public String getRequestingPackage();
8317    method public long getTimestamp();
8318    method @NonNull public android.net.Uri getUri();
8319  }
8320
8321  public final class IncidentReportArgs implements android.os.Parcelable {
8322    ctor public IncidentReportArgs();
8323    ctor public IncidentReportArgs(android.os.Parcel);
8324    method public void addHeader(byte[]);
8325    method public void addSection(int);
8326    method public boolean containsSection(int);
8327    method public int describeContents();
8328    method public boolean isAll();
8329    method public void readFromParcel(android.os.Parcel);
8330    method public int sectionCount();
8331    method public void setAll(boolean);
8332    method public void setPrivacyPolicy(int);
8333    method public void writeToParcel(android.os.Parcel, int);
8334    field @NonNull public static final android.os.Parcelable.Creator<android.os.IncidentReportArgs> CREATOR;
8335  }
8336
8337  public final class NativeHandle implements java.io.Closeable {
8338    ctor public NativeHandle();
8339    ctor public NativeHandle(@NonNull java.io.FileDescriptor, boolean);
8340    ctor public NativeHandle(@NonNull java.io.FileDescriptor[], @NonNull int[], boolean);
8341    method public void close() throws java.io.IOException;
8342    method @NonNull public android.os.NativeHandle dup() throws java.io.IOException;
8343    method @NonNull public java.io.FileDescriptor getFileDescriptor();
8344    method @NonNull public java.io.FileDescriptor[] getFileDescriptors();
8345    method @NonNull public int[] getInts();
8346    method public boolean hasSingleFileDescriptor();
8347  }
8348
8349  public final class PowerManager {
8350    method @RequiresPermission(allOf={android.Manifest.permission.READ_DREAM_STATE, android.Manifest.permission.WRITE_DREAM_STATE}) public void dream(long);
8351    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public boolean forceSuspend();
8352    method @RequiresPermission(android.Manifest.permission.POWER_SAVER) public int getPowerSaveModeTrigger();
8353    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplayAvailable();
8354    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplaySuppressed();
8355    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplaySuppressedForToken(@NonNull String);
8356    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setAdaptivePowerSaveEnabled(boolean);
8357    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setAdaptivePowerSavePolicy(@NonNull android.os.BatterySaverPolicyConfig);
8358    method @RequiresPermission(android.Manifest.permission.POWER_SAVER) public boolean setDynamicPowerSaveHint(boolean, int);
8359    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setPowerSaveModeEnabled(boolean);
8360    method @RequiresPermission(android.Manifest.permission.WRITE_DREAM_STATE) public void suppressAmbientDisplay(@NonNull String, boolean);
8361    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.USER_ACTIVITY}) public void userActivity(long, int, int);
8362    field public static final int POWER_SAVE_MODE_TRIGGER_DYNAMIC = 1; // 0x1
8363    field public static final int POWER_SAVE_MODE_TRIGGER_PERCENTAGE = 0; // 0x0
8364    field public static final String REBOOT_USERSPACE = "userspace";
8365    field public static final int USER_ACTIVITY_EVENT_ACCESSIBILITY = 3; // 0x3
8366    field public static final int USER_ACTIVITY_EVENT_BUTTON = 1; // 0x1
8367    field public static final int USER_ACTIVITY_EVENT_OTHER = 0; // 0x0
8368    field public static final int USER_ACTIVITY_EVENT_TOUCH = 2; // 0x2
8369    field public static final int USER_ACTIVITY_FLAG_INDIRECT = 2; // 0x2
8370    field public static final int USER_ACTIVITY_FLAG_NO_CHANGE_LIGHTS = 1; // 0x1
8371  }
8372
8373  public class PowerWhitelistManager {
8374    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void addToWhitelist(@NonNull String);
8375    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void addToWhitelist(@NonNull java.util.List<java.lang.String>);
8376    method @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(@NonNull String, long);
8377    method @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long whitelistAppTemporarilyForEvent(@NonNull String, int, @NonNull String);
8378    field public static final int EVENT_MMS = 2; // 0x2
8379    field public static final int EVENT_SMS = 1; // 0x1
8380    field public static final int EVENT_UNSPECIFIED = 0; // 0x0
8381  }
8382
8383  public class RecoverySystem {
8384    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void cancelScheduledUpdate(android.content.Context) throws java.io.IOException;
8385    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void clearPrepareForUnattendedUpdate(@NonNull android.content.Context) throws java.io.IOException;
8386    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void installPackage(android.content.Context, java.io.File, boolean) throws java.io.IOException;
8387    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void prepareForUnattendedUpdate(@NonNull android.content.Context, @NonNull String, @Nullable android.content.IntentSender) throws java.io.IOException;
8388    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;
8389    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void processPackage(android.content.Context, java.io.File, android.os.RecoverySystem.ProgressListener) throws java.io.IOException;
8390    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void rebootAndApply(@NonNull android.content.Context, @NonNull String, @NonNull String) throws java.io.IOException;
8391    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;
8392    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void scheduleUpdateOnBoot(android.content.Context, java.io.File) throws java.io.IOException;
8393    method public static boolean verifyPackageCompatibility(java.io.File) throws java.io.IOException;
8394  }
8395
8396  public final class RemoteCallback implements android.os.Parcelable {
8397    ctor public RemoteCallback(android.os.RemoteCallback.OnResultListener);
8398    ctor public RemoteCallback(@NonNull android.os.RemoteCallback.OnResultListener, @Nullable android.os.Handler);
8399    method public int describeContents();
8400    method public void sendResult(@Nullable android.os.Bundle);
8401    method public void writeToParcel(android.os.Parcel, int);
8402    field @NonNull public static final android.os.Parcelable.Creator<android.os.RemoteCallback> CREATOR;
8403  }
8404
8405  public static interface RemoteCallback.OnResultListener {
8406    method public void onResult(@Nullable android.os.Bundle);
8407  }
8408
8409  public class ServiceSpecificException extends java.lang.RuntimeException {
8410    ctor public ServiceSpecificException(int, @Nullable String);
8411    ctor public ServiceSpecificException(int);
8412    field public final int errorCode;
8413  }
8414
8415  public final class StatsDimensionsValue implements android.os.Parcelable {
8416    method public int describeContents();
8417    method public boolean getBooleanValue();
8418    method public int getField();
8419    method public float getFloatValue();
8420    method public int getIntValue();
8421    method public long getLongValue();
8422    method public String getStringValue();
8423    method public java.util.List<android.os.StatsDimensionsValue> getTupleValueList();
8424    method public int getValueType();
8425    method public boolean isValueType(int);
8426    method public void writeToParcel(android.os.Parcel, int);
8427    field public static final int BOOLEAN_VALUE_TYPE = 5; // 0x5
8428    field @NonNull public static final android.os.Parcelable.Creator<android.os.StatsDimensionsValue> CREATOR;
8429    field public static final int FLOAT_VALUE_TYPE = 6; // 0x6
8430    field public static final int INT_VALUE_TYPE = 3; // 0x3
8431    field public static final int LONG_VALUE_TYPE = 4; // 0x4
8432    field public static final int STRING_VALUE_TYPE = 2; // 0x2
8433    field public static final int TUPLE_VALUE_TYPE = 7; // 0x7
8434  }
8435
8436  public class SystemConfigManager {
8437    method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Set<java.lang.String> getDisabledUntilUsedPreinstalledCarrierApps();
8438    method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getDisabledUntilUsedPreinstalledCarrierAssociatedApps();
8439  }
8440
8441  public class SystemProperties {
8442    method @NonNull public static String get(@NonNull String);
8443    method @NonNull public static String get(@NonNull String, @Nullable String);
8444    method public static boolean getBoolean(@NonNull String, boolean);
8445    method public static int getInt(@NonNull String, int);
8446    method public static long getLong(@NonNull String, long);
8447  }
8448
8449  public class SystemUpdateManager {
8450    method @RequiresPermission(anyOf={android.Manifest.permission.READ_SYSTEM_UPDATE_INFO, android.Manifest.permission.RECOVERY}) public android.os.Bundle retrieveSystemUpdateInfo();
8451    method @RequiresPermission(android.Manifest.permission.RECOVERY) public void updateSystemUpdateInfo(android.os.PersistableBundle);
8452    field public static final String KEY_IS_SECURITY_UPDATE = "is_security_update";
8453    field public static final String KEY_STATUS = "status";
8454    field public static final String KEY_TARGET_BUILD_FINGERPRINT = "target_build_fingerprint";
8455    field public static final String KEY_TARGET_SECURITY_PATCH_LEVEL = "target_security_patch_level";
8456    field public static final String KEY_TITLE = "title";
8457    field public static final int STATUS_IDLE = 1; // 0x1
8458    field public static final int STATUS_IN_PROGRESS = 3; // 0x3
8459    field public static final int STATUS_UNKNOWN = 0; // 0x0
8460    field public static final int STATUS_WAITING_DOWNLOAD = 2; // 0x2
8461    field public static final int STATUS_WAITING_INSTALL = 4; // 0x4
8462    field public static final int STATUS_WAITING_REBOOT = 5; // 0x5
8463  }
8464
8465  public class UpdateEngine {
8466    ctor public UpdateEngine();
8467    method @NonNull @WorkerThread public android.os.UpdateEngine.AllocateSpaceResult allocateSpace(@NonNull String, @NonNull String[]);
8468    method public void applyPayload(String, long, long, String[]);
8469    method public void applyPayload(@NonNull android.content.res.AssetFileDescriptor, @NonNull String[]);
8470    method public boolean bind(android.os.UpdateEngineCallback, android.os.Handler);
8471    method public boolean bind(android.os.UpdateEngineCallback);
8472    method public void cancel();
8473    method @WorkerThread public int cleanupAppliedPayload();
8474    method public void resetStatus();
8475    method public void resume();
8476    method public void suspend();
8477    method public boolean unbind();
8478    method public boolean verifyPayloadMetadata(String);
8479  }
8480
8481  public static final class UpdateEngine.AllocateSpaceResult {
8482    method public int getErrorCode();
8483    method public long getFreeSpaceRequired();
8484  }
8485
8486  public static final class UpdateEngine.ErrorCodeConstants {
8487    ctor public UpdateEngine.ErrorCodeConstants();
8488    field public static final int DEVICE_CORRUPTED = 61; // 0x3d
8489    field public static final int DOWNLOAD_PAYLOAD_VERIFICATION_ERROR = 12; // 0xc
8490    field public static final int DOWNLOAD_TRANSFER_ERROR = 9; // 0x9
8491    field public static final int ERROR = 1; // 0x1
8492    field public static final int FILESYSTEM_COPIER_ERROR = 4; // 0x4
8493    field public static final int INSTALL_DEVICE_OPEN_ERROR = 7; // 0x7
8494    field public static final int KERNEL_DEVICE_OPEN_ERROR = 8; // 0x8
8495    field public static final int NOT_ENOUGH_SPACE = 60; // 0x3c
8496    field public static final int PAYLOAD_HASH_MISMATCH_ERROR = 10; // 0xa
8497    field public static final int PAYLOAD_MISMATCHED_TYPE_ERROR = 6; // 0x6
8498    field public static final int PAYLOAD_SIZE_MISMATCH_ERROR = 11; // 0xb
8499    field public static final int PAYLOAD_TIMESTAMP_ERROR = 51; // 0x33
8500    field public static final int POST_INSTALL_RUNNER_ERROR = 5; // 0x5
8501    field public static final int SUCCESS = 0; // 0x0
8502    field public static final int UPDATED_BUT_NOT_ACTIVE = 52; // 0x34
8503  }
8504
8505  public static final class UpdateEngine.UpdateStatusConstants {
8506    ctor public UpdateEngine.UpdateStatusConstants();
8507    field public static final int ATTEMPTING_ROLLBACK = 8; // 0x8
8508    field public static final int CHECKING_FOR_UPDATE = 1; // 0x1
8509    field public static final int DISABLED = 9; // 0x9
8510    field public static final int DOWNLOADING = 3; // 0x3
8511    field public static final int FINALIZING = 5; // 0x5
8512    field public static final int IDLE = 0; // 0x0
8513    field public static final int REPORTING_ERROR_EVENT = 7; // 0x7
8514    field public static final int UPDATED_NEED_REBOOT = 6; // 0x6
8515    field public static final int UPDATE_AVAILABLE = 2; // 0x2
8516    field public static final int VERIFYING = 4; // 0x4
8517  }
8518
8519  public abstract class UpdateEngineCallback {
8520    ctor public UpdateEngineCallback();
8521    method public abstract void onPayloadApplicationComplete(int);
8522    method public abstract void onStatusUpdate(int, float);
8523  }
8524
8525  public final class UserHandle implements android.os.Parcelable {
8526    method @NonNull public static String formatUid(int);
8527    method public static int getAppId(int);
8528    method public int getIdentifier();
8529    method @Deprecated public boolean isOwner();
8530    method public boolean isSystem();
8531    method public static int myUserId();
8532    method public static android.os.UserHandle of(int);
8533    field @NonNull public static final android.os.UserHandle ALL;
8534    field @NonNull public static final android.os.UserHandle CURRENT;
8535    field @NonNull public static final android.os.UserHandle SYSTEM;
8536  }
8537
8538  public class UserManager {
8539    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void clearSeedAccountData();
8540    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;
8541    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}, conditional=true) public java.util.List<android.os.UserHandle> getAllProfiles();
8542    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}, conditional=true) public java.util.List<android.os.UserHandle> getEnabledProfiles();
8543    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.UserHandle getProfileParent(@NonNull android.os.UserHandle);
8544    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountName();
8545    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.PersistableBundle getSeedAccountOptions();
8546    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountType();
8547    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public long[] getSerialNumbersOfUsers(boolean);
8548    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public java.util.List<android.os.UserHandle> getUserHandles(boolean);
8549    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}) public android.graphics.Bitmap getUserIcon();
8550    method @Deprecated @android.os.UserManager.UserRestrictionSource @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public int getUserRestrictionSource(String, android.os.UserHandle);
8551    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public java.util.List<android.os.UserManager.EnforcingUser> getUserRestrictionSources(String, android.os.UserHandle);
8552    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();
8553    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean hasRestrictedProfiles();
8554    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);
8555    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isAdminUser();
8556    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean isGuestUser();
8557    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isManagedProfile(int);
8558    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean isPrimaryUser();
8559    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isProfile();
8560    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isRestrictedProfile();
8561    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean isRestrictedProfile(@NonNull android.os.UserHandle);
8562    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isSameProfileGroup(@NonNull android.os.UserHandle, @NonNull android.os.UserHandle);
8563    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}) public boolean isUserNameSet();
8564    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isUserOfType(@NonNull String);
8565    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isUserUnlockingOrUnlocked(@NonNull android.os.UserHandle);
8566    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean removeUser(@NonNull android.os.UserHandle);
8567    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserIcon(@NonNull android.graphics.Bitmap) throws android.os.UserManager.UserOperationException;
8568    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserName(@Nullable String);
8569    field public static final String ACTION_USER_RESTRICTIONS_CHANGED = "android.os.action.USER_RESTRICTIONS_CHANGED";
8570    field @Deprecated public static final String DISALLOW_OEM_UNLOCK = "no_oem_unlock";
8571    field public static final String DISALLOW_RUN_IN_BACKGROUND = "no_run_in_background";
8572    field public static final int RESTRICTION_NOT_SET = 0; // 0x0
8573    field public static final int RESTRICTION_SOURCE_DEVICE_OWNER = 2; // 0x2
8574    field public static final int RESTRICTION_SOURCE_PROFILE_OWNER = 4; // 0x4
8575    field public static final int RESTRICTION_SOURCE_SYSTEM = 1; // 0x1
8576    field public static final int SWITCHABILITY_STATUS_OK = 0; // 0x0
8577    field public static final int SWITCHABILITY_STATUS_SYSTEM_USER_LOCKED = 4; // 0x4
8578    field public static final int SWITCHABILITY_STATUS_USER_IN_CALL = 1; // 0x1
8579    field public static final int SWITCHABILITY_STATUS_USER_SWITCH_DISALLOWED = 2; // 0x2
8580    field public static final String USER_TYPE_FULL_SECONDARY = "android.os.usertype.full.SECONDARY";
8581    field public static final String USER_TYPE_FULL_SYSTEM = "android.os.usertype.full.SYSTEM";
8582    field public static final String USER_TYPE_PROFILE_MANAGED = "android.os.usertype.profile.MANAGED";
8583    field public static final String USER_TYPE_SYSTEM_HEADLESS = "android.os.usertype.system.HEADLESS";
8584  }
8585
8586  public static final class UserManager.EnforcingUser implements android.os.Parcelable {
8587    method public int describeContents();
8588    method public android.os.UserHandle getUserHandle();
8589    method @android.os.UserManager.UserRestrictionSource public int getUserRestrictionSource();
8590    method public void writeToParcel(android.os.Parcel, int);
8591    field @NonNull public static final android.os.Parcelable.Creator<android.os.UserManager.EnforcingUser> CREATOR;
8592  }
8593
8594  @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 {
8595  }
8596
8597  public abstract class Vibrator {
8598    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void addVibratorStateListener(@NonNull android.os.Vibrator.OnVibratorStateChangedListener);
8599    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void addVibratorStateListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.Vibrator.OnVibratorStateChangedListener);
8600    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public boolean isVibrating();
8601    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void removeVibratorStateListener(@NonNull android.os.Vibrator.OnVibratorStateChangedListener);
8602  }
8603
8604  public static interface Vibrator.OnVibratorStateChangedListener {
8605    method public void onVibratorStateChanged(boolean);
8606  }
8607
8608  public class WorkSource implements android.os.Parcelable {
8609    ctor public WorkSource(int);
8610    ctor public WorkSource(int, @NonNull String);
8611    method public android.os.WorkSource.WorkChain createWorkChain();
8612    method @Nullable public String getPackageName(int);
8613    method public int getUid(int);
8614    method @Nullable public java.util.List<android.os.WorkSource.WorkChain> getWorkChains();
8615    method public boolean isEmpty();
8616    method public int size();
8617    method @NonNull public android.os.WorkSource withoutNames();
8618  }
8619
8620  public static final class WorkSource.WorkChain implements android.os.Parcelable {
8621    ctor public WorkSource.WorkChain();
8622    method public android.os.WorkSource.WorkChain addNode(int, @Nullable String);
8623    method public int describeContents();
8624    method public String getAttributionTag();
8625    method public int getAttributionUid();
8626    method public void writeToParcel(android.os.Parcel, int);
8627    field @NonNull public static final android.os.Parcelable.Creator<android.os.WorkSource.WorkChain> CREATOR;
8628  }
8629
8630}
8631
8632package android.os.connectivity {
8633
8634  public final class CellularBatteryStats implements android.os.Parcelable {
8635    method public int describeContents();
8636    method public long getEnergyConsumedMaMillis();
8637    method public long getIdleTimeMillis();
8638    method public long getKernelActiveTimeMillis();
8639    method public long getLoggingDurationMillis();
8640    method public long getMonitoredRailChargeConsumedMaMillis();
8641    method public long getNumBytesRx();
8642    method public long getNumBytesTx();
8643    method public long getNumPacketsRx();
8644    method public long getNumPacketsTx();
8645    method public long getRxTimeMillis();
8646    method public long getSleepTimeMillis();
8647    method @NonNull public long getTimeInRatMicros(int);
8648    method @NonNull public long getTimeInRxSignalStrengthLevelMicros(@IntRange(from=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN, to=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_GREAT) int);
8649    method public void writeToParcel(@NonNull android.os.Parcel, int);
8650    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.CellularBatteryStats> CREATOR;
8651  }
8652
8653  public final class WifiActivityEnergyInfo implements android.os.Parcelable {
8654    ctor public WifiActivityEnergyInfo(long, int, @IntRange(from=0) long, @IntRange(from=0) long, @IntRange(from=0) long, @IntRange(from=0) long);
8655    method public int describeContents();
8656    method @IntRange(from=0) public long getControllerEnergyUsedMicroJoules();
8657    method @IntRange(from=0) public long getControllerIdleDurationMillis();
8658    method @IntRange(from=0) public long getControllerRxDurationMillis();
8659    method @IntRange(from=0) public long getControllerScanDurationMillis();
8660    method @IntRange(from=0) public long getControllerTxDurationMillis();
8661    method public int getStackState();
8662    method public long getTimeSinceBootMillis();
8663    method public void writeToParcel(@NonNull android.os.Parcel, int);
8664    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.WifiActivityEnergyInfo> CREATOR;
8665    field public static final int STACK_STATE_INVALID = 0; // 0x0
8666    field public static final int STACK_STATE_STATE_ACTIVE = 1; // 0x1
8667    field public static final int STACK_STATE_STATE_IDLE = 3; // 0x3
8668    field public static final int STACK_STATE_STATE_SCANNING = 2; // 0x2
8669  }
8670
8671  public final class WifiBatteryStats implements android.os.Parcelable {
8672    method public int describeContents();
8673    method public long getAppScanRequestCount();
8674    method public long getEnergyConsumedMaMillis();
8675    method public long getIdleTimeMillis();
8676    method public long getKernelActiveTimeMillis();
8677    method public long getLoggingDurationMillis();
8678    method public long getMonitoredRailChargeConsumedMaMillis();
8679    method public long getNumBytesRx();
8680    method public long getNumBytesTx();
8681    method public long getNumPacketsRx();
8682    method public long getNumPacketsTx();
8683    method public long getRxTimeMillis();
8684    method public long getScanTimeMillis();
8685    method public long getSleepTimeMillis();
8686    method public long getTxTimeMillis();
8687    method public void writeToParcel(@NonNull android.os.Parcel, int);
8688    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.WifiBatteryStats> CREATOR;
8689  }
8690
8691}
8692
8693package android.os.ext {
8694
8695  public class SdkExtensions {
8696    method public static int getExtensionVersion(int);
8697  }
8698
8699}
8700
8701package android.os.image {
8702
8703  public class DynamicSystemClient {
8704    ctor public DynamicSystemClient(@NonNull android.content.Context);
8705    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void bind();
8706    method public void setOnStatusChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.image.DynamicSystemClient.OnStatusChangedListener);
8707    method public void setOnStatusChangedListener(@NonNull android.os.image.DynamicSystemClient.OnStatusChangedListener);
8708    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void start(@NonNull android.net.Uri, long);
8709    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void start(@NonNull android.net.Uri, long, long);
8710    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void unbind();
8711    field public static final int CAUSE_ERROR_EXCEPTION = 6; // 0x6
8712    field public static final int CAUSE_ERROR_INVALID_URL = 4; // 0x4
8713    field public static final int CAUSE_ERROR_IO = 3; // 0x3
8714    field public static final int CAUSE_ERROR_IPC = 5; // 0x5
8715    field public static final int CAUSE_INSTALL_CANCELLED = 2; // 0x2
8716    field public static final int CAUSE_INSTALL_COMPLETED = 1; // 0x1
8717    field public static final int CAUSE_NOT_SPECIFIED = 0; // 0x0
8718    field public static final int STATUS_IN_PROGRESS = 2; // 0x2
8719    field public static final int STATUS_IN_USE = 4; // 0x4
8720    field public static final int STATUS_NOT_STARTED = 1; // 0x1
8721    field public static final int STATUS_READY = 3; // 0x3
8722    field public static final int STATUS_UNKNOWN = 0; // 0x0
8723  }
8724
8725  public static interface DynamicSystemClient.OnStatusChangedListener {
8726    method public void onStatusChanged(int, int, long, @Nullable Throwable);
8727  }
8728
8729}
8730
8731package android.os.storage {
8732
8733  public class StorageManager {
8734    method @WorkerThread public void allocateBytes(@NonNull java.util.UUID, long, @RequiresPermission int) throws java.io.IOException;
8735    method @WorkerThread public void allocateBytes(java.io.FileDescriptor, long, @RequiresPermission int) throws java.io.IOException;
8736    method @WorkerThread public long getAllocatableBytes(@NonNull java.util.UUID, @RequiresPermission int) throws java.io.IOException;
8737    method public static boolean hasIsolatedStorage();
8738    method public void updateExternalStorageFileQuotaType(@NonNull java.io.File, int) throws java.io.IOException;
8739    field @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public static final int FLAG_ALLOCATE_AGGRESSIVE = 1; // 0x1
8740    field public static final int QUOTA_TYPE_MEDIA_AUDIO = 2; // 0x2
8741    field public static final int QUOTA_TYPE_MEDIA_IMAGE = 1; // 0x1
8742    field public static final int QUOTA_TYPE_MEDIA_NONE = 0; // 0x0
8743    field public static final int QUOTA_TYPE_MEDIA_VIDEO = 3; // 0x3
8744  }
8745
8746  public final class StorageVolume implements android.os.Parcelable {
8747    method @NonNull public String getId();
8748  }
8749
8750}
8751
8752package android.permission {
8753
8754  public final class PermissionControllerManager {
8755    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>);
8756    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[]>);
8757    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);
8758    method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.RESTORE_RUNTIME_PERMISSIONS}) public void stageAndApplyRuntimePermissionsBackup(@NonNull byte[], @NonNull android.os.UserHandle);
8759    field public static final int COUNT_ONLY_WHEN_GRANTED = 1; // 0x1
8760    field public static final int COUNT_WHEN_SYSTEM = 2; // 0x2
8761    field public static final int REASON_INSTALLER_POLICY_VIOLATION = 2; // 0x2
8762    field public static final int REASON_MALWARE = 1; // 0x1
8763  }
8764
8765  public abstract static class PermissionControllerManager.OnRevokeRuntimePermissionsCallback {
8766    ctor public PermissionControllerManager.OnRevokeRuntimePermissionsCallback();
8767    method public abstract void onRevokeRuntimePermissions(@NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>);
8768  }
8769
8770  public abstract class PermissionControllerService extends android.app.Service {
8771    ctor public PermissionControllerService();
8772    method @BinderThread public void onApplyStagedRuntimePermissionBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.function.Consumer<java.lang.Boolean>);
8773    method @NonNull public final android.os.IBinder onBind(android.content.Intent);
8774    method @BinderThread public abstract void onCountPermissionApps(@NonNull java.util.List<java.lang.String>, int, @NonNull java.util.function.IntConsumer);
8775    method @BinderThread public abstract void onGetAppPermissions(@NonNull String, @NonNull java.util.function.Consumer<java.util.List<android.permission.RuntimePermissionPresentationInfo>>);
8776    method @BinderThread public abstract void onGetPermissionUsages(boolean, long, @NonNull java.util.function.Consumer<java.util.List<android.permission.RuntimePermissionUsageInfo>>);
8777    method @BinderThread public abstract void onGetRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.OutputStream, @NonNull Runnable);
8778    method @BinderThread public abstract void onGrantOrUpgradeDefaultRuntimePermissions(@NonNull Runnable);
8779    method @BinderThread public void onOneTimePermissionSessionTimeout(@NonNull String);
8780    method @Deprecated @BinderThread public void onRestoreDelayedRuntimePermissionsBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.function.Consumer<java.lang.Boolean>);
8781    method @Deprecated @BinderThread public void onRestoreRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable);
8782    method @BinderThread public abstract void onRevokeRuntimePermission(@NonNull String, @NonNull String, @NonNull Runnable);
8783    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>>>);
8784    method @BinderThread public abstract void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String, @NonNull String, @NonNull String, int, @NonNull java.util.function.Consumer<java.lang.Boolean>);
8785    method @BinderThread public void onStageAndApplyRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable);
8786    method @BinderThread public void onUpdateUserSensitivePermissionFlags(int, @NonNull java.util.concurrent.Executor, @NonNull Runnable);
8787    method @BinderThread public void onUpdateUserSensitivePermissionFlags(int, @NonNull Runnable);
8788    field public static final String SERVICE_INTERFACE = "android.permission.PermissionControllerService";
8789  }
8790
8791  public final class PermissionManager {
8792    method public int checkDeviceIdentifierAccess(@Nullable String, @Nullable String, @Nullable String, int, int);
8793    method @NonNull @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Set<java.lang.String> getAutoRevokeExemptionGrantedPackages();
8794    method @NonNull @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Set<java.lang.String> getAutoRevokeExemptionRequestedPackages();
8795    method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY, android.Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS}) public int getRuntimePermissionsVersion();
8796    method @NonNull public java.util.List<android.permission.PermissionManager.SplitPermissionInfo> getSplitPermissions();
8797    method @RequiresPermission(anyOf={android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY, android.Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS}) public void setRuntimePermissionsVersion(@IntRange(from=0) int);
8798    method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void startOneTimePermissionSession(@NonNull String, long, int, int);
8799    method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void stopOneTimePermissionSession(@NonNull String);
8800  }
8801
8802  public static final class PermissionManager.SplitPermissionInfo {
8803    method @NonNull public java.util.List<java.lang.String> getNewPermissions();
8804    method @NonNull public String getSplitPermission();
8805    method public int getTargetSdk();
8806  }
8807
8808  public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
8809    ctor public RuntimePermissionPresentationInfo(@NonNull CharSequence, boolean, boolean);
8810    method public int describeContents();
8811    method @NonNull public CharSequence getLabel();
8812    method public boolean isGranted();
8813    method public boolean isStandard();
8814    method public void writeToParcel(android.os.Parcel, int);
8815    field @NonNull public static final android.os.Parcelable.Creator<android.permission.RuntimePermissionPresentationInfo> CREATOR;
8816  }
8817
8818  public final class RuntimePermissionUsageInfo implements android.os.Parcelable {
8819    ctor public RuntimePermissionUsageInfo(@NonNull String, int);
8820    method public int describeContents();
8821    method public int getAppAccessCount();
8822    method @NonNull public String getName();
8823    method public void writeToParcel(android.os.Parcel, int);
8824    field @NonNull public static final android.os.Parcelable.Creator<android.permission.RuntimePermissionUsageInfo> CREATOR;
8825  }
8826
8827}
8828
8829package android.permissionpresenterservice {
8830
8831  @Deprecated public abstract class RuntimePermissionPresenterService extends android.app.Service {
8832    ctor @Deprecated public RuntimePermissionPresenterService();
8833    method @Deprecated public final void attachBaseContext(android.content.Context);
8834    method @Deprecated public final android.os.IBinder onBind(android.content.Intent);
8835    method @Deprecated public abstract java.util.List<android.content.pm.permission.RuntimePermissionPresentationInfo> onGetAppPermissions(@NonNull String);
8836    field @Deprecated public static final String SERVICE_INTERFACE = "android.permissionpresenterservice.RuntimePermissionPresenterService";
8837  }
8838
8839}
8840
8841package android.preference {
8842
8843  @Deprecated public class PreferenceManager {
8844    method @Deprecated public boolean isStorageCredentialProtected();
8845    method @Deprecated public void setStorageCredentialProtected();
8846  }
8847
8848}
8849
8850package android.print {
8851
8852  public final class PrintManager {
8853    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public void addPrintServiceRecommendationsChangeListener(@NonNull android.print.PrintManager.PrintServiceRecommendationsChangeListener, @Nullable android.os.Handler);
8854    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public void addPrintServicesChangeListener(@NonNull android.print.PrintManager.PrintServicesChangeListener, @Nullable android.os.Handler);
8855    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public java.util.List<android.printservice.recommendation.RecommendationInfo> getPrintServiceRecommendations();
8856    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public java.util.List<android.printservice.PrintServiceInfo> getPrintServices(int);
8857    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public void removePrintServiceRecommendationsChangeListener(@NonNull android.print.PrintManager.PrintServiceRecommendationsChangeListener);
8858    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public void removePrintServicesChangeListener(@NonNull android.print.PrintManager.PrintServicesChangeListener);
8859    field public static final int ENABLED_SERVICES = 1; // 0x1
8860  }
8861
8862  public static interface PrintManager.PrintServiceRecommendationsChangeListener {
8863    method public void onPrintServiceRecommendationsChanged();
8864  }
8865
8866  public static interface PrintManager.PrintServicesChangeListener {
8867    method public void onPrintServicesChanged();
8868  }
8869
8870}
8871
8872package android.printservice {
8873
8874  public final class PrintServiceInfo implements android.os.Parcelable {
8875    method public int describeContents();
8876    method @NonNull public android.content.ComponentName getComponentName();
8877    method public void writeToParcel(android.os.Parcel, int);
8878    field @NonNull public static final android.os.Parcelable.Creator<android.printservice.PrintServiceInfo> CREATOR;
8879  }
8880
8881}
8882
8883package android.printservice.recommendation {
8884
8885  public final class RecommendationInfo implements android.os.Parcelable {
8886    ctor public RecommendationInfo(@NonNull CharSequence, @NonNull CharSequence, @NonNull java.util.List<java.net.InetAddress>, boolean);
8887    ctor @Deprecated public RecommendationInfo(@NonNull CharSequence, @NonNull CharSequence, @IntRange(from=0) int, boolean);
8888    method public int describeContents();
8889    method @NonNull public java.util.List<java.net.InetAddress> getDiscoveredPrinters();
8890    method public CharSequence getName();
8891    method public int getNumDiscoveredPrinters();
8892    method public CharSequence getPackageName();
8893    method public boolean recommendsMultiVendorService();
8894    method public void writeToParcel(android.os.Parcel, int);
8895    field @NonNull public static final android.os.Parcelable.Creator<android.printservice.recommendation.RecommendationInfo> CREATOR;
8896  }
8897
8898  public abstract class RecommendationService extends android.app.Service {
8899    ctor public RecommendationService();
8900    method public final android.os.IBinder onBind(android.content.Intent);
8901    method public abstract void onConnected();
8902    method public abstract void onDisconnected();
8903    method public final void updateRecommendations(@Nullable java.util.List<android.printservice.recommendation.RecommendationInfo>);
8904    field public static final String SERVICE_INTERFACE = "android.printservice.recommendation.RecommendationService";
8905  }
8906
8907}
8908
8909package android.provider {
8910
8911  @Deprecated public static final class ContactsContract.MetadataSync implements android.provider.BaseColumns android.provider.ContactsContract.MetadataSyncColumns {
8912    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_metadata";
8913    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_metadata";
8914    field @Deprecated public static final android.net.Uri CONTENT_URI;
8915    field @Deprecated public static final String METADATA_AUTHORITY = "com.android.contacts.metadata";
8916    field @Deprecated public static final android.net.Uri METADATA_AUTHORITY_URI;
8917  }
8918
8919  @Deprecated protected static interface ContactsContract.MetadataSyncColumns {
8920    field @Deprecated public static final String ACCOUNT_NAME = "account_name";
8921    field @Deprecated public static final String ACCOUNT_TYPE = "account_type";
8922    field @Deprecated public static final String DATA = "data";
8923    field @Deprecated public static final String DATA_SET = "data_set";
8924    field @Deprecated public static final String DELETED = "deleted";
8925    field @Deprecated public static final String RAW_CONTACT_BACKUP_ID = "raw_contact_backup_id";
8926  }
8927
8928  @Deprecated public static final class ContactsContract.MetadataSyncState implements android.provider.BaseColumns android.provider.ContactsContract.MetadataSyncStateColumns {
8929    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_metadata_sync_state";
8930    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_metadata_sync_state";
8931    field @Deprecated public static final android.net.Uri CONTENT_URI;
8932  }
8933
8934  @Deprecated protected static interface ContactsContract.MetadataSyncStateColumns {
8935    field @Deprecated public static final String ACCOUNT_NAME = "account_name";
8936    field @Deprecated public static final String ACCOUNT_TYPE = "account_type";
8937    field @Deprecated public static final String DATA_SET = "data_set";
8938    field @Deprecated public static final String STATE = "state";
8939  }
8940
8941  public final class DeviceConfig {
8942    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static void addOnPropertiesChangedListener(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.provider.DeviceConfig.OnPropertiesChangedListener);
8943    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static boolean getBoolean(@NonNull String, @NonNull String, boolean);
8944    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static float getFloat(@NonNull String, @NonNull String, float);
8945    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static int getInt(@NonNull String, @NonNull String, int);
8946    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static long getLong(@NonNull String, @NonNull String, long);
8947    method @NonNull @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static android.provider.DeviceConfig.Properties getProperties(@NonNull String, @NonNull java.lang.String...);
8948    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static String getProperty(@NonNull String, @NonNull String);
8949    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static String getString(@NonNull String, @NonNull String, @Nullable String);
8950    method public static void removeOnPropertiesChangedListener(@NonNull android.provider.DeviceConfig.OnPropertiesChangedListener);
8951    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static void resetToDefaults(int, @Nullable String);
8952    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static boolean setProperties(@NonNull android.provider.DeviceConfig.Properties) throws android.provider.DeviceConfig.BadConfigException;
8953    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static boolean setProperty(@NonNull String, @NonNull String, @Nullable String, boolean);
8954    field public static final String NAMESPACE_ACTIVITY_MANAGER = "activity_manager";
8955    field public static final String NAMESPACE_ACTIVITY_MANAGER_NATIVE_BOOT = "activity_manager_native_boot";
8956    field public static final String NAMESPACE_APP_COMPAT = "app_compat";
8957    field public static final String NAMESPACE_ATTENTION_MANAGER_SERVICE = "attention_manager_service";
8958    field public static final String NAMESPACE_AUTOFILL = "autofill";
8959    field public static final String NAMESPACE_BIOMETRICS = "biometrics";
8960    field public static final String NAMESPACE_BLOBSTORE = "blobstore";
8961    field public static final String NAMESPACE_CONNECTIVITY = "connectivity";
8962    field public static final String NAMESPACE_CONTENT_CAPTURE = "content_capture";
8963    field @Deprecated public static final String NAMESPACE_DEX_BOOT = "dex_boot";
8964    field public static final String NAMESPACE_DISPLAY_MANAGER = "display_manager";
8965    field public static final String NAMESPACE_GAME_DRIVER = "game_driver";
8966    field public static final String NAMESPACE_INPUT_NATIVE_BOOT = "input_native_boot";
8967    field public static final String NAMESPACE_INTELLIGENCE_ATTENTION = "intelligence_attention";
8968    field public static final String NAMESPACE_MEDIA_NATIVE = "media_native";
8969    field public static final String NAMESPACE_NETD_NATIVE = "netd_native";
8970    field public static final String NAMESPACE_PACKAGE_MANAGER_SERVICE = "package_manager_service";
8971    field public static final String NAMESPACE_PERMISSIONS = "permissions";
8972    field public static final String NAMESPACE_PRIVACY = "privacy";
8973    field public static final String NAMESPACE_ROLLBACK = "rollback";
8974    field public static final String NAMESPACE_ROLLBACK_BOOT = "rollback_boot";
8975    field public static final String NAMESPACE_RUNTIME = "runtime";
8976    field public static final String NAMESPACE_RUNTIME_NATIVE = "runtime_native";
8977    field public static final String NAMESPACE_RUNTIME_NATIVE_BOOT = "runtime_native_boot";
8978    field public static final String NAMESPACE_SCHEDULER = "scheduler";
8979    field @Deprecated public static final String NAMESPACE_STORAGE = "storage";
8980    field public static final String NAMESPACE_STORAGE_NATIVE_BOOT = "storage_native_boot";
8981    field public static final String NAMESPACE_SYSTEMUI = "systemui";
8982    field public static final String NAMESPACE_TELEPHONY = "telephony";
8983    field public static final String NAMESPACE_TEXTCLASSIFIER = "textclassifier";
8984    field public static final String NAMESPACE_WINDOW_MANAGER_NATIVE_BOOT = "window_manager_native_boot";
8985  }
8986
8987  public static class DeviceConfig.BadConfigException extends java.lang.Exception {
8988    ctor public DeviceConfig.BadConfigException();
8989  }
8990
8991  public static interface DeviceConfig.OnPropertiesChangedListener {
8992    method public void onPropertiesChanged(@NonNull android.provider.DeviceConfig.Properties);
8993  }
8994
8995  public static class DeviceConfig.Properties {
8996    method public boolean getBoolean(@NonNull String, boolean);
8997    method public float getFloat(@NonNull String, float);
8998    method public int getInt(@NonNull String, int);
8999    method @NonNull public java.util.Set<java.lang.String> getKeyset();
9000    method public long getLong(@NonNull String, long);
9001    method @NonNull public String getNamespace();
9002    method @Nullable public String getString(@NonNull String, @Nullable String);
9003  }
9004
9005  public static final class DeviceConfig.Properties.Builder {
9006    ctor public DeviceConfig.Properties.Builder(@NonNull String);
9007    method @NonNull public android.provider.DeviceConfig.Properties build();
9008    method @NonNull public android.provider.DeviceConfig.Properties.Builder setBoolean(@NonNull String, boolean);
9009    method @NonNull public android.provider.DeviceConfig.Properties.Builder setFloat(@NonNull String, float);
9010    method @NonNull public android.provider.DeviceConfig.Properties.Builder setInt(@NonNull String, int);
9011    method @NonNull public android.provider.DeviceConfig.Properties.Builder setLong(@NonNull String, long);
9012    method @NonNull public android.provider.DeviceConfig.Properties.Builder setString(@NonNull String, @Nullable String);
9013  }
9014
9015  public final class DocumentsContract {
9016    method @NonNull public static android.net.Uri buildDocumentUriAsUser(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
9017    method public static boolean isManageMode(@NonNull android.net.Uri);
9018    method @NonNull public static android.net.Uri setManageMode(@NonNull android.net.Uri);
9019    field public static final String ACTION_DOCUMENT_ROOT_SETTINGS = "android.provider.action.DOCUMENT_ROOT_SETTINGS";
9020    field public static final String ACTION_MANAGE_DOCUMENT = "android.provider.action.MANAGE_DOCUMENT";
9021    field public static final String EXTRA_SHOW_ADVANCED = "android.provider.extra.SHOW_ADVANCED";
9022  }
9023
9024  public static final class DocumentsContract.Root {
9025    field public static final int FLAG_ADVANCED = 65536; // 0x10000
9026    field public static final int FLAG_HAS_SETTINGS = 131072; // 0x20000
9027    field public static final int FLAG_REMOVABLE_SD = 262144; // 0x40000
9028    field public static final int FLAG_REMOVABLE_USB = 524288; // 0x80000
9029  }
9030
9031  public final class MediaStore {
9032    method @NonNull public static android.net.Uri rewriteToLegacy(@NonNull android.net.Uri);
9033    method @NonNull @WorkerThread public static android.net.Uri scanFile(@NonNull android.content.ContentResolver, @NonNull java.io.File);
9034    method @WorkerThread public static void scanVolume(@NonNull android.content.ContentResolver, @NonNull String);
9035    method @WorkerThread public static void waitForIdle(@NonNull android.content.ContentResolver);
9036    field public static final String AUTHORITY_LEGACY = "media_legacy";
9037    field @NonNull public static final android.net.Uri AUTHORITY_LEGACY_URI;
9038  }
9039
9040  public abstract class SearchIndexableData {
9041    ctor public SearchIndexableData();
9042    ctor public SearchIndexableData(android.content.Context);
9043    field public String className;
9044    field public android.content.Context context;
9045    field public boolean enabled;
9046    field public int iconResId;
9047    field public String intentAction;
9048    field public String intentTargetClass;
9049    field public String intentTargetPackage;
9050    field public String key;
9051    field public java.util.Locale locale;
9052    field public String packageName;
9053    field public int rank;
9054    field public int userId;
9055  }
9056
9057  public class SearchIndexableResource extends android.provider.SearchIndexableData {
9058    ctor public SearchIndexableResource(int, int, String, int);
9059    ctor public SearchIndexableResource(android.content.Context);
9060    field public int xmlResId;
9061  }
9062
9063  public class SearchIndexablesContract {
9064    ctor public SearchIndexablesContract();
9065    field public static final int COLUMN_INDEX_NON_INDEXABLE_KEYS_KEY_VALUE = 0; // 0x0
9066    field public static final int COLUMN_INDEX_RAW_CLASS_NAME = 7; // 0x7
9067    field public static final int COLUMN_INDEX_RAW_ENTRIES = 4; // 0x4
9068    field public static final int COLUMN_INDEX_RAW_ICON_RESID = 8; // 0x8
9069    field public static final int COLUMN_INDEX_RAW_INTENT_ACTION = 9; // 0x9
9070    field public static final int COLUMN_INDEX_RAW_INTENT_TARGET_CLASS = 11; // 0xb
9071    field public static final int COLUMN_INDEX_RAW_INTENT_TARGET_PACKAGE = 10; // 0xa
9072    field public static final int COLUMN_INDEX_RAW_KEY = 12; // 0xc
9073    field public static final int COLUMN_INDEX_RAW_KEYWORDS = 5; // 0x5
9074    field public static final int COLUMN_INDEX_RAW_RANK = 0; // 0x0
9075    field public static final int COLUMN_INDEX_RAW_SCREEN_TITLE = 6; // 0x6
9076    field public static final int COLUMN_INDEX_RAW_SUMMARY_OFF = 3; // 0x3
9077    field public static final int COLUMN_INDEX_RAW_SUMMARY_ON = 2; // 0x2
9078    field public static final int COLUMN_INDEX_RAW_TITLE = 1; // 0x1
9079    field public static final int COLUMN_INDEX_RAW_USER_ID = 13; // 0xd
9080    field public static final int COLUMN_INDEX_XML_RES_CLASS_NAME = 2; // 0x2
9081    field public static final int COLUMN_INDEX_XML_RES_ICON_RESID = 3; // 0x3
9082    field public static final int COLUMN_INDEX_XML_RES_INTENT_ACTION = 4; // 0x4
9083    field public static final int COLUMN_INDEX_XML_RES_INTENT_TARGET_CLASS = 6; // 0x6
9084    field public static final int COLUMN_INDEX_XML_RES_INTENT_TARGET_PACKAGE = 5; // 0x5
9085    field public static final int COLUMN_INDEX_XML_RES_RANK = 0; // 0x0
9086    field public static final int COLUMN_INDEX_XML_RES_RESID = 1; // 0x1
9087    field public static final String DYNAMIC_INDEXABLES_RAW = "dynamic_indexables_raw";
9088    field public static final String DYNAMIC_INDEXABLES_RAW_PATH = "settings/dynamic_indexables_raw";
9089    field public static final String INDEXABLES_RAW = "indexables_raw";
9090    field public static final String[] INDEXABLES_RAW_COLUMNS;
9091    field public static final String INDEXABLES_RAW_PATH = "settings/indexables_raw";
9092    field public static final String INDEXABLES_XML_RES = "indexables_xml_res";
9093    field public static final String[] INDEXABLES_XML_RES_COLUMNS;
9094    field public static final String INDEXABLES_XML_RES_PATH = "settings/indexables_xml_res";
9095    field public static final String NON_INDEXABLES_KEYS = "non_indexables_key";
9096    field public static final String[] NON_INDEXABLES_KEYS_COLUMNS;
9097    field public static final String NON_INDEXABLES_KEYS_PATH = "settings/non_indexables_key";
9098    field public static final String PROVIDER_INTERFACE = "android.content.action.SEARCH_INDEXABLES_PROVIDER";
9099    field public static final String SLICE_URI_PAIRS = "slice_uri_pairs";
9100    field @NonNull public static final String[] SLICE_URI_PAIRS_COLUMNS;
9101    field public static final String SLICE_URI_PAIRS_PATH = "settings/slice_uri_pairs";
9102  }
9103
9104  public static class SearchIndexablesContract.BaseColumns {
9105    field public static final String COLUMN_CLASS_NAME = "className";
9106    field public static final String COLUMN_ICON_RESID = "iconResId";
9107    field public static final String COLUMN_INTENT_ACTION = "intentAction";
9108    field public static final String COLUMN_INTENT_TARGET_CLASS = "intentTargetClass";
9109    field public static final String COLUMN_INTENT_TARGET_PACKAGE = "intentTargetPackage";
9110    field public static final String COLUMN_RANK = "rank";
9111  }
9112
9113  public static final class SearchIndexablesContract.NonIndexableKey extends android.provider.SearchIndexablesContract.BaseColumns {
9114    field public static final String COLUMN_KEY_VALUE = "key";
9115    field public static final String MIME_TYPE = "vnd.android.cursor.dir/non_indexables_key";
9116  }
9117
9118  public static final class SearchIndexablesContract.RawData extends android.provider.SearchIndexablesContract.BaseColumns {
9119    field public static final String COLUMN_ENTRIES = "entries";
9120    field public static final String COLUMN_KEY = "key";
9121    field public static final String COLUMN_KEYWORDS = "keywords";
9122    field public static final String COLUMN_SCREEN_TITLE = "screenTitle";
9123    field public static final String COLUMN_SUMMARY_OFF = "summaryOff";
9124    field public static final String COLUMN_SUMMARY_ON = "summaryOn";
9125    field public static final String COLUMN_TITLE = "title";
9126    field public static final String COLUMN_USER_ID = "user_id";
9127    field public static final String MIME_TYPE = "vnd.android.cursor.dir/indexables_raw";
9128  }
9129
9130  public static final class SearchIndexablesContract.SliceUriPairColumns {
9131    field public static final String KEY = "key";
9132    field public static final String SLICE_URI = "slice_uri";
9133  }
9134
9135  public static final class SearchIndexablesContract.XmlResource extends android.provider.SearchIndexablesContract.BaseColumns {
9136    field public static final String COLUMN_XML_RESID = "xmlResId";
9137    field public static final String MIME_TYPE = "vnd.android.cursor.dir/indexables_xml_res";
9138  }
9139
9140  public abstract class SearchIndexablesProvider extends android.content.ContentProvider {
9141    ctor public SearchIndexablesProvider();
9142    method public final int delete(android.net.Uri, String, String[]);
9143    method public String getType(android.net.Uri);
9144    method public final android.net.Uri insert(android.net.Uri, android.content.ContentValues);
9145    method public android.database.Cursor query(android.net.Uri, String[], String, String[], String);
9146    method @Nullable public android.database.Cursor queryDynamicRawData(@Nullable String[]);
9147    method public abstract android.database.Cursor queryNonIndexableKeys(String[]);
9148    method public abstract android.database.Cursor queryRawData(String[]);
9149    method @Nullable public android.database.Cursor querySliceUriPairs();
9150    method public abstract android.database.Cursor queryXmlResources(String[]);
9151    method public final int update(android.net.Uri, android.content.ContentValues, String, String[]);
9152  }
9153
9154  public final class Settings {
9155    method public static boolean checkAndNoteWriteSettingsOperation(@NonNull android.content.Context, int, @NonNull String, boolean);
9156    field public static final String ACTION_ACCESSIBILITY_DETAILS_SETTINGS = "android.settings.ACCESSIBILITY_DETAILS_SETTINGS";
9157    field public static final String ACTION_BUGREPORT_HANDLER_SETTINGS = "android.settings.BUGREPORT_HANDLER_SETTINGS";
9158    field public static final String ACTION_ENTERPRISE_PRIVACY_SETTINGS = "android.settings.ENTERPRISE_PRIVACY_SETTINGS";
9159    field public static final String ACTION_LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS = "android.settings.LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS";
9160    field public static final String ACTION_MANAGE_APP_OVERLAY_PERMISSION = "android.settings.MANAGE_APP_OVERLAY_PERMISSION";
9161    field public static final String ACTION_MANAGE_DOMAIN_URLS = "android.settings.MANAGE_DOMAIN_URLS";
9162    field public static final String ACTION_MANAGE_MORE_DEFAULT_APPS_SETTINGS = "android.settings.MANAGE_MORE_DEFAULT_APPS_SETTINGS";
9163    field public static final String ACTION_NOTIFICATION_POLICY_ACCESS_DETAIL_SETTINGS = "android.settings.NOTIFICATION_POLICY_ACCESS_DETAIL_SETTINGS";
9164    field public static final String ACTION_REQUEST_ENABLE_CONTENT_CAPTURE = "android.settings.REQUEST_ENABLE_CONTENT_CAPTURE";
9165    field public static final String ACTION_SHOW_ADMIN_SUPPORT_DETAILS = "android.settings.SHOW_ADMIN_SUPPORT_DETAILS";
9166    field public static final String ACTION_TETHER_PROVISIONING_UI = "android.settings.TETHER_PROVISIONING_UI";
9167    field public static final String ACTION_TETHER_SETTINGS = "android.settings.TETHER_SETTINGS";
9168  }
9169
9170  public static final class Settings.Global extends android.provider.Settings.NameValueTable {
9171    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, @Nullable String, boolean);
9172    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String);
9173    field public static final String AIRPLANE_MODE_TOGGLEABLE_RADIOS = "airplane_mode_toggleable_radios";
9174    field public static final String APP_STANDBY_ENABLED = "app_standby_enabled";
9175    field public static final String AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES = "autofill_compat_mode_allowed_packages";
9176    field public static final String CARRIER_APP_NAMES = "carrier_app_names";
9177    field public static final String CARRIER_APP_WHITELIST = "carrier_app_whitelist";
9178    field public static final String DEFAULT_SM_DP_PLUS = "default_sm_dp_plus";
9179    field public static final String DEVICE_DEMO_MODE = "device_demo_mode";
9180    field public static final String DEVICE_PROVISIONING_MOBILE_DATA_ENABLED = "device_provisioning_mobile_data";
9181    field public static final String EUICC_PROVISIONED = "euicc_provisioned";
9182    field public static final String EUICC_SUPPORTED_COUNTRIES = "euicc_supported_countries";
9183    field public static final String EUICC_UNSUPPORTED_COUNTRIES = "euicc_unsupported_countries";
9184    field public static final String INSTALL_CARRIER_APP_NOTIFICATION_PERSISTENT = "install_carrier_app_notification_persistent";
9185    field public static final String INSTALL_CARRIER_APP_NOTIFICATION_SLEEP_MILLIS = "install_carrier_app_notification_sleep_millis";
9186    field public static final String OTA_DISABLE_AUTOMATIC_UPDATE = "ota_disable_automatic_update";
9187    field public static final String REQUIRE_PASSWORD_TO_DECRYPT = "require_password_to_decrypt";
9188    field public static final String TETHER_OFFLOAD_DISABLED = "tether_offload_disabled";
9189    field public static final String TETHER_SUPPORTED = "tether_supported";
9190    field public static final String THEATER_MODE_ON = "theater_mode_on";
9191    field public static final String WEBVIEW_MULTIPROCESS = "webview_multiprocess";
9192    field public static final String WIFI_BADGING_THRESHOLDS = "wifi_badging_thresholds";
9193    field @Deprecated public static final String WIFI_WAKEUP_ENABLED = "wifi_wakeup_enabled";
9194  }
9195
9196  public static final class Settings.Secure extends android.provider.Settings.NameValueTable {
9197    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, @Nullable String, boolean);
9198    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String);
9199    field @Deprecated public static final String ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED = "accessibility_display_magnification_navbar_enabled";
9200    field public static final String ASSIST_GESTURE_SETUP_COMPLETE = "assist_gesture_setup_complete";
9201    field public static final String AUTOFILL_FEATURE_FIELD_CLASSIFICATION = "autofill_field_classification";
9202    field public static final String AUTOFILL_USER_DATA_MAX_CATEGORY_COUNT = "autofill_user_data_max_category_count";
9203    field public static final String AUTOFILL_USER_DATA_MAX_FIELD_CLASSIFICATION_IDS_SIZE = "autofill_user_data_max_field_classification_size";
9204    field public static final String AUTOFILL_USER_DATA_MAX_USER_DATA_SIZE = "autofill_user_data_max_user_data_size";
9205    field public static final String AUTOFILL_USER_DATA_MAX_VALUE_LENGTH = "autofill_user_data_max_value_length";
9206    field public static final String AUTOFILL_USER_DATA_MIN_VALUE_LENGTH = "autofill_user_data_min_value_length";
9207    field public static final String AUTO_REVOKE_DISABLED = "auto_revoke_disabled";
9208    field public static final String COMPLETED_CATEGORY_PREFIX = "suggested.completed_category.";
9209    field public static final String DOZE_ALWAYS_ON = "doze_always_on";
9210    field public static final String HUSH_GESTURE_USED = "hush_gesture_used";
9211    field public static final String INSTANT_APPS_ENABLED = "instant_apps_enabled";
9212    field public static final String LAST_SETUP_SHOWN = "last_setup_shown";
9213    field public static final String LOCATION_ACCESS_CHECK_DELAY_MILLIS = "location_access_check_delay_millis";
9214    field public static final String LOCATION_ACCESS_CHECK_INTERVAL_MILLIS = "location_access_check_interval_millis";
9215    field public static final int LOCATION_MODE_ON = 3; // 0x3
9216    field @Deprecated public static final String LOCATION_PERMISSIONS_UPGRADE_TO_Q_MODE = "location_permissions_upgrade_to_q_mode";
9217    field public static final String LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS = "lock_screen_allow_private_notifications";
9218    field public static final String LOCK_SCREEN_SHOW_NOTIFICATIONS = "lock_screen_show_notifications";
9219    field public static final String ODI_CAPTIONS_ENABLED = "odi_captions_enabled";
9220    field public static final String THEME_CUSTOMIZATION_OVERLAY_PACKAGES = "theme_customization_overlay_packages";
9221    field public static final String USER_SETUP_COMPLETE = "user_setup_complete";
9222    field public static final int USER_SETUP_PERSONALIZATION_COMPLETE = 10; // 0xa
9223    field public static final int USER_SETUP_PERSONALIZATION_NOT_STARTED = 0; // 0x0
9224    field public static final int USER_SETUP_PERSONALIZATION_PAUSED = 2; // 0x2
9225    field public static final int USER_SETUP_PERSONALIZATION_STARTED = 1; // 0x1
9226    field public static final String USER_SETUP_PERSONALIZATION_STATE = "user_setup_personalization_state";
9227    field public static final String VOLUME_HUSH_GESTURE = "volume_hush_gesture";
9228    field public static final int VOLUME_HUSH_MUTE = 2; // 0x2
9229    field public static final int VOLUME_HUSH_OFF = 0; // 0x0
9230    field public static final int VOLUME_HUSH_VIBRATE = 1; // 0x1
9231  }
9232
9233  public static final class Settings.System extends android.provider.Settings.NameValueTable {
9234    method @RequiresPermission(android.Manifest.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, boolean);
9235  }
9236
9237  public static final class Telephony.Carriers implements android.provider.BaseColumns {
9238    field public static final String APN_SET_ID = "apn_set_id";
9239    field public static final int CARRIER_EDITED = 4; // 0x4
9240    field public static final String EDITED_STATUS = "edited";
9241    field public static final String MAX_CONNECTIONS = "max_conns";
9242    field public static final String MODEM_PERSIST = "modem_cognitive";
9243    field public static final String MTU = "mtu";
9244    field public static final int NO_APN_SET_ID = 0; // 0x0
9245    field public static final String TIME_LIMIT_FOR_MAX_CONNECTIONS = "max_conns_time";
9246    field public static final int UNEDITED = 0; // 0x0
9247    field public static final int USER_DELETED = 2; // 0x2
9248    field public static final String USER_EDITABLE = "user_editable";
9249    field public static final int USER_EDITED = 1; // 0x1
9250    field public static final String USER_VISIBLE = "user_visible";
9251    field public static final String WAIT_TIME_RETRY = "wait_time";
9252  }
9253
9254  public static final class Telephony.CellBroadcasts implements android.provider.BaseColumns {
9255    field @NonNull public static final String AUTHORITY_LEGACY = "cellbroadcast-legacy";
9256    field @NonNull public static final android.net.Uri AUTHORITY_LEGACY_URI;
9257    field @NonNull public static final String CALL_METHOD_GET_PREFERENCE = "get_preference";
9258    field public static final String CID = "cid";
9259    field public static final String CMAS_CATEGORY = "cmas_category";
9260    field public static final String CMAS_CERTAINTY = "cmas_certainty";
9261    field public static final String CMAS_MESSAGE_CLASS = "cmas_message_class";
9262    field public static final String CMAS_RESPONSE_TYPE = "cmas_response_type";
9263    field public static final String CMAS_SEVERITY = "cmas_severity";
9264    field public static final String CMAS_URGENCY = "cmas_urgency";
9265    field @NonNull public static final android.net.Uri CONTENT_URI;
9266    field public static final String DATA_CODING_SCHEME = "dcs";
9267    field public static final String DEFAULT_SORT_ORDER = "date DESC";
9268    field public static final String DELIVERY_TIME = "date";
9269    field public static final String ETWS_WARNING_TYPE = "etws_warning_type";
9270    field public static final String GEOGRAPHICAL_SCOPE = "geo_scope";
9271    field public static final String GEOMETRIES = "geometries";
9272    field public static final String LAC = "lac";
9273    field public static final String LANGUAGE_CODE = "language";
9274    field public static final String LOCATION_CHECK_TIME = "location_check_time";
9275    field public static final String MAXIMUM_WAIT_TIME = "maximum_wait_time";
9276    field public static final String MESSAGE_BODY = "body";
9277    field public static final String MESSAGE_BROADCASTED = "message_broadcasted";
9278    field public static final String MESSAGE_DISPLAYED = "message_displayed";
9279    field public static final String MESSAGE_FORMAT = "format";
9280    field @NonNull @RequiresPermission(android.Manifest.permission.READ_CELL_BROADCASTS) public static final android.net.Uri MESSAGE_HISTORY_URI;
9281    field public static final String MESSAGE_PRIORITY = "priority";
9282    field public static final String MESSAGE_READ = "read";
9283    field public static final String PLMN = "plmn";
9284    field public static final String RECEIVED_TIME = "received_time";
9285    field public static final String SERIAL_NUMBER = "serial_number";
9286    field public static final String SERVICE_CATEGORY = "service_category";
9287    field public static final String SLOT_INDEX = "slot_index";
9288    field public static final String SUBSCRIPTION_ID = "sub_id";
9289  }
9290
9291  public static final class Telephony.CellBroadcasts.Preference {
9292    field @NonNull public static final String ENABLE_ALERT_VIBRATION_PREF = "enable_alert_vibrate";
9293    field @NonNull public static final String ENABLE_AREA_UPDATE_INFO_PREF = "enable_area_update_info_alerts";
9294    field @NonNull public static final String ENABLE_CMAS_AMBER_PREF = "enable_cmas_amber_alerts";
9295    field @NonNull public static final String ENABLE_CMAS_EXTREME_THREAT_PREF = "enable_cmas_extreme_threat_alerts";
9296    field @NonNull public static final String ENABLE_CMAS_IN_SECOND_LANGUAGE_PREF = "receive_cmas_in_second_language";
9297    field @NonNull public static final String ENABLE_CMAS_PRESIDENTIAL_PREF = "enable_cmas_presidential_alerts";
9298    field @NonNull public static final String ENABLE_CMAS_SEVERE_THREAT_PREF = "enable_cmas_severe_threat_alerts";
9299    field @NonNull public static final String ENABLE_EMERGENCY_PERF = "enable_emergency_alerts";
9300    field @NonNull public static final String ENABLE_PUBLIC_SAFETY_PREF = "enable_public_safety_messages";
9301    field @NonNull public static final String ENABLE_STATE_LOCAL_TEST_PREF = "enable_state_local_test_alerts";
9302    field @NonNull public static final String ENABLE_TEST_ALERT_PREF = "enable_test_alerts";
9303  }
9304
9305  public static final class Telephony.Sms.Intents {
9306    field public static final String ACTION_SMS_EMERGENCY_CB_RECEIVED = "android.provider.action.SMS_EMERGENCY_CB_RECEIVED";
9307  }
9308
9309  public final class TimeZoneRulesDataContract {
9310    field public static final String AUTHORITY = "com.android.timezone";
9311  }
9312
9313  public static final class TimeZoneRulesDataContract.Operation {
9314    field public static final String COLUMN_DISTRO_MAJOR_VERSION = "distro_major_version";
9315    field public static final String COLUMN_DISTRO_MINOR_VERSION = "distro_minor_version";
9316    field public static final String COLUMN_REVISION = "revision";
9317    field public static final String COLUMN_RULES_VERSION = "rules_version";
9318    field public static final String COLUMN_TYPE = "type";
9319    field public static final android.net.Uri CONTENT_URI;
9320    field public static final String TYPE_INSTALL = "INSTALL";
9321    field public static final String TYPE_NO_OP = "NOOP";
9322    field public static final String TYPE_UNINSTALL = "UNINSTALL";
9323  }
9324
9325}
9326
9327package android.se.omapi {
9328
9329  public final class Reader {
9330    method @RequiresPermission(android.Manifest.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION) public boolean reset();
9331  }
9332
9333}
9334
9335package android.security.keystore {
9336
9337  public class AndroidKeyStoreProvider extends java.security.Provider {
9338    method @NonNull public static java.security.KeyStore getKeyStoreForUid(int) throws java.security.KeyStoreException, java.security.NoSuchProviderException;
9339  }
9340
9341  public abstract class AttestationUtils {
9342    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;
9343    field public static final int ID_TYPE_IMEI = 2; // 0x2
9344    field public static final int ID_TYPE_MEID = 3; // 0x3
9345    field public static final int ID_TYPE_SERIAL = 1; // 0x1
9346    field public static final int USE_INDIVIDUAL_ATTESTATION = 4; // 0x4
9347  }
9348
9349  public class DeviceIdAttestationException extends java.lang.Exception {
9350    ctor public DeviceIdAttestationException(@Nullable String);
9351    ctor public DeviceIdAttestationException(@Nullable String, @Nullable Throwable);
9352  }
9353
9354  public static final class KeyGenParameterSpec.Builder {
9355    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUid(int);
9356  }
9357
9358}
9359
9360package android.security.keystore.recovery {
9361
9362  public class DecryptionFailedException extends java.security.GeneralSecurityException {
9363    ctor public DecryptionFailedException(String);
9364  }
9365
9366  public class InternalRecoveryServiceException extends java.security.GeneralSecurityException {
9367    ctor public InternalRecoveryServiceException(String);
9368    ctor public InternalRecoveryServiceException(String, Throwable);
9369  }
9370
9371  public final class KeyChainProtectionParams implements android.os.Parcelable {
9372    method public void clearSecret();
9373    method public int describeContents();
9374    method @NonNull public android.security.keystore.recovery.KeyDerivationParams getKeyDerivationParams();
9375    method public int getLockScreenUiFormat();
9376    method @NonNull public byte[] getSecret();
9377    method public int getUserSecretType();
9378    method public void writeToParcel(android.os.Parcel, int);
9379    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyChainProtectionParams> CREATOR;
9380    field public static final int TYPE_LOCKSCREEN = 100; // 0x64
9381    field public static final int UI_FORMAT_PASSWORD = 2; // 0x2
9382    field public static final int UI_FORMAT_PATTERN = 3; // 0x3
9383    field public static final int UI_FORMAT_PIN = 1; // 0x1
9384  }
9385
9386  public static class KeyChainProtectionParams.Builder {
9387    ctor public KeyChainProtectionParams.Builder();
9388    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams build();
9389    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setKeyDerivationParams(@NonNull android.security.keystore.recovery.KeyDerivationParams);
9390    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setLockScreenUiFormat(int);
9391    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setSecret(@NonNull byte[]);
9392    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setUserSecretType(int);
9393  }
9394
9395  public final class KeyChainSnapshot implements android.os.Parcelable {
9396    method public int describeContents();
9397    method public long getCounterId();
9398    method @NonNull public byte[] getEncryptedRecoveryKeyBlob();
9399    method @NonNull public java.util.List<android.security.keystore.recovery.KeyChainProtectionParams> getKeyChainProtectionParams();
9400    method public int getMaxAttempts();
9401    method @NonNull public byte[] getServerParams();
9402    method public int getSnapshotVersion();
9403    method @NonNull public java.security.cert.CertPath getTrustedHardwareCertPath();
9404    method @NonNull public java.util.List<android.security.keystore.recovery.WrappedApplicationKey> getWrappedApplicationKeys();
9405    method public void writeToParcel(android.os.Parcel, int);
9406    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyChainSnapshot> CREATOR;
9407  }
9408
9409  public final class KeyDerivationParams implements android.os.Parcelable {
9410    method @NonNull public static android.security.keystore.recovery.KeyDerivationParams createScryptParams(@NonNull byte[], int);
9411    method @NonNull public static android.security.keystore.recovery.KeyDerivationParams createSha256Params(@NonNull byte[]);
9412    method public int describeContents();
9413    method public int getAlgorithm();
9414    method public int getMemoryDifficulty();
9415    method @NonNull public byte[] getSalt();
9416    method public void writeToParcel(android.os.Parcel, int);
9417    field public static final int ALGORITHM_SCRYPT = 2; // 0x2
9418    field public static final int ALGORITHM_SHA256 = 1; // 0x1
9419    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyDerivationParams> CREATOR;
9420  }
9421
9422  public class LockScreenRequiredException extends java.security.GeneralSecurityException {
9423    ctor public LockScreenRequiredException(String);
9424  }
9425
9426  public class RecoveryController {
9427    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public android.security.keystore.recovery.RecoverySession createRecoverySession();
9428    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;
9429    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;
9430    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.util.List<java.lang.String> getAliases() throws android.security.keystore.recovery.InternalRecoveryServiceException;
9431    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public static android.security.keystore.recovery.RecoveryController getInstance(@NonNull android.content.Context);
9432    method @Nullable @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.security.Key getKey(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException, java.security.UnrecoverableKeyException;
9433    method @Nullable @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public android.security.keystore.recovery.KeyChainSnapshot getKeyChainSnapshot() throws android.security.keystore.recovery.InternalRecoveryServiceException;
9434    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public int[] getRecoverySecretTypes() throws android.security.keystore.recovery.InternalRecoveryServiceException;
9435    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public int getRecoveryStatus(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException;
9436    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.util.Map<java.lang.String,java.security.cert.X509Certificate> getRootCertificates();
9437    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;
9438    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;
9439    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;
9440    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public static boolean isRecoverableKeyStoreEnabled(@NonNull android.content.Context);
9441    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void removeKey(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException;
9442    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setRecoverySecretTypes(@NonNull int[]) throws android.security.keystore.recovery.InternalRecoveryServiceException;
9443    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setRecoveryStatus(@NonNull String, int) throws android.security.keystore.recovery.InternalRecoveryServiceException;
9444    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setServerParams(@NonNull byte[]) throws android.security.keystore.recovery.InternalRecoveryServiceException;
9445    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setSnapshotCreatedPendingIntent(@Nullable android.app.PendingIntent) throws android.security.keystore.recovery.InternalRecoveryServiceException;
9446    field public static final int RECOVERY_STATUS_PERMANENT_FAILURE = 3; // 0x3
9447    field public static final int RECOVERY_STATUS_SYNCED = 0; // 0x0
9448    field public static final int RECOVERY_STATUS_SYNC_IN_PROGRESS = 1; // 0x1
9449  }
9450
9451  public class RecoverySession implements java.lang.AutoCloseable {
9452    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void close();
9453    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;
9454    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;
9455  }
9456
9457  public class SessionExpiredException extends java.security.GeneralSecurityException {
9458    ctor public SessionExpiredException(String);
9459  }
9460
9461  public final class WrappedApplicationKey implements android.os.Parcelable {
9462    method public int describeContents();
9463    method @NonNull public String getAlias();
9464    method @NonNull public byte[] getEncryptedKeyMaterial();
9465    method @Nullable public byte[] getMetadata();
9466    method public void writeToParcel(android.os.Parcel, int);
9467    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.WrappedApplicationKey> CREATOR;
9468  }
9469
9470  public static class WrappedApplicationKey.Builder {
9471    ctor public WrappedApplicationKey.Builder();
9472    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey build();
9473    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setAlias(@NonNull String);
9474    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setEncryptedKeyMaterial(@NonNull byte[]);
9475    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setMetadata(@Nullable byte[]);
9476  }
9477
9478}
9479
9480package android.service.appprediction {
9481
9482  public abstract class AppPredictionService extends android.app.Service {
9483    ctor public AppPredictionService();
9484    method @MainThread public abstract void onAppTargetEvent(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull android.app.prediction.AppTargetEvent);
9485    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
9486    method public void onCreatePredictionSession(@NonNull android.app.prediction.AppPredictionContext, @NonNull android.app.prediction.AppPredictionSessionId);
9487    method @MainThread public void onDestroyPredictionSession(@NonNull android.app.prediction.AppPredictionSessionId);
9488    method @MainThread public abstract void onLaunchLocationShown(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull String, @NonNull java.util.List<android.app.prediction.AppTargetId>);
9489    method @MainThread public abstract void onRequestPredictionUpdate(@NonNull android.app.prediction.AppPredictionSessionId);
9490    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>>);
9491    method @MainThread public void onStartPredictionUpdates();
9492    method @MainThread public void onStopPredictionUpdates();
9493    method public final void updatePredictions(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull java.util.List<android.app.prediction.AppTarget>);
9494  }
9495
9496}
9497
9498package android.service.attention {
9499
9500  public abstract class AttentionService extends android.app.Service {
9501    ctor public AttentionService();
9502    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
9503    method public abstract void onCancelAttentionCheck(@NonNull android.service.attention.AttentionService.AttentionCallback);
9504    method public abstract void onCheckAttention(@NonNull android.service.attention.AttentionService.AttentionCallback);
9505    field public static final int ATTENTION_FAILURE_CAMERA_PERMISSION_ABSENT = 6; // 0x6
9506    field public static final int ATTENTION_FAILURE_CANCELLED = 3; // 0x3
9507    field public static final int ATTENTION_FAILURE_PREEMPTED = 4; // 0x4
9508    field public static final int ATTENTION_FAILURE_TIMED_OUT = 5; // 0x5
9509    field public static final int ATTENTION_FAILURE_UNKNOWN = 2; // 0x2
9510    field public static final int ATTENTION_SUCCESS_ABSENT = 0; // 0x0
9511    field public static final int ATTENTION_SUCCESS_PRESENT = 1; // 0x1
9512    field public static final String SERVICE_INTERFACE = "android.service.attention.AttentionService";
9513  }
9514
9515  public static final class AttentionService.AttentionCallback {
9516    method public void onFailure(int);
9517    method public void onSuccess(int, long);
9518  }
9519
9520}
9521
9522package android.service.autofill {
9523
9524  public abstract class AutofillFieldClassificationService extends android.app.Service {
9525    ctor public AutofillFieldClassificationService();
9526    method public android.os.IBinder onBind(android.content.Intent);
9527    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);
9528    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>);
9529    field public static final String REQUIRED_ALGORITHM_CREDIT_CARD = "CREDIT_CARD";
9530    field public static final String REQUIRED_ALGORITHM_EDIT_DISTANCE = "EDIT_DISTANCE";
9531    field public static final String REQUIRED_ALGORITHM_EXACT_MATCH = "EXACT_MATCH";
9532    field public static final String SERVICE_INTERFACE = "android.service.autofill.AutofillFieldClassificationService";
9533    field public static final String SERVICE_META_DATA_KEY_AVAILABLE_ALGORITHMS = "android.autofill.field_classification.available_algorithms";
9534    field public static final String SERVICE_META_DATA_KEY_DEFAULT_ALGORITHM = "android.autofill.field_classification.default_algorithm";
9535  }
9536
9537  public static final class Dataset.Builder {
9538    ctor public Dataset.Builder(@NonNull android.service.autofill.InlinePresentation);
9539    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);
9540  }
9541
9542  public abstract class InlineSuggestionRenderService extends android.app.Service {
9543    ctor public InlineSuggestionRenderService();
9544    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
9545    method @NonNull public android.os.Bundle onGetInlineSuggestionsRendererInfo();
9546    method @Nullable public android.view.View onRenderSuggestion(@NonNull android.service.autofill.InlinePresentation, int, int);
9547    method public final void startIntentSender(@NonNull android.content.IntentSender);
9548    field public static final String SERVICE_INTERFACE = "android.service.autofill.InlineSuggestionRenderService";
9549  }
9550
9551}
9552
9553package android.service.autofill.augmented {
9554
9555  public abstract class AugmentedAutofillService extends android.app.Service {
9556    ctor public AugmentedAutofillService();
9557    method protected final void dump(java.io.FileDescriptor, java.io.PrintWriter, String[]);
9558    method protected void dump(@NonNull java.io.PrintWriter, @NonNull String[]);
9559    method @Nullable public final android.service.autofill.FillEventHistory getFillEventHistory();
9560    method public void onConnected();
9561    method public void onDisconnected();
9562    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);
9563    method public final boolean requestAutofill(@NonNull android.content.ComponentName, @NonNull android.view.autofill.AutofillId);
9564    field public static final String SERVICE_INTERFACE = "android.service.autofill.augmented.AugmentedAutofillService";
9565  }
9566
9567  public final class FillCallback {
9568    method public void onSuccess(@Nullable android.service.autofill.augmented.FillResponse);
9569  }
9570
9571  public final class FillController {
9572    method public void autofill(@NonNull java.util.List<android.util.Pair<android.view.autofill.AutofillId,android.view.autofill.AutofillValue>>);
9573  }
9574
9575  public final class FillRequest {
9576    method @NonNull public android.content.ComponentName getActivityComponent();
9577    method @NonNull public android.view.autofill.AutofillId getFocusedId();
9578    method @NonNull public android.view.autofill.AutofillValue getFocusedValue();
9579    method @Nullable public android.view.inputmethod.InlineSuggestionsRequest getInlineSuggestionsRequest();
9580    method @Nullable public android.service.autofill.augmented.PresentationParams getPresentationParams();
9581    method public int getTaskId();
9582  }
9583
9584  public final class FillResponse {
9585  }
9586
9587  public static final class FillResponse.Builder {
9588    ctor public FillResponse.Builder();
9589    method @NonNull public android.service.autofill.augmented.FillResponse build();
9590    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setClientState(@NonNull android.os.Bundle);
9591    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setFillWindow(@NonNull android.service.autofill.augmented.FillWindow);
9592    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setInlineSuggestions(@NonNull java.util.List<android.service.autofill.Dataset>);
9593  }
9594
9595  public final class FillWindow implements java.lang.AutoCloseable {
9596    ctor public FillWindow();
9597    method public void destroy();
9598    method public boolean update(@NonNull android.service.autofill.augmented.PresentationParams.Area, @NonNull android.view.View, long);
9599  }
9600
9601  public abstract class PresentationParams {
9602    method @Nullable public android.service.autofill.augmented.PresentationParams.Area getSuggestionArea();
9603  }
9604
9605  public abstract static class PresentationParams.Area {
9606    method @NonNull public android.graphics.Rect getBounds();
9607  }
9608
9609}
9610
9611package android.service.carrier {
9612
9613  public abstract class ApnService extends android.app.Service {
9614    ctor public ApnService();
9615    method @NonNull public android.os.IBinder onBind(@Nullable android.content.Intent);
9616    method @NonNull @WorkerThread public abstract java.util.List<android.content.ContentValues> onRestoreApns(int);
9617  }
9618
9619}
9620
9621package android.service.contentcapture {
9622
9623  public final class ActivityEvent implements android.os.Parcelable {
9624    method public int describeContents();
9625    method @NonNull public android.content.ComponentName getComponentName();
9626    method public int getEventType();
9627    method public void writeToParcel(@NonNull android.os.Parcel, int);
9628    field @NonNull public static final android.os.Parcelable.Creator<android.service.contentcapture.ActivityEvent> CREATOR;
9629    field public static final int TYPE_ACTIVITY_DESTROYED = 24; // 0x18
9630    field public static final int TYPE_ACTIVITY_PAUSED = 2; // 0x2
9631    field public static final int TYPE_ACTIVITY_RESUMED = 1; // 0x1
9632    field public static final int TYPE_ACTIVITY_STOPPED = 23; // 0x17
9633  }
9634
9635  public abstract class ContentCaptureService extends android.app.Service {
9636    ctor public ContentCaptureService();
9637    method public final void disableSelf();
9638    method public void onActivityEvent(@NonNull android.service.contentcapture.ActivityEvent);
9639    method public void onActivitySnapshot(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.service.contentcapture.SnapshotData);
9640    method public void onConnected();
9641    method public void onContentCaptureEvent(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.view.contentcapture.ContentCaptureEvent);
9642    method public void onCreateContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureContext, @NonNull android.view.contentcapture.ContentCaptureSessionId);
9643    method public void onDataRemovalRequest(@NonNull android.view.contentcapture.DataRemovalRequest);
9644    method public void onDataShareRequest(@NonNull android.view.contentcapture.DataShareRequest, @NonNull android.service.contentcapture.DataShareCallback);
9645    method public void onDestroyContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureSessionId);
9646    method public void onDisconnected();
9647    method public final void setContentCaptureConditions(@NonNull String, @Nullable java.util.Set<android.view.contentcapture.ContentCaptureCondition>);
9648    method public final void setContentCaptureWhitelist(@Nullable java.util.Set<java.lang.String>, @Nullable java.util.Set<android.content.ComponentName>);
9649    field public static final String SERVICE_INTERFACE = "android.service.contentcapture.ContentCaptureService";
9650    field public static final String SERVICE_META_DATA = "android.content_capture";
9651  }
9652
9653  public interface DataShareCallback {
9654    method public void onAccept(@NonNull java.util.concurrent.Executor, @NonNull android.service.contentcapture.DataShareReadAdapter);
9655    method public void onReject();
9656  }
9657
9658  public interface DataShareReadAdapter {
9659    method public void onError(int);
9660    method public void onStart(@NonNull android.os.ParcelFileDescriptor);
9661  }
9662
9663  public final class SnapshotData implements android.os.Parcelable {
9664    method public int describeContents();
9665    method @Nullable public android.app.assist.AssistContent getAssistContent();
9666    method @NonNull public android.os.Bundle getAssistData();
9667    method @NonNull public android.app.assist.AssistStructure getAssistStructure();
9668    method public void writeToParcel(@NonNull android.os.Parcel, int);
9669    field @NonNull public static final android.os.Parcelable.Creator<android.service.contentcapture.SnapshotData> CREATOR;
9670  }
9671
9672}
9673
9674package android.service.contentsuggestions {
9675
9676  public abstract class ContentSuggestionsService extends android.app.Service {
9677    ctor public ContentSuggestionsService();
9678    method public abstract void onClassifyContentSelections(@NonNull android.app.contentsuggestions.ClassificationsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.ClassificationsCallback);
9679    method public abstract void onNotifyInteraction(@NonNull String, @NonNull android.os.Bundle);
9680    method public abstract void onProcessContextImage(int, @Nullable android.graphics.Bitmap, @NonNull android.os.Bundle);
9681    method public abstract void onSuggestContentSelections(@NonNull android.app.contentsuggestions.SelectionsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.SelectionsCallback);
9682    field public static final String SERVICE_INTERFACE = "android.service.contentsuggestions.ContentSuggestionsService";
9683  }
9684
9685}
9686
9687package android.service.dataloader {
9688
9689  public abstract class DataLoaderService extends android.app.Service {
9690    ctor public DataLoaderService();
9691    method @Nullable public android.service.dataloader.DataLoaderService.DataLoader onCreateDataLoader(@NonNull android.content.pm.DataLoaderParams);
9692  }
9693
9694  public static interface DataLoaderService.DataLoader {
9695    method public boolean onCreate(@NonNull android.content.pm.DataLoaderParams, @NonNull android.service.dataloader.DataLoaderService.FileSystemConnector);
9696    method public boolean onPrepareImage(@NonNull java.util.Collection<android.content.pm.InstallationFile>, @NonNull java.util.Collection<java.lang.String>);
9697  }
9698
9699  public static final class DataLoaderService.FileSystemConnector {
9700    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void writeData(@NonNull String, long, long, @NonNull android.os.ParcelFileDescriptor) throws java.io.IOException;
9701  }
9702
9703}
9704
9705package android.service.euicc {
9706
9707  public final class DownloadSubscriptionResult implements android.os.Parcelable {
9708    ctor public DownloadSubscriptionResult(int, int, int);
9709    method public int describeContents();
9710    method public int getCardId();
9711    method public int getResolvableErrors();
9712    method public int getResult();
9713    method public void writeToParcel(android.os.Parcel, int);
9714    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.DownloadSubscriptionResult> CREATOR;
9715  }
9716
9717  public final class EuiccProfileInfo implements android.os.Parcelable {
9718    method public int describeContents();
9719    method public android.service.carrier.CarrierIdentifier getCarrierIdentifier();
9720    method public String getIccid();
9721    method @Nullable public String getNickname();
9722    method @android.service.euicc.EuiccProfileInfo.PolicyRule public int getPolicyRules();
9723    method @android.service.euicc.EuiccProfileInfo.ProfileClass public int getProfileClass();
9724    method public String getProfileName();
9725    method public String getServiceProviderName();
9726    method @android.service.euicc.EuiccProfileInfo.ProfileState public int getState();
9727    method @Nullable public java.util.List<android.telephony.UiccAccessRule> getUiccAccessRules();
9728    method public boolean hasPolicyRule(@android.service.euicc.EuiccProfileInfo.PolicyRule int);
9729    method public boolean hasPolicyRules();
9730    method public void writeToParcel(android.os.Parcel, int);
9731    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.EuiccProfileInfo> CREATOR;
9732    field public static final int POLICY_RULE_DELETE_AFTER_DISABLING = 4; // 0x4
9733    field public static final int POLICY_RULE_DO_NOT_DELETE = 2; // 0x2
9734    field public static final int POLICY_RULE_DO_NOT_DISABLE = 1; // 0x1
9735    field public static final int PROFILE_CLASS_OPERATIONAL = 2; // 0x2
9736    field public static final int PROFILE_CLASS_PROVISIONING = 1; // 0x1
9737    field public static final int PROFILE_CLASS_TESTING = 0; // 0x0
9738    field public static final int PROFILE_STATE_DISABLED = 0; // 0x0
9739    field public static final int PROFILE_STATE_ENABLED = 1; // 0x1
9740  }
9741
9742  public static final class EuiccProfileInfo.Builder {
9743    ctor public EuiccProfileInfo.Builder(String);
9744    ctor public EuiccProfileInfo.Builder(android.service.euicc.EuiccProfileInfo);
9745    method public android.service.euicc.EuiccProfileInfo build();
9746    method public android.service.euicc.EuiccProfileInfo.Builder setCarrierIdentifier(android.service.carrier.CarrierIdentifier);
9747    method public android.service.euicc.EuiccProfileInfo.Builder setIccid(String);
9748    method public android.service.euicc.EuiccProfileInfo.Builder setNickname(String);
9749    method public android.service.euicc.EuiccProfileInfo.Builder setPolicyRules(@android.service.euicc.EuiccProfileInfo.PolicyRule int);
9750    method public android.service.euicc.EuiccProfileInfo.Builder setProfileClass(@android.service.euicc.EuiccProfileInfo.ProfileClass int);
9751    method public android.service.euicc.EuiccProfileInfo.Builder setProfileName(String);
9752    method public android.service.euicc.EuiccProfileInfo.Builder setServiceProviderName(String);
9753    method public android.service.euicc.EuiccProfileInfo.Builder setState(@android.service.euicc.EuiccProfileInfo.ProfileState int);
9754    method public android.service.euicc.EuiccProfileInfo.Builder setUiccAccessRule(@Nullable java.util.List<android.telephony.UiccAccessRule>);
9755  }
9756
9757  @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 {
9758  }
9759
9760  @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 {
9761  }
9762
9763  @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 {
9764  }
9765
9766  public abstract class EuiccService extends android.app.Service {
9767    ctor public EuiccService();
9768    method public void dump(@NonNull java.io.PrintWriter);
9769    method public int encodeSmdxSubjectAndReasonCode(@Nullable String, @Nullable String) throws java.lang.IllegalArgumentException, java.lang.NumberFormatException, java.lang.UnsupportedOperationException;
9770    method @CallSuper public android.os.IBinder onBind(android.content.Intent);
9771    method public abstract int onDeleteSubscription(int, String);
9772    method public android.service.euicc.DownloadSubscriptionResult onDownloadSubscription(int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean, @Nullable android.os.Bundle);
9773    method @Deprecated public int onDownloadSubscription(int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean);
9774    method @Deprecated public abstract int onEraseSubscriptions(int);
9775    method public int onEraseSubscriptions(int, @android.telephony.euicc.EuiccCardManager.ResetOption int);
9776    method public abstract android.service.euicc.GetDefaultDownloadableSubscriptionListResult onGetDefaultDownloadableSubscriptionList(int, boolean);
9777    method public abstract android.service.euicc.GetDownloadableSubscriptionMetadataResult onGetDownloadableSubscriptionMetadata(int, android.telephony.euicc.DownloadableSubscription, boolean);
9778    method public abstract String onGetEid(int);
9779    method @NonNull public abstract android.telephony.euicc.EuiccInfo onGetEuiccInfo(int);
9780    method @NonNull public abstract android.service.euicc.GetEuiccProfileInfoListResult onGetEuiccProfileInfoList(int);
9781    method @android.telephony.euicc.EuiccManager.OtaStatus public abstract int onGetOtaStatus(int);
9782    method public abstract int onRetainSubscriptionsForFactoryReset(int);
9783    method public abstract void onStartOtaIfNecessary(int, android.service.euicc.EuiccService.OtaStatusChangedCallback);
9784    method public abstract int onSwitchToSubscription(int, @Nullable String, boolean);
9785    method public abstract int onUpdateSubscriptionNickname(int, String, String);
9786    field public static final String ACTION_BIND_CARRIER_PROVISIONING_SERVICE = "android.service.euicc.action.BIND_CARRIER_PROVISIONING_SERVICE";
9787    field public static final String ACTION_DELETE_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.DELETE_SUBSCRIPTION_PRIVILEGED";
9788    field public static final String ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS = "android.service.euicc.action.MANAGE_EMBEDDED_SUBSCRIPTIONS";
9789    field public static final String ACTION_PROVISION_EMBEDDED_SUBSCRIPTION = "android.service.euicc.action.PROVISION_EMBEDDED_SUBSCRIPTION";
9790    field public static final String ACTION_RENAME_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.RENAME_SUBSCRIPTION_PRIVILEGED";
9791    field @Deprecated public static final String ACTION_RESOLVE_CONFIRMATION_CODE = "android.service.euicc.action.RESOLVE_CONFIRMATION_CODE";
9792    field public static final String ACTION_RESOLVE_DEACTIVATE_SIM = "android.service.euicc.action.RESOLVE_DEACTIVATE_SIM";
9793    field public static final String ACTION_RESOLVE_NO_PRIVILEGES = "android.service.euicc.action.RESOLVE_NO_PRIVILEGES";
9794    field public static final String ACTION_RESOLVE_RESOLVABLE_ERRORS = "android.service.euicc.action.RESOLVE_RESOLVABLE_ERRORS";
9795    field public static final String ACTION_START_CARRIER_ACTIVATION = "android.service.euicc.action.START_CARRIER_ACTIVATION";
9796    field public static final String ACTION_START_EUICC_ACTIVATION = "android.service.euicc.action.START_EUICC_ACTIVATION";
9797    field public static final String ACTION_TOGGLE_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.TOGGLE_SUBSCRIPTION_PRIVILEGED";
9798    field public static final String CATEGORY_EUICC_UI = "android.service.euicc.category.EUICC_UI";
9799    field public static final String EUICC_SERVICE_INTERFACE = "android.service.euicc.EuiccService";
9800    field public static final String EXTRA_RESOLUTION_ALLOW_POLICY_RULES = "android.service.euicc.extra.RESOLUTION_ALLOW_POLICY_RULES";
9801    field public static final String EXTRA_RESOLUTION_CALLING_PACKAGE = "android.service.euicc.extra.RESOLUTION_CALLING_PACKAGE";
9802    field public static final String EXTRA_RESOLUTION_CARD_ID = "android.service.euicc.extra.RESOLUTION_CARD_ID";
9803    field public static final String EXTRA_RESOLUTION_CONFIRMATION_CODE = "android.service.euicc.extra.RESOLUTION_CONFIRMATION_CODE";
9804    field public static final String EXTRA_RESOLUTION_CONFIRMATION_CODE_RETRIED = "android.service.euicc.extra.RESOLUTION_CONFIRMATION_CODE_RETRIED";
9805    field public static final String EXTRA_RESOLUTION_CONSENT = "android.service.euicc.extra.RESOLUTION_CONSENT";
9806    field public static final String EXTRA_RESOLVABLE_ERRORS = "android.service.euicc.extra.RESOLVABLE_ERRORS";
9807    field public static final int RESOLVABLE_ERROR_CONFIRMATION_CODE = 1; // 0x1
9808    field public static final int RESOLVABLE_ERROR_POLICY_RULES = 2; // 0x2
9809    field public static final int RESULT_FIRST_USER = 1; // 0x1
9810    field public static final int RESULT_MUST_DEACTIVATE_SIM = -1; // 0xffffffff
9811    field @Deprecated public static final int RESULT_NEED_CONFIRMATION_CODE = -2; // 0xfffffffe
9812    field public static final int RESULT_OK = 0; // 0x0
9813    field public static final int RESULT_RESOLVABLE_ERRORS = -2; // 0xfffffffe
9814  }
9815
9816  public abstract static class EuiccService.OtaStatusChangedCallback {
9817    ctor public EuiccService.OtaStatusChangedCallback();
9818    method public abstract void onOtaStatusChanged(int);
9819  }
9820
9821  public final class GetDefaultDownloadableSubscriptionListResult implements android.os.Parcelable {
9822    ctor public GetDefaultDownloadableSubscriptionListResult(int, @Nullable android.telephony.euicc.DownloadableSubscription[]);
9823    method public int describeContents();
9824    method @Nullable public java.util.List<android.telephony.euicc.DownloadableSubscription> getDownloadableSubscriptions();
9825    method public int getResult();
9826    method public void writeToParcel(android.os.Parcel, int);
9827    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetDefaultDownloadableSubscriptionListResult> CREATOR;
9828  }
9829
9830  public final class GetDownloadableSubscriptionMetadataResult implements android.os.Parcelable {
9831    ctor public GetDownloadableSubscriptionMetadataResult(int, @Nullable android.telephony.euicc.DownloadableSubscription);
9832    method public int describeContents();
9833    method @Nullable public android.telephony.euicc.DownloadableSubscription getDownloadableSubscription();
9834    method public int getResult();
9835    method public void writeToParcel(android.os.Parcel, int);
9836    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetDownloadableSubscriptionMetadataResult> CREATOR;
9837  }
9838
9839  public final class GetEuiccProfileInfoListResult implements android.os.Parcelable {
9840    ctor public GetEuiccProfileInfoListResult(int, @Nullable android.service.euicc.EuiccProfileInfo[], boolean);
9841    method public int describeContents();
9842    method public boolean getIsRemovable();
9843    method @Nullable public java.util.List<android.service.euicc.EuiccProfileInfo> getProfiles();
9844    method public int getResult();
9845    method public void writeToParcel(android.os.Parcel, int);
9846    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetEuiccProfileInfoListResult> CREATOR;
9847  }
9848
9849}
9850
9851package android.service.notification {
9852
9853  public final class Adjustment implements android.os.Parcelable {
9854    ctor public Adjustment(String, String, android.os.Bundle, CharSequence, int);
9855    ctor public Adjustment(@NonNull String, @NonNull String, @NonNull android.os.Bundle, @NonNull CharSequence, @NonNull android.os.UserHandle);
9856    ctor protected Adjustment(android.os.Parcel);
9857    method public int describeContents();
9858    method @NonNull public CharSequence getExplanation();
9859    method @NonNull public String getKey();
9860    method @NonNull public String getPackage();
9861    method @NonNull public android.os.Bundle getSignals();
9862    method public int getUser();
9863    method @NonNull public android.os.UserHandle getUserHandle();
9864    method public void writeToParcel(android.os.Parcel, int);
9865    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.Adjustment> CREATOR;
9866    field public static final String KEY_CONTEXTUAL_ACTIONS = "key_contextual_actions";
9867    field public static final String KEY_IMPORTANCE = "key_importance";
9868    field public static final String KEY_NOT_CONVERSATION = "key_not_conversation";
9869    field public static final String KEY_PEOPLE = "key_people";
9870    field public static final String KEY_RANKING_SCORE = "key_ranking_score";
9871    field public static final String KEY_SNOOZE_CRITERIA = "key_snooze_criteria";
9872    field public static final String KEY_TEXT_REPLIES = "key_text_replies";
9873    field public static final String KEY_USER_SENTIMENT = "key_user_sentiment";
9874  }
9875
9876  public abstract class NotificationAssistantService extends android.service.notification.NotificationListenerService {
9877    ctor public NotificationAssistantService();
9878    method public final void adjustNotification(@NonNull android.service.notification.Adjustment);
9879    method public final void adjustNotifications(@NonNull java.util.List<android.service.notification.Adjustment>);
9880    method public void onActionInvoked(@NonNull String, @NonNull android.app.Notification.Action, int);
9881    method public void onAllowedAdjustmentsChanged();
9882    method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent);
9883    method public void onNotificationDirectReplied(@NonNull String);
9884    method @Nullable public abstract android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification);
9885    method @Nullable public android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification, @NonNull android.app.NotificationChannel);
9886    method public void onNotificationExpansionChanged(@NonNull String, boolean, boolean);
9887    method public abstract void onNotificationSnoozedUntilContext(@NonNull android.service.notification.StatusBarNotification, @NonNull String);
9888    method public void onNotificationVisibilityChanged(@NonNull String, boolean);
9889    method public void onNotificationsSeen(@NonNull java.util.List<java.lang.String>);
9890    method public void onPanelHidden();
9891    method public void onPanelRevealed(int);
9892    method public void onSuggestedReplySent(@NonNull String, @NonNull CharSequence, int);
9893    method public final void unsnoozeNotification(@NonNull String);
9894    field public static final String SERVICE_INTERFACE = "android.service.notification.NotificationAssistantService";
9895    field public static final int SOURCE_FROM_APP = 0; // 0x0
9896    field public static final int SOURCE_FROM_ASSISTANT = 1; // 0x1
9897  }
9898
9899  public abstract class NotificationListenerService extends android.app.Service {
9900    method public void onNotificationRemoved(@NonNull android.service.notification.StatusBarNotification, @NonNull android.service.notification.NotificationListenerService.RankingMap, @NonNull android.service.notification.NotificationStats, int);
9901  }
9902
9903  public final class NotificationStats implements android.os.Parcelable {
9904    ctor public NotificationStats();
9905    ctor protected NotificationStats(android.os.Parcel);
9906    method public int describeContents();
9907    method public int getDismissalSentiment();
9908    method public int getDismissalSurface();
9909    method public boolean hasDirectReplied();
9910    method public boolean hasExpanded();
9911    method public boolean hasInteracted();
9912    method public boolean hasSeen();
9913    method public boolean hasSnoozed();
9914    method public boolean hasViewedSettings();
9915    method public void setDirectReplied();
9916    method public void setDismissalSentiment(int);
9917    method public void setDismissalSurface(int);
9918    method public void setExpanded();
9919    method public void setSeen();
9920    method public void setSnoozed();
9921    method public void setViewedSettings();
9922    method public void writeToParcel(android.os.Parcel, int);
9923    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.NotificationStats> CREATOR;
9924    field public static final int DISMISSAL_AOD = 2; // 0x2
9925    field public static final int DISMISSAL_NOT_DISMISSED = -1; // 0xffffffff
9926    field public static final int DISMISSAL_OTHER = 0; // 0x0
9927    field public static final int DISMISSAL_PEEK = 1; // 0x1
9928    field public static final int DISMISSAL_SHADE = 3; // 0x3
9929    field public static final int DISMISS_SENTIMENT_NEGATIVE = 0; // 0x0
9930    field public static final int DISMISS_SENTIMENT_NEUTRAL = 1; // 0x1
9931    field public static final int DISMISS_SENTIMENT_POSITIVE = 2; // 0x2
9932    field public static final int DISMISS_SENTIMENT_UNKNOWN = -1000; // 0xfffffc18
9933  }
9934
9935  public final class SnoozeCriterion implements android.os.Parcelable {
9936    ctor public SnoozeCriterion(String, CharSequence, CharSequence);
9937    ctor protected SnoozeCriterion(android.os.Parcel);
9938    method public int describeContents();
9939    method public CharSequence getConfirmation();
9940    method public CharSequence getExplanation();
9941    method public String getId();
9942    method public void writeToParcel(android.os.Parcel, int);
9943    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.SnoozeCriterion> CREATOR;
9944  }
9945
9946}
9947
9948package android.service.oemlock {
9949
9950  public class OemLockManager {
9951    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public String getLockName();
9952    method @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public boolean isOemUnlockAllowedByCarrier();
9953    method @RequiresPermission(android.Manifest.permission.MANAGE_USER_OEM_UNLOCK_STATE) public boolean isOemUnlockAllowedByUser();
9954    method @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public void setOemUnlockAllowedByCarrier(boolean, @Nullable byte[]);
9955    method @RequiresPermission(android.Manifest.permission.MANAGE_USER_OEM_UNLOCK_STATE) public void setOemUnlockAllowedByUser(boolean);
9956  }
9957
9958}
9959
9960package android.service.persistentdata {
9961
9962  public class PersistentDataBlockManager {
9963    method @RequiresPermission("android.permission.ACCESS_PDB_STATE") public int getDataBlockSize();
9964    method @android.service.persistentdata.PersistentDataBlockManager.FlashLockState @RequiresPermission(anyOf={android.Manifest.permission.READ_OEM_UNLOCK_STATE, "android.permission.OEM_UNLOCK_STATE"}) public int getFlashLockState();
9965    method public long getMaximumDataBlockSize();
9966    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_OEM_UNLOCK_STATE, "android.permission.OEM_UNLOCK_STATE"}) public boolean getOemUnlockEnabled();
9967    method public byte[] read();
9968    method @Deprecated @RequiresPermission("android.permission.OEM_UNLOCK_STATE") public void setOemUnlockEnabled(boolean);
9969    method @RequiresPermission("android.permission.OEM_UNLOCK_STATE") public void wipe();
9970    method public int write(byte[]);
9971    field public static final int FLASH_LOCK_LOCKED = 1; // 0x1
9972    field public static final int FLASH_LOCK_UNKNOWN = -1; // 0xffffffff
9973    field public static final int FLASH_LOCK_UNLOCKED = 0; // 0x0
9974  }
9975
9976  @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 {
9977  }
9978
9979}
9980
9981package android.service.quicksettings {
9982
9983  public class TileService extends android.app.Service {
9984    method public final void setStatusIcon(android.graphics.drawable.Icon, String);
9985  }
9986
9987}
9988
9989package android.service.resolver {
9990
9991  public abstract class ResolverRankerService extends android.app.Service {
9992    ctor public ResolverRankerService();
9993    method public android.os.IBinder onBind(android.content.Intent);
9994    method public void onPredictSharingProbabilities(java.util.List<android.service.resolver.ResolverTarget>);
9995    method public void onTrainRankingModel(java.util.List<android.service.resolver.ResolverTarget>, int);
9996    field public static final String BIND_PERMISSION = "android.permission.BIND_RESOLVER_RANKER_SERVICE";
9997    field public static final String HOLD_PERMISSION = "android.permission.PROVIDE_RESOLVER_RANKER_SERVICE";
9998    field public static final String SERVICE_INTERFACE = "android.service.resolver.ResolverRankerService";
9999  }
10000
10001  public final class ResolverTarget implements android.os.Parcelable {
10002    ctor public ResolverTarget();
10003    method public int describeContents();
10004    method public float getChooserScore();
10005    method public float getLaunchScore();
10006    method public float getRecencyScore();
10007    method public float getSelectProbability();
10008    method public float getTimeSpentScore();
10009    method public void setChooserScore(float);
10010    method public void setLaunchScore(float);
10011    method public void setRecencyScore(float);
10012    method public void setSelectProbability(float);
10013    method public void setTimeSpentScore(float);
10014    method public void writeToParcel(android.os.Parcel, int);
10015    field @NonNull public static final android.os.Parcelable.Creator<android.service.resolver.ResolverTarget> CREATOR;
10016  }
10017
10018}
10019
10020package android.service.settings.suggestions {
10021
10022  public final class Suggestion implements android.os.Parcelable {
10023    method public int describeContents();
10024    method public int getFlags();
10025    method public android.graphics.drawable.Icon getIcon();
10026    method public String getId();
10027    method public android.app.PendingIntent getPendingIntent();
10028    method public CharSequence getSummary();
10029    method public CharSequence getTitle();
10030    method public void writeToParcel(android.os.Parcel, int);
10031    field @NonNull public static final android.os.Parcelable.Creator<android.service.settings.suggestions.Suggestion> CREATOR;
10032    field public static final int FLAG_HAS_BUTTON = 1; // 0x1
10033  }
10034
10035  public static class Suggestion.Builder {
10036    ctor public Suggestion.Builder(String);
10037    method public android.service.settings.suggestions.Suggestion build();
10038    method public android.service.settings.suggestions.Suggestion.Builder setFlags(int);
10039    method public android.service.settings.suggestions.Suggestion.Builder setIcon(android.graphics.drawable.Icon);
10040    method public android.service.settings.suggestions.Suggestion.Builder setPendingIntent(android.app.PendingIntent);
10041    method public android.service.settings.suggestions.Suggestion.Builder setSummary(CharSequence);
10042    method public android.service.settings.suggestions.Suggestion.Builder setTitle(CharSequence);
10043  }
10044
10045  public abstract class SuggestionService extends android.app.Service {
10046    ctor public SuggestionService();
10047    method public android.os.IBinder onBind(android.content.Intent);
10048    method public abstract java.util.List<android.service.settings.suggestions.Suggestion> onGetSuggestions();
10049    method public abstract void onSuggestionDismissed(android.service.settings.suggestions.Suggestion);
10050    method public abstract void onSuggestionLaunched(android.service.settings.suggestions.Suggestion);
10051  }
10052
10053}
10054
10055package android.service.storage {
10056
10057  public abstract class ExternalStorageService extends android.app.Service {
10058    ctor public ExternalStorageService();
10059    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
10060    method public abstract void onEndSession(@NonNull String) throws java.io.IOException;
10061    method public abstract void onStartSession(@NonNull String, int, @NonNull android.os.ParcelFileDescriptor, @NonNull java.io.File, @NonNull java.io.File) throws java.io.IOException;
10062    method public abstract void onVolumeStateChanged(@NonNull android.os.storage.StorageVolume) throws java.io.IOException;
10063    field public static final int FLAG_SESSION_ATTRIBUTE_INDEXABLE = 2; // 0x2
10064    field public static final int FLAG_SESSION_TYPE_FUSE = 1; // 0x1
10065    field public static final String SERVICE_INTERFACE = "android.service.storage.ExternalStorageService";
10066  }
10067
10068}
10069
10070package android.service.textclassifier {
10071
10072  public abstract class TextClassifierService extends android.app.Service {
10073    ctor public TextClassifierService();
10074    method @NonNull public static android.view.textclassifier.TextClassifier getDefaultTextClassifierImplementation(@NonNull android.content.Context);
10075    method @Deprecated public final android.view.textclassifier.TextClassifier getLocalTextClassifier();
10076    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
10077    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>);
10078    method public void onConnected();
10079    method @MainThread public void onCreateTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationContext, @NonNull android.view.textclassifier.TextClassificationSessionId);
10080    method @MainThread public void onDestroyTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationSessionId);
10081    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>);
10082    method public void onDisconnected();
10083    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>);
10084    method @Deprecated @MainThread public void onSelectionEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.SelectionEvent);
10085    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>);
10086    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>);
10087    method @MainThread public void onTextClassifierEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextClassifierEvent);
10088    field public static final String SERVICE_INTERFACE = "android.service.textclassifier.TextClassifierService";
10089  }
10090
10091  public static interface TextClassifierService.Callback<T> {
10092    method public void onFailure(@NonNull CharSequence);
10093    method public void onSuccess(T);
10094  }
10095
10096}
10097
10098package android.service.trust {
10099
10100  public class TrustAgentService extends android.app.Service {
10101    ctor public TrustAgentService();
10102    method public final void addEscrowToken(byte[], android.os.UserHandle);
10103    method @Deprecated public final void grantTrust(CharSequence, long, boolean);
10104    method public final void grantTrust(CharSequence, long, int);
10105    method public final void isEscrowTokenActive(long, android.os.UserHandle);
10106    method public final android.os.IBinder onBind(android.content.Intent);
10107    method public boolean onConfigure(java.util.List<android.os.PersistableBundle>);
10108    method public void onDeviceLocked();
10109    method public void onDeviceUnlockLockout(long);
10110    method public void onDeviceUnlocked();
10111    method public void onEscrowTokenAdded(byte[], long, android.os.UserHandle);
10112    method public void onEscrowTokenRemoved(long, boolean);
10113    method public void onEscrowTokenStateReceived(long, int);
10114    method public void onTrustTimeout();
10115    method public void onUnlockAttempt(boolean);
10116    method public final void removeEscrowToken(long, android.os.UserHandle);
10117    method public final void revokeTrust();
10118    method public final void setManagingTrust(boolean);
10119    method public final void showKeyguardErrorMessage(@NonNull CharSequence);
10120    method public final void unlockUserWithToken(long, byte[], android.os.UserHandle);
10121    field public static final int FLAG_GRANT_TRUST_DISMISS_KEYGUARD = 2; // 0x2
10122    field public static final int FLAG_GRANT_TRUST_INITIATED_BY_USER = 1; // 0x1
10123    field public static final String SERVICE_INTERFACE = "android.service.trust.TrustAgentService";
10124    field public static final int TOKEN_STATE_ACTIVE = 1; // 0x1
10125    field public static final int TOKEN_STATE_INACTIVE = 0; // 0x0
10126    field public static final String TRUST_AGENT_META_DATA = "android.service.trust.trustagent";
10127  }
10128
10129}
10130
10131package android.service.voice {
10132
10133  public class VoiceInteractionService extends android.app.Service {
10134    method @NonNull @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public final android.media.voice.KeyphraseModelManager createKeyphraseModelManager();
10135  }
10136
10137}
10138
10139package android.service.wallpaper {
10140
10141  public class WallpaperService.Engine {
10142    method public boolean isInAmbientMode();
10143    method public void onAmbientModeChanged(boolean, long);
10144  }
10145
10146}
10147
10148package android.service.watchdog {
10149
10150  public abstract class ExplicitHealthCheckService extends android.app.Service {
10151    ctor public ExplicitHealthCheckService();
10152    method public final void notifyHealthCheckPassed(@NonNull String);
10153    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
10154    method public abstract void onCancelHealthCheck(@NonNull String);
10155    method @NonNull public abstract java.util.List<java.lang.String> onGetRequestedPackages();
10156    method @NonNull public abstract java.util.List<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> onGetSupportedPackages();
10157    method public abstract void onRequestHealthCheck(@NonNull String);
10158    field public static final String BIND_PERMISSION = "android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE";
10159    field public static final String SERVICE_INTERFACE = "android.service.watchdog.ExplicitHealthCheckService";
10160  }
10161
10162  public static final class ExplicitHealthCheckService.PackageConfig implements android.os.Parcelable {
10163    ctor public ExplicitHealthCheckService.PackageConfig(@NonNull String, long);
10164    method public int describeContents();
10165    method public long getHealthCheckTimeoutMillis();
10166    method @NonNull public String getPackageName();
10167    method public void writeToParcel(android.os.Parcel, int);
10168    field @NonNull public static final android.os.Parcelable.Creator<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> CREATOR;
10169  }
10170
10171}
10172
10173package android.telecom {
10174
10175  @Deprecated public class AudioState implements android.os.Parcelable {
10176    ctor @Deprecated public AudioState(boolean, int, int);
10177    ctor @Deprecated public AudioState(android.telecom.AudioState);
10178    ctor @Deprecated public AudioState(android.telecom.CallAudioState);
10179    method @Deprecated public static String audioRouteToString(int);
10180    method @Deprecated public int describeContents();
10181    method @Deprecated public int getRoute();
10182    method @Deprecated public int getSupportedRouteMask();
10183    method @Deprecated public boolean isMuted();
10184    method @Deprecated public void writeToParcel(android.os.Parcel, int);
10185    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.telecom.AudioState> CREATOR;
10186    field @Deprecated public static final int ROUTE_BLUETOOTH = 2; // 0x2
10187    field @Deprecated public static final int ROUTE_EARPIECE = 1; // 0x1
10188    field @Deprecated public static final int ROUTE_SPEAKER = 8; // 0x8
10189    field @Deprecated public static final int ROUTE_WIRED_HEADSET = 4; // 0x4
10190    field @Deprecated public static final int ROUTE_WIRED_OR_EARPIECE = 5; // 0x5
10191  }
10192
10193  public final class Call {
10194    method @Deprecated public void addListener(android.telecom.Call.Listener);
10195    method public void enterBackgroundAudioProcessing();
10196    method public void exitBackgroundAudioProcessing(boolean);
10197    method @Deprecated public void removeListener(android.telecom.Call.Listener);
10198    field @Deprecated public static final int STATE_PRE_DIAL_WAIT = 8; // 0x8
10199  }
10200
10201  @Deprecated public abstract static class Call.Listener extends android.telecom.Call.Callback {
10202    ctor @Deprecated public Call.Listener();
10203  }
10204
10205  public static class CallScreeningService.CallResponse.Builder {
10206    method @NonNull public android.telecom.CallScreeningService.CallResponse.Builder setShouldScreenCallViaAudioProcessing(boolean);
10207  }
10208
10209  public abstract class Conference extends android.telecom.Conferenceable {
10210    method @Deprecated public final android.telecom.AudioState getAudioState();
10211    method @Deprecated public final long getConnectTimeMillis();
10212    method public android.telecom.Connection getPrimaryConnection();
10213    method @NonNull public final String getTelecomCallId();
10214    method @Deprecated public void onAudioStateChanged(android.telecom.AudioState);
10215    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setAddress(@NonNull android.net.Uri, int);
10216    method public final void setCallerDisplayName(@NonNull String, int);
10217    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setConferenceState(boolean);
10218    method @Deprecated public final void setConnectTimeMillis(long);
10219  }
10220
10221  public abstract class Connection extends android.telecom.Conferenceable {
10222    method @Deprecated public final android.telecom.AudioState getAudioState();
10223    method @IntRange(from=0) public final long getConnectTimeMillis();
10224    method public final long getConnectionStartElapsedRealtimeMillis();
10225    method @Nullable public android.telecom.PhoneAccountHandle getPhoneAccountHandle();
10226    method @Nullable public final String getTelecomCallId();
10227    method @Deprecated public void onAudioStateChanged(android.telecom.AudioState);
10228    method public final void resetConnectionTime();
10229    method public void setCallDirection(int);
10230    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setConnectTimeMillis(@IntRange(from=0) long);
10231    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setConnectionStartElapsedRealtimeMillis(long);
10232    method public void setPhoneAccountHandle(@NonNull android.telecom.PhoneAccountHandle);
10233    method public void setTelecomCallId(@NonNull String);
10234    field public static final int CAPABILITY_CONFERENCE_HAS_NO_CHILDREN = 2097152; // 0x200000
10235    field public static final int CAPABILITY_SPEED_UP_MT_AUDIO = 262144; // 0x40000
10236    field public static final String EXTRA_DISABLE_ADD_CALL = "android.telecom.extra.DISABLE_ADD_CALL";
10237    field public static final int PROPERTY_EMERGENCY_CALLBACK_MODE = 1; // 0x1
10238    field public static final int PROPERTY_GENERIC_CONFERENCE = 2; // 0x2
10239    field public static final int PROPERTY_IS_DOWNGRADED_CONFERENCE = 64; // 0x40
10240    field public static final int PROPERTY_REMOTELY_HOSTED = 2048; // 0x800
10241  }
10242
10243  public final class ConnectionRequest implements android.os.Parcelable {
10244    method @Nullable public String getTelecomCallId();
10245  }
10246
10247  public abstract class ConnectionService extends android.app.Service {
10248    method public final void addExistingConnection(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.Connection, @NonNull android.telecom.Conference);
10249  }
10250
10251  public abstract class InCallService extends android.app.Service {
10252    method @Deprecated public android.telecom.Phone getPhone();
10253    method @Deprecated public void onPhoneCreated(android.telecom.Phone);
10254    method @Deprecated public void onPhoneDestroyed(android.telecom.Phone);
10255  }
10256
10257  public class ParcelableCallAnalytics implements android.os.Parcelable {
10258    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>);
10259    ctor public ParcelableCallAnalytics(android.os.Parcel);
10260    method public java.util.List<android.telecom.ParcelableCallAnalytics.AnalyticsEvent> analyticsEvents();
10261    method public int describeContents();
10262    method public long getCallDurationMillis();
10263    method public int getCallTechnologies();
10264    method public int getCallTerminationCode();
10265    method public int getCallType();
10266    method public String getConnectionService();
10267    method public java.util.List<android.telecom.ParcelableCallAnalytics.EventTiming> getEventTimings();
10268    method public long getStartTimeMillis();
10269    method public boolean isAdditionalCall();
10270    method public boolean isCreatedFromExistingConnection();
10271    method public boolean isEmergencyCall();
10272    method public boolean isInterrupted();
10273    method public void writeToParcel(android.os.Parcel, int);
10274    field public static final int CALLTYPE_INCOMING = 1; // 0x1
10275    field public static final int CALLTYPE_OUTGOING = 2; // 0x2
10276    field public static final int CALLTYPE_UNKNOWN = 0; // 0x0
10277    field public static final int CDMA_PHONE = 1; // 0x1
10278    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics> CREATOR;
10279    field public static final int GSM_PHONE = 2; // 0x2
10280    field public static final int IMS_PHONE = 4; // 0x4
10281    field public static final long MILLIS_IN_1_SECOND = 1000L; // 0x3e8L
10282    field public static final long MILLIS_IN_5_MINUTES = 300000L; // 0x493e0L
10283    field public static final int SIP_PHONE = 8; // 0x8
10284    field public static final int STILL_CONNECTED = -1; // 0xffffffff
10285    field public static final int THIRD_PARTY_PHONE = 16; // 0x10
10286  }
10287
10288  public static final class ParcelableCallAnalytics.AnalyticsEvent implements android.os.Parcelable {
10289    ctor public ParcelableCallAnalytics.AnalyticsEvent(int, long);
10290    method public int describeContents();
10291    method public int getEventName();
10292    method public long getTimeSinceLastEvent();
10293    method public void writeToParcel(android.os.Parcel, int);
10294    field public static final int AUDIO_ROUTE_BT = 204; // 0xcc
10295    field public static final int AUDIO_ROUTE_EARPIECE = 205; // 0xcd
10296    field public static final int AUDIO_ROUTE_HEADSET = 206; // 0xce
10297    field public static final int AUDIO_ROUTE_SPEAKER = 207; // 0xcf
10298    field public static final int BIND_CS = 5; // 0x5
10299    field public static final int BLOCK_CHECK_FINISHED = 105; // 0x69
10300    field public static final int BLOCK_CHECK_INITIATED = 104; // 0x68
10301    field public static final int CONFERENCE_WITH = 300; // 0x12c
10302    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.AnalyticsEvent> CREATOR;
10303    field public static final int CS_BOUND = 6; // 0x6
10304    field public static final int DIRECT_TO_VM_FINISHED = 103; // 0x67
10305    field public static final int DIRECT_TO_VM_INITIATED = 102; // 0x66
10306    field public static final int FILTERING_COMPLETED = 107; // 0x6b
10307    field public static final int FILTERING_INITIATED = 106; // 0x6a
10308    field public static final int FILTERING_TIMED_OUT = 108; // 0x6c
10309    field public static final int MUTE = 202; // 0xca
10310    field public static final int REMOTELY_HELD = 402; // 0x192
10311    field public static final int REMOTELY_UNHELD = 403; // 0x193
10312    field public static final int REQUEST_ACCEPT = 7; // 0x7
10313    field public static final int REQUEST_HOLD = 400; // 0x190
10314    field public static final int REQUEST_PULL = 500; // 0x1f4
10315    field public static final int REQUEST_REJECT = 8; // 0x8
10316    field public static final int REQUEST_UNHOLD = 401; // 0x191
10317    field public static final int SCREENING_COMPLETED = 101; // 0x65
10318    field public static final int SCREENING_SENT = 100; // 0x64
10319    field public static final int SET_ACTIVE = 1; // 0x1
10320    field public static final int SET_DIALING = 4; // 0x4
10321    field public static final int SET_DISCONNECTED = 2; // 0x2
10322    field public static final int SET_HOLD = 404; // 0x194
10323    field public static final int SET_PARENT = 302; // 0x12e
10324    field public static final int SET_SELECT_PHONE_ACCOUNT = 0; // 0x0
10325    field public static final int SILENCE = 201; // 0xc9
10326    field public static final int SKIP_RINGING = 200; // 0xc8
10327    field public static final int SPLIT_CONFERENCE = 301; // 0x12d
10328    field public static final int START_CONNECTION = 3; // 0x3
10329    field public static final int SWAP = 405; // 0x195
10330    field public static final int UNMUTE = 203; // 0xcb
10331  }
10332
10333  public static final class ParcelableCallAnalytics.EventTiming implements android.os.Parcelable {
10334    ctor public ParcelableCallAnalytics.EventTiming(int, long);
10335    method public int describeContents();
10336    method public int getName();
10337    method public long getTime();
10338    method public void writeToParcel(android.os.Parcel, int);
10339    field public static final int ACCEPT_TIMING = 0; // 0x0
10340    field public static final int BIND_CS_TIMING = 6; // 0x6
10341    field public static final int BLOCK_CHECK_FINISHED_TIMING = 9; // 0x9
10342    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.EventTiming> CREATOR;
10343    field public static final int DIRECT_TO_VM_FINISHED_TIMING = 8; // 0x8
10344    field public static final int DISCONNECT_TIMING = 2; // 0x2
10345    field public static final int FILTERING_COMPLETED_TIMING = 10; // 0xa
10346    field public static final int FILTERING_TIMED_OUT_TIMING = 11; // 0xb
10347    field public static final int HOLD_TIMING = 3; // 0x3
10348    field public static final int INVALID = 999999; // 0xf423f
10349    field public static final int OUTGOING_TIME_TO_DIALING_TIMING = 5; // 0x5
10350    field public static final int REJECT_TIMING = 1; // 0x1
10351    field public static final int SCREENING_COMPLETED_TIMING = 7; // 0x7
10352    field public static final int UNHOLD_TIMING = 4; // 0x4
10353  }
10354
10355  @Deprecated public final class Phone {
10356    method @Deprecated public void addListener(android.telecom.Phone.Listener);
10357    method @Deprecated public boolean canAddCall();
10358    method @Deprecated public android.telecom.AudioState getAudioState();
10359    method @Deprecated public android.telecom.CallAudioState getCallAudioState();
10360    method @Deprecated public java.util.List<android.telecom.Call> getCalls();
10361    method @Deprecated public void removeListener(android.telecom.Phone.Listener);
10362    method @Deprecated public void requestBluetoothAudio(String);
10363    method @Deprecated public void setAudioRoute(int);
10364    method @Deprecated public void setMuted(boolean);
10365  }
10366
10367  @Deprecated public abstract static class Phone.Listener {
10368    ctor @Deprecated public Phone.Listener();
10369    method @Deprecated public void onAudioStateChanged(android.telecom.Phone, android.telecom.AudioState);
10370    method @Deprecated public void onBringToForeground(android.telecom.Phone, boolean);
10371    method @Deprecated public void onCallAdded(android.telecom.Phone, android.telecom.Call);
10372    method @Deprecated public void onCallAudioStateChanged(android.telecom.Phone, android.telecom.CallAudioState);
10373    method @Deprecated public void onCallRemoved(android.telecom.Phone, android.telecom.Call);
10374    method @Deprecated public void onCanAddCallChanged(android.telecom.Phone, boolean);
10375    method @Deprecated public void onSilenceRinger(android.telecom.Phone);
10376  }
10377
10378  public final class PhoneAccount implements android.os.Parcelable {
10379    field public static final int CAPABILITY_MULTI_USER = 32; // 0x20
10380  }
10381
10382  public static class PhoneAccount.Builder {
10383    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telecom.PhoneAccount.Builder setGroupId(@NonNull String);
10384  }
10385
10386  public class PhoneAccountSuggestionService extends android.app.Service {
10387    ctor public PhoneAccountSuggestionService();
10388    method public void onAccountSuggestionRequest(@NonNull String);
10389    method public android.os.IBinder onBind(android.content.Intent);
10390    method public final void suggestPhoneAccounts(@NonNull String, @NonNull java.util.List<android.telecom.PhoneAccountSuggestion>);
10391    field public static final String SERVICE_INTERFACE = "android.telecom.PhoneAccountSuggestionService";
10392  }
10393
10394  public final class RemoteConference {
10395    method @Deprecated public void setAudioState(android.telecom.AudioState);
10396  }
10397
10398  public final class RemoteConnection {
10399    method @Deprecated public void setAudioState(android.telecom.AudioState);
10400  }
10401
10402  public final class StatusHints implements android.os.Parcelable {
10403    ctor @Deprecated public StatusHints(android.content.ComponentName, CharSequence, int, android.os.Bundle);
10404    method @Deprecated public android.graphics.drawable.Drawable getIcon(android.content.Context);
10405    method @Deprecated public int getIconResId();
10406    method @Deprecated public android.content.ComponentName getPackageName();
10407  }
10408
10409  public final class TelecomAnalytics implements android.os.Parcelable {
10410    ctor public TelecomAnalytics(java.util.List<android.telecom.TelecomAnalytics.SessionTiming>, java.util.List<android.telecom.ParcelableCallAnalytics>);
10411    method public int describeContents();
10412    method public java.util.List<android.telecom.ParcelableCallAnalytics> getCallAnalytics();
10413    method public java.util.List<android.telecom.TelecomAnalytics.SessionTiming> getSessionTimings();
10414    method public void writeToParcel(android.os.Parcel, int);
10415    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics> CREATOR;
10416  }
10417
10418  public static final class TelecomAnalytics.SessionTiming implements android.os.Parcelable {
10419    ctor public TelecomAnalytics.SessionTiming(int, long);
10420    method public int describeContents();
10421    method public Integer getKey();
10422    method public long getTime();
10423    method public void writeToParcel(android.os.Parcel, int);
10424    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics.SessionTiming> CREATOR;
10425    field public static final int CSW_ADD_CONFERENCE_CALL = 108; // 0x6c
10426    field public static final int CSW_HANDLE_CREATE_CONNECTION_COMPLETE = 100; // 0x64
10427    field public static final int CSW_REMOVE_CALL = 106; // 0x6a
10428    field public static final int CSW_SET_ACTIVE = 101; // 0x65
10429    field public static final int CSW_SET_DIALING = 103; // 0x67
10430    field public static final int CSW_SET_DISCONNECTED = 104; // 0x68
10431    field public static final int CSW_SET_IS_CONFERENCED = 107; // 0x6b
10432    field public static final int CSW_SET_ON_HOLD = 105; // 0x69
10433    field public static final int CSW_SET_RINGING = 102; // 0x66
10434    field public static final int ICA_ANSWER_CALL = 1; // 0x1
10435    field public static final int ICA_CONFERENCE = 8; // 0x8
10436    field public static final int ICA_DISCONNECT_CALL = 3; // 0x3
10437    field public static final int ICA_HOLD_CALL = 4; // 0x4
10438    field public static final int ICA_MUTE = 6; // 0x6
10439    field public static final int ICA_REJECT_CALL = 2; // 0x2
10440    field public static final int ICA_SET_AUDIO_ROUTE = 7; // 0x7
10441    field public static final int ICA_UNHOLD_CALL = 5; // 0x5
10442  }
10443
10444  public class TelecomManager {
10445    method public void addNewUnknownCall(android.telecom.PhoneAccountHandle, android.os.Bundle);
10446    method @Deprecated public void clearAccounts();
10447    method public void clearPhoneAccounts();
10448    method @NonNull public android.content.Intent createLaunchEmergencyDialerIntent(@Nullable String);
10449    method @RequiresPermission(android.Manifest.permission.DUMP) public android.telecom.TelecomAnalytics dumpAnalytics();
10450    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void enablePhoneAccount(android.telecom.PhoneAccountHandle, boolean);
10451    method public java.util.List<android.telecom.PhoneAccountHandle> getAllPhoneAccountHandles();
10452    method public java.util.List<android.telecom.PhoneAccount> getAllPhoneAccounts();
10453    method public int getAllPhoneAccountsCount();
10454    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.telecom.PhoneAccountHandle> getCallCapablePhoneAccounts(boolean);
10455    method public int getCallState();
10456    method public android.telecom.PhoneAccountHandle getConnectionManager();
10457    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCurrentTtyMode();
10458    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultDialerPackage(@NonNull android.os.UserHandle);
10459    method @Deprecated public android.content.ComponentName getDefaultPhoneApp();
10460    method public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsForPackage();
10461    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);
10462    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean isInEmergencyCall();
10463    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRinging();
10464    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUserSelectedOutgoingPhoneAccount(@Nullable android.telecom.PhoneAccountHandle);
10465    field public static final String EXTRA_CALL_BACK_INTENT = "android.telecom.extra.CALL_BACK_INTENT";
10466    field public static final String EXTRA_CLEAR_MISSED_CALLS_INTENT = "android.telecom.extra.CLEAR_MISSED_CALLS_INTENT";
10467    field public static final String EXTRA_CONNECTION_SERVICE = "android.telecom.extra.CONNECTION_SERVICE";
10468    field public static final String EXTRA_IS_USER_INTENT_EMERGENCY_CALL = "android.telecom.extra.IS_USER_INTENT_EMERGENCY_CALL";
10469    field public static final int TTY_MODE_FULL = 1; // 0x1
10470    field public static final int TTY_MODE_HCO = 2; // 0x2
10471    field public static final int TTY_MODE_OFF = 0; // 0x0
10472    field public static final int TTY_MODE_VCO = 3; // 0x3
10473  }
10474
10475}
10476
10477package android.telephony {
10478
10479  public final class AccessNetworkConstants {
10480    field public static final int TRANSPORT_TYPE_INVALID = -1; // 0xffffffff
10481  }
10482
10483  public static final class AccessNetworkConstants.NgranBands {
10484    method public static int getFrequencyRangeGroup(int);
10485    field public static final int FREQUENCY_RANGE_GROUP_1 = 1; // 0x1
10486    field public static final int FREQUENCY_RANGE_GROUP_2 = 2; // 0x2
10487    field public static final int FREQUENCY_RANGE_GROUP_UNKNOWN = 0; // 0x0
10488  }
10489
10490  public final class BarringInfo implements android.os.Parcelable {
10491    ctor public BarringInfo();
10492    method @NonNull public android.telephony.BarringInfo createLocationInfoSanitizedCopy();
10493  }
10494
10495  public final class CallAttributes implements android.os.Parcelable {
10496    ctor public CallAttributes(@NonNull android.telephony.PreciseCallState, int, @NonNull android.telephony.CallQuality);
10497    method public int describeContents();
10498    method @NonNull public android.telephony.CallQuality getCallQuality();
10499    method public int getNetworkType();
10500    method @NonNull public android.telephony.PreciseCallState getPreciseCallState();
10501    method public void writeToParcel(android.os.Parcel, int);
10502    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallAttributes> CREATOR;
10503  }
10504
10505  public final class CallQuality implements android.os.Parcelable {
10506    ctor public CallQuality(int, int, int, int, int, int, int, int, int, int, int);
10507    ctor public CallQuality(int, int, int, int, int, int, int, int, int, int, int, boolean, boolean, boolean);
10508    method public int describeContents();
10509    method public int getAverageRelativeJitter();
10510    method public int getAverageRoundTripTime();
10511    method public int getCallDuration();
10512    method public int getCodecType();
10513    method public int getDownlinkCallQualityLevel();
10514    method public int getMaxRelativeJitter();
10515    method public int getNumRtpPacketsNotReceived();
10516    method public int getNumRtpPacketsReceived();
10517    method public int getNumRtpPacketsTransmitted();
10518    method public int getNumRtpPacketsTransmittedLost();
10519    method public int getUplinkCallQualityLevel();
10520    method public boolean isIncomingSilenceDetectedAtCallSetup();
10521    method public boolean isOutgoingSilenceDetectedAtCallSetup();
10522    method public boolean isRtpInactivityDetected();
10523    method public void writeToParcel(android.os.Parcel, int);
10524    field public static final int CALL_QUALITY_BAD = 4; // 0x4
10525    field public static final int CALL_QUALITY_EXCELLENT = 0; // 0x0
10526    field public static final int CALL_QUALITY_FAIR = 2; // 0x2
10527    field public static final int CALL_QUALITY_GOOD = 1; // 0x1
10528    field public static final int CALL_QUALITY_NOT_AVAILABLE = 5; // 0x5
10529    field public static final int CALL_QUALITY_POOR = 3; // 0x3
10530    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallQuality> CREATOR;
10531  }
10532
10533  public class CarrierConfigManager {
10534    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultCarrierServicePackageName();
10535    method @NonNull public static android.os.PersistableBundle getDefaultConfig();
10536    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void overrideConfig(int, @Nullable android.os.PersistableBundle);
10537    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void updateConfigForPhoneId(int, String);
10538    field public static final String KEY_CARRIER_SETUP_APP_STRING = "carrier_setup_app_string";
10539    field public static final String KEY_SUPPORT_CDMA_1X_VOICE_CALLS_BOOL = "support_cdma_1x_voice_calls_bool";
10540  }
10541
10542  public static final class CarrierConfigManager.Wifi {
10543    field public static final String KEY_HOTSPOT_MAX_CLIENT_COUNT = "wifi.hotspot_maximum_client_count";
10544    field public static final String KEY_PREFIX = "wifi.";
10545  }
10546
10547  public final class CarrierRestrictionRules implements android.os.Parcelable {
10548    method @NonNull public java.util.List<java.lang.Boolean> areCarrierIdentifiersAllowed(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
10549    method public int describeContents();
10550    method @NonNull public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers();
10551    method public int getDefaultCarrierRestriction();
10552    method @NonNull public java.util.List<android.service.carrier.CarrierIdentifier> getExcludedCarriers();
10553    method public int getMultiSimPolicy();
10554    method public boolean isAllCarriersAllowed();
10555    method public void writeToParcel(android.os.Parcel, int);
10556    field public static final int CARRIER_RESTRICTION_DEFAULT_ALLOWED = 1; // 0x1
10557    field public static final int CARRIER_RESTRICTION_DEFAULT_NOT_ALLOWED = 0; // 0x0
10558    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CarrierRestrictionRules> CREATOR;
10559    field public static final int MULTISIM_POLICY_NONE = 0; // 0x0
10560    field public static final int MULTISIM_POLICY_ONE_VALID_SIM_MUST_BE_PRESENT = 1; // 0x1
10561  }
10562
10563  public static final class CarrierRestrictionRules.Builder {
10564    ctor public CarrierRestrictionRules.Builder();
10565    method @NonNull public android.telephony.CarrierRestrictionRules build();
10566    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setAllCarriersAllowed();
10567    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setAllowedCarriers(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
10568    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setDefaultCarrierRestriction(int);
10569    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setExcludedCarriers(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
10570    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setMultiSimPolicy(int);
10571  }
10572
10573  public class CbGeoUtils {
10574  }
10575
10576  public static class CbGeoUtils.Circle implements android.telephony.CbGeoUtils.Geometry {
10577    ctor public CbGeoUtils.Circle(@NonNull android.telephony.CbGeoUtils.LatLng, double);
10578    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
10579    method @NonNull public android.telephony.CbGeoUtils.LatLng getCenter();
10580    method public double getRadius();
10581  }
10582
10583  public static interface CbGeoUtils.Geometry {
10584    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
10585  }
10586
10587  public static class CbGeoUtils.LatLng {
10588    ctor public CbGeoUtils.LatLng(double, double);
10589    method public double distance(@NonNull android.telephony.CbGeoUtils.LatLng);
10590    method @NonNull public android.telephony.CbGeoUtils.LatLng subtract(@NonNull android.telephony.CbGeoUtils.LatLng);
10591    field public final double lat;
10592    field public final double lng;
10593  }
10594
10595  public static class CbGeoUtils.Polygon implements android.telephony.CbGeoUtils.Geometry {
10596    ctor public CbGeoUtils.Polygon(@NonNull java.util.List<android.telephony.CbGeoUtils.LatLng>);
10597    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
10598    method @NonNull public java.util.List<android.telephony.CbGeoUtils.LatLng> getVertices();
10599  }
10600
10601  public class CellBroadcastIntents {
10602    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);
10603    field public static final String ACTION_AREA_INFO_UPDATED = "android.telephony.action.AREA_INFO_UPDATED";
10604  }
10605
10606  public abstract class CellBroadcastService extends android.app.Service {
10607    ctor public CellBroadcastService();
10608    method @NonNull @WorkerThread public abstract CharSequence getCellBroadcastAreaInfo(int);
10609    method @CallSuper public android.os.IBinder onBind(@Nullable android.content.Intent);
10610    method public abstract void onCdmaCellBroadcastSms(int, @NonNull byte[], int);
10611    method public abstract void onCdmaScpMessage(int, @NonNull java.util.List<android.telephony.cdma.CdmaSmsCbProgramData>, @NonNull String, @NonNull java.util.function.Consumer<android.os.Bundle>);
10612    method public abstract void onGsmCellBroadcastSms(int, @NonNull byte[]);
10613    field public static final String CELL_BROADCAST_SERVICE_INTERFACE = "android.telephony.CellBroadcastService";
10614  }
10615
10616  public abstract class CellIdentity implements android.os.Parcelable {
10617    method @NonNull public abstract android.telephony.CellLocation asCellLocation();
10618    method @NonNull public abstract android.telephony.CellIdentity sanitizeLocationInfo();
10619  }
10620
10621  public final class CellIdentityCdma extends android.telephony.CellIdentity {
10622    method @NonNull public android.telephony.cdma.CdmaCellLocation asCellLocation();
10623    method @NonNull public android.telephony.CellIdentityCdma sanitizeLocationInfo();
10624  }
10625
10626  public final class CellIdentityGsm extends android.telephony.CellIdentity {
10627    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
10628    method @NonNull public android.telephony.CellIdentityGsm sanitizeLocationInfo();
10629  }
10630
10631  public final class CellIdentityLte extends android.telephony.CellIdentity {
10632    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
10633    method @NonNull public android.telephony.CellIdentityLte sanitizeLocationInfo();
10634  }
10635
10636  public final class CellIdentityNr extends android.telephony.CellIdentity {
10637    method @NonNull public android.telephony.CellLocation asCellLocation();
10638    method @NonNull public android.telephony.CellIdentityNr sanitizeLocationInfo();
10639  }
10640
10641  public final class CellIdentityTdscdma extends android.telephony.CellIdentity {
10642    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
10643    method @NonNull public android.telephony.CellIdentityTdscdma sanitizeLocationInfo();
10644  }
10645
10646  public final class CellIdentityWcdma extends android.telephony.CellIdentity {
10647    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
10648    method @NonNull public android.telephony.CellIdentityWcdma sanitizeLocationInfo();
10649  }
10650
10651  public final class DataFailCause {
10652    field @Deprecated public static final int VSNCP_APN_UNATHORIZED = 2238; // 0x8be
10653  }
10654
10655  public final class DataSpecificRegistrationInfo implements android.os.Parcelable {
10656    method public int describeContents();
10657    method @NonNull public android.telephony.LteVopsSupportInfo getLteVopsSupportInfo();
10658    method public void writeToParcel(android.os.Parcel, int);
10659    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.DataSpecificRegistrationInfo> CREATOR;
10660  }
10661
10662  public final class DisconnectCause {
10663    field public static final int ALREADY_DIALING = 72; // 0x48
10664    field public static final int ANSWERED_ELSEWHERE = 52; // 0x34
10665    field public static final int BUSY = 4; // 0x4
10666    field public static final int CALLING_DISABLED = 74; // 0x4a
10667    field public static final int CALL_BARRED = 20; // 0x14
10668    field public static final int CALL_PULLED = 51; // 0x33
10669    field public static final int CANT_CALL_WHILE_RINGING = 73; // 0x49
10670    field public static final int CDMA_ACCESS_BLOCKED = 35; // 0x23
10671    field public static final int CDMA_ACCESS_FAILURE = 32; // 0x20
10672    field public static final int CDMA_ALREADY_ACTIVATED = 49; // 0x31
10673    field public static final int CDMA_DROP = 27; // 0x1b
10674    field public static final int CDMA_INTERCEPT = 28; // 0x1c
10675    field public static final int CDMA_LOCKED_UNTIL_POWER_CYCLE = 26; // 0x1a
10676    field public static final int CDMA_NOT_EMERGENCY = 34; // 0x22
10677    field public static final int CDMA_PREEMPTED = 33; // 0x21
10678    field public static final int CDMA_REORDER = 29; // 0x1d
10679    field public static final int CDMA_RETRY_ORDER = 31; // 0x1f
10680    field public static final int CDMA_SO_REJECT = 30; // 0x1e
10681    field public static final int CONGESTION = 5; // 0x5
10682    field public static final int CS_RESTRICTED = 22; // 0x16
10683    field public static final int CS_RESTRICTED_EMERGENCY = 24; // 0x18
10684    field public static final int CS_RESTRICTED_NORMAL = 23; // 0x17
10685    field public static final int DATA_DISABLED = 54; // 0x36
10686    field public static final int DATA_LIMIT_REACHED = 55; // 0x37
10687    field public static final int DIALED_CALL_FORWARDING_WHILE_ROAMING = 57; // 0x39
10688    field public static final int DIALED_MMI = 39; // 0x27
10689    field public static final int DIAL_LOW_BATTERY = 62; // 0x3e
10690    field public static final int DIAL_MODIFIED_TO_DIAL = 48; // 0x30
10691    field public static final int DIAL_MODIFIED_TO_DIAL_VIDEO = 66; // 0x42
10692    field public static final int DIAL_MODIFIED_TO_SS = 47; // 0x2f
10693    field public static final int DIAL_MODIFIED_TO_USSD = 46; // 0x2e
10694    field public static final int DIAL_VIDEO_MODIFIED_TO_DIAL = 69; // 0x45
10695    field public static final int DIAL_VIDEO_MODIFIED_TO_DIAL_VIDEO = 70; // 0x46
10696    field public static final int DIAL_VIDEO_MODIFIED_TO_SS = 67; // 0x43
10697    field public static final int DIAL_VIDEO_MODIFIED_TO_USSD = 68; // 0x44
10698    field public static final int EMERGENCY_PERM_FAILURE = 64; // 0x40
10699    field public static final int EMERGENCY_TEMP_FAILURE = 63; // 0x3f
10700    field public static final int ERROR_UNSPECIFIED = 36; // 0x24
10701    field public static final int FDN_BLOCKED = 21; // 0x15
10702    field public static final int ICC_ERROR = 19; // 0x13
10703    field public static final int IMEI_NOT_ACCEPTED = 58; // 0x3a
10704    field public static final int IMS_ACCESS_BLOCKED = 60; // 0x3c
10705    field public static final int IMS_MERGED_SUCCESSFULLY = 45; // 0x2d
10706    field public static final int IMS_SIP_ALTERNATE_EMERGENCY_CALL = 71; // 0x47
10707    field public static final int INCOMING_AUTO_REJECTED = 81; // 0x51
10708    field public static final int INCOMING_MISSED = 1; // 0x1
10709    field public static final int INCOMING_REJECTED = 16; // 0x10
10710    field public static final int INVALID_CREDENTIALS = 10; // 0xa
10711    field public static final int INVALID_NUMBER = 7; // 0x7
10712    field public static final int LIMIT_EXCEEDED = 15; // 0xf
10713    field public static final int LOCAL = 3; // 0x3
10714    field public static final int LOST_SIGNAL = 14; // 0xe
10715    field public static final int LOW_BATTERY = 61; // 0x3d
10716    field public static final int MAXIMUM_NUMBER_OF_CALLS_REACHED = 53; // 0x35
10717    field public static final int MMI = 6; // 0x6
10718    field public static final int NORMAL = 2; // 0x2
10719    field public static final int NORMAL_UNSPECIFIED = 65; // 0x41
10720    field public static final int NOT_DISCONNECTED = 0; // 0x0
10721    field public static final int NOT_VALID = -1; // 0xffffffff
10722    field public static final int NO_PHONE_NUMBER_SUPPLIED = 38; // 0x26
10723    field public static final int NUMBER_UNREACHABLE = 8; // 0x8
10724    field public static final int OTASP_PROVISIONING_IN_PROCESS = 76; // 0x4c
10725    field public static final int OUTGOING_CANCELED = 44; // 0x2c
10726    field public static final int OUTGOING_EMERGENCY_CALL_PLACED = 80; // 0x50
10727    field public static final int OUTGOING_FAILURE = 43; // 0x2b
10728    field public static final int OUT_OF_NETWORK = 11; // 0xb
10729    field public static final int OUT_OF_SERVICE = 18; // 0x12
10730    field public static final int POWER_OFF = 17; // 0x11
10731    field public static final int SERVER_ERROR = 12; // 0xc
10732    field public static final int SERVER_UNREACHABLE = 9; // 0x9
10733    field public static final int TIMED_OUT = 13; // 0xd
10734    field public static final int TOO_MANY_ONGOING_CALLS = 75; // 0x4b
10735    field public static final int UNOBTAINABLE_NUMBER = 25; // 0x19
10736    field public static final int VIDEO_CALL_NOT_ALLOWED_WHILE_TTY_ENABLED = 50; // 0x32
10737    field public static final int VOICEMAIL_NUMBER_MISSING = 40; // 0x28
10738    field public static final int WIFI_LOST = 59; // 0x3b
10739  }
10740
10741  public final class ImsiEncryptionInfo implements android.os.Parcelable {
10742    method public int describeContents();
10743    method @Nullable public String getKeyIdentifier();
10744    method @Nullable public java.security.PublicKey getPublicKey();
10745    method public void writeToParcel(@NonNull android.os.Parcel, int);
10746    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ImsiEncryptionInfo> CREATOR;
10747  }
10748
10749  public final class LteVopsSupportInfo implements android.os.Parcelable {
10750    ctor public LteVopsSupportInfo(int, int);
10751    method public int describeContents();
10752    method public int getEmcBearerSupport();
10753    method public int getVopsSupport();
10754    method public void writeToParcel(android.os.Parcel, int);
10755    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.LteVopsSupportInfo> CREATOR;
10756    field public static final int LTE_STATUS_NOT_AVAILABLE = 1; // 0x1
10757    field public static final int LTE_STATUS_NOT_SUPPORTED = 3; // 0x3
10758    field public static final int LTE_STATUS_SUPPORTED = 2; // 0x2
10759  }
10760
10761  public class MbmsDownloadSession implements java.lang.AutoCloseable {
10762    field public static final String MBMS_DOWNLOAD_SERVICE_ACTION = "android.telephony.action.EmbmsDownload";
10763  }
10764
10765  public class MbmsGroupCallSession implements java.lang.AutoCloseable {
10766    field public static final String MBMS_GROUP_CALL_SERVICE_ACTION = "android.telephony.action.EmbmsGroupCall";
10767  }
10768
10769  public class MbmsStreamingSession implements java.lang.AutoCloseable {
10770    field public static final String MBMS_STREAMING_SERVICE_ACTION = "android.telephony.action.EmbmsStreaming";
10771  }
10772
10773  public final class NetworkRegistrationInfo implements android.os.Parcelable {
10774    method @Nullable public android.telephony.DataSpecificRegistrationInfo getDataSpecificInfo();
10775    method public int getRegistrationState();
10776    method public int getRejectCause();
10777    method public int getRoamingType();
10778    method public boolean isEmergencyEnabled();
10779    method public void writeToParcel(android.os.Parcel, int);
10780    field public static final int REGISTRATION_STATE_DENIED = 3; // 0x3
10781    field public static final int REGISTRATION_STATE_HOME = 1; // 0x1
10782    field public static final int REGISTRATION_STATE_NOT_REGISTERED_OR_SEARCHING = 0; // 0x0
10783    field public static final int REGISTRATION_STATE_NOT_REGISTERED_SEARCHING = 2; // 0x2
10784    field public static final int REGISTRATION_STATE_ROAMING = 5; // 0x5
10785    field public static final int REGISTRATION_STATE_UNKNOWN = 4; // 0x4
10786  }
10787
10788  public static final class NetworkRegistrationInfo.Builder {
10789    ctor public NetworkRegistrationInfo.Builder();
10790    method @NonNull public android.telephony.NetworkRegistrationInfo build();
10791    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setAccessNetworkTechnology(int);
10792    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setAvailableServices(@NonNull java.util.List<java.lang.Integer>);
10793    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setCellIdentity(@Nullable android.telephony.CellIdentity);
10794    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setDomain(int);
10795    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setEmergencyOnly(boolean);
10796    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRegisteredPlmn(@Nullable String);
10797    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRegistrationState(int);
10798    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRejectCause(int);
10799    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setTransportType(int);
10800  }
10801
10802  public abstract class NetworkService extends android.app.Service {
10803    ctor public NetworkService();
10804    method public android.os.IBinder onBind(android.content.Intent);
10805    method @Nullable public abstract android.telephony.NetworkService.NetworkServiceProvider onCreateNetworkServiceProvider(int);
10806    field public static final String SERVICE_INTERFACE = "android.telephony.NetworkService";
10807  }
10808
10809  public abstract class NetworkService.NetworkServiceProvider implements java.lang.AutoCloseable {
10810    ctor public NetworkService.NetworkServiceProvider(int);
10811    method public abstract void close();
10812    method public final int getSlotIndex();
10813    method public final void notifyNetworkRegistrationInfoChanged();
10814    method public void requestNetworkRegistrationInfo(int, @NonNull android.telephony.NetworkServiceCallback);
10815  }
10816
10817  public class NetworkServiceCallback {
10818    method public void onRequestNetworkRegistrationInfoComplete(int, @Nullable android.telephony.NetworkRegistrationInfo);
10819    field public static final int RESULT_ERROR_BUSY = 3; // 0x3
10820    field public static final int RESULT_ERROR_FAILED = 5; // 0x5
10821    field public static final int RESULT_ERROR_ILLEGAL_STATE = 4; // 0x4
10822    field public static final int RESULT_ERROR_INVALID_ARG = 2; // 0x2
10823    field public static final int RESULT_ERROR_UNSUPPORTED = 1; // 0x1
10824    field public static final int RESULT_SUCCESS = 0; // 0x0
10825  }
10826
10827  public interface NumberVerificationCallback {
10828    method public default void onCallReceived(@NonNull String);
10829    method public default void onVerificationFailed(int);
10830    field public static final int REASON_CONCURRENT_REQUESTS = 4; // 0x4
10831    field public static final int REASON_IN_ECBM = 5; // 0x5
10832    field public static final int REASON_IN_EMERGENCY_CALL = 6; // 0x6
10833    field public static final int REASON_NETWORK_NOT_AVAILABLE = 2; // 0x2
10834    field public static final int REASON_TIMED_OUT = 1; // 0x1
10835    field public static final int REASON_TOO_MANY_CALLS = 3; // 0x3
10836    field public static final int REASON_UNSPECIFIED = 0; // 0x0
10837  }
10838
10839  public final class PhoneNumberRange implements android.os.Parcelable {
10840    ctor public PhoneNumberRange(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
10841    method public int describeContents();
10842    method public boolean matches(@NonNull String);
10843    method public void writeToParcel(android.os.Parcel, int);
10844    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PhoneNumberRange> CREATOR;
10845  }
10846
10847  public class PhoneNumberUtils {
10848    method @NonNull public static String getUsernameFromUriNumber(@NonNull String);
10849    method public static boolean isUriNumber(@Nullable String);
10850    method public static boolean isVoiceMailNumber(@NonNull android.content.Context, int, @Nullable String);
10851  }
10852
10853  public class PhoneStateListener {
10854    method public void onCallAttributesChanged(@NonNull android.telephony.CallAttributes);
10855    method public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber);
10856    method public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber);
10857    method @RequiresPermission("android.permission.READ_PRECISE_PHONE_STATE") public void onPreciseCallStateChanged(@NonNull android.telephony.PreciseCallState);
10858    method public void onRadioPowerStateChanged(int);
10859    method public void onSrvccStateChanged(int);
10860    method public void onVoiceActivationStateChanged(int);
10861    field @RequiresPermission("android.permission.READ_PRECISE_PHONE_STATE") public static final int LISTEN_CALL_ATTRIBUTES_CHANGED = 67108864; // 0x4000000
10862    field @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int LISTEN_OUTGOING_EMERGENCY_CALL = 268435456; // 0x10000000
10863    field @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int LISTEN_OUTGOING_EMERGENCY_SMS = 536870912; // 0x20000000
10864    field @RequiresPermission("android.permission.READ_PRECISE_PHONE_STATE") public static final int LISTEN_PRECISE_CALL_STATE = 2048; // 0x800
10865    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_RADIO_POWER_STATE_CHANGED = 8388608; // 0x800000
10866    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_SRVCC_STATE_CHANGED = 16384; // 0x4000
10867    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_VOICE_ACTIVATION_STATE = 131072; // 0x20000
10868  }
10869
10870  public final class PreciseCallState implements android.os.Parcelable {
10871    ctor public PreciseCallState(int, int, int, int, int);
10872    method public int describeContents();
10873    method public int getBackgroundCallState();
10874    method public int getForegroundCallState();
10875    method public int getRingingCallState();
10876    method public void writeToParcel(android.os.Parcel, int);
10877    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PreciseCallState> CREATOR;
10878    field public static final int PRECISE_CALL_STATE_ACTIVE = 1; // 0x1
10879    field public static final int PRECISE_CALL_STATE_ALERTING = 4; // 0x4
10880    field public static final int PRECISE_CALL_STATE_DIALING = 3; // 0x3
10881    field public static final int PRECISE_CALL_STATE_DISCONNECTED = 7; // 0x7
10882    field public static final int PRECISE_CALL_STATE_DISCONNECTING = 8; // 0x8
10883    field public static final int PRECISE_CALL_STATE_HOLDING = 2; // 0x2
10884    field public static final int PRECISE_CALL_STATE_IDLE = 0; // 0x0
10885    field public static final int PRECISE_CALL_STATE_INCOMING = 5; // 0x5
10886    field public static final int PRECISE_CALL_STATE_NOT_VALID = -1; // 0xffffffff
10887    field public static final int PRECISE_CALL_STATE_WAITING = 6; // 0x6
10888  }
10889
10890  public final class PreciseDataConnectionState implements android.os.Parcelable {
10891    method @Deprecated @NonNull public String getDataConnectionApn();
10892    method @Deprecated public int getDataConnectionApnTypeBitMask();
10893    method @Deprecated public int getDataConnectionFailCause();
10894    method @Deprecated public int getDataConnectionState();
10895  }
10896
10897  public final class PreciseDisconnectCause {
10898    field public static final int ACCESS_CLASS_BLOCKED = 260; // 0x104
10899    field public static final int ACCESS_INFORMATION_DISCARDED = 43; // 0x2b
10900    field public static final int ACM_LIMIT_EXCEEDED = 68; // 0x44
10901    field public static final int BEARER_CAPABILITY_NOT_AUTHORIZED = 57; // 0x39
10902    field public static final int BEARER_NOT_AVAIL = 58; // 0x3a
10903    field public static final int BEARER_SERVICE_NOT_IMPLEMENTED = 65; // 0x41
10904    field public static final int BUSY = 17; // 0x11
10905    field public static final int CALL_BARRED = 240; // 0xf0
10906    field public static final int CALL_REJECTED = 21; // 0x15
10907    field public static final int CDMA_ACCESS_BLOCKED = 1009; // 0x3f1
10908    field public static final int CDMA_ACCESS_FAILURE = 1006; // 0x3ee
10909    field public static final int CDMA_DROP = 1001; // 0x3e9
10910    field public static final int CDMA_INTERCEPT = 1002; // 0x3ea
10911    field public static final int CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000; // 0x3e8
10912    field public static final int CDMA_NOT_EMERGENCY = 1008; // 0x3f0
10913    field public static final int CDMA_PREEMPTED = 1007; // 0x3ef
10914    field public static final int CDMA_REORDER = 1003; // 0x3eb
10915    field public static final int CDMA_RETRY_ORDER = 1005; // 0x3ed
10916    field public static final int CDMA_SO_REJECT = 1004; // 0x3ec
10917    field public static final int CHANNEL_NOT_AVAIL = 44; // 0x2c
10918    field public static final int CHANNEL_UNACCEPTABLE = 6; // 0x6
10919    field public static final int CONDITIONAL_IE_ERROR = 100; // 0x64
10920    field public static final int DESTINATION_OUT_OF_ORDER = 27; // 0x1b
10921    field public static final int ERROR_UNSPECIFIED = 65535; // 0xffff
10922    field public static final int FACILITY_REJECTED = 29; // 0x1d
10923    field public static final int FDN_BLOCKED = 241; // 0xf1
10924    field public static final int IMEI_NOT_ACCEPTED = 243; // 0xf3
10925    field public static final int IMSI_UNKNOWN_IN_VLR = 242; // 0xf2
10926    field public static final int INCOMING_CALLS_BARRED_WITHIN_CUG = 55; // 0x37
10927    field public static final int INCOMPATIBLE_DESTINATION = 88; // 0x58
10928    field public static final int INFORMATION_ELEMENT_NON_EXISTENT = 99; // 0x63
10929    field public static final int INTERWORKING_UNSPECIFIED = 127; // 0x7f
10930    field public static final int INVALID_MANDATORY_INFORMATION = 96; // 0x60
10931    field public static final int INVALID_NUMBER_FORMAT = 28; // 0x1c
10932    field public static final int INVALID_TRANSACTION_IDENTIFIER = 81; // 0x51
10933    field public static final int MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101; // 0x65
10934    field public static final int MESSAGE_TYPE_NON_IMPLEMENTED = 97; // 0x61
10935    field public static final int MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98; // 0x62
10936    field public static final int NETWORK_DETACH = 261; // 0x105
10937    field public static final int NETWORK_OUT_OF_ORDER = 38; // 0x26
10938    field public static final int NETWORK_REJECT = 252; // 0xfc
10939    field public static final int NETWORK_RESP_TIMEOUT = 251; // 0xfb
10940    field public static final int NORMAL = 16; // 0x10
10941    field public static final int NORMAL_UNSPECIFIED = 31; // 0x1f
10942    field public static final int NOT_VALID = -1; // 0xffffffff
10943    field public static final int NO_ANSWER_FROM_USER = 19; // 0x13
10944    field public static final int NO_CIRCUIT_AVAIL = 34; // 0x22
10945    field public static final int NO_DISCONNECT_CAUSE_AVAILABLE = 0; // 0x0
10946    field public static final int NO_ROUTE_TO_DESTINATION = 3; // 0x3
10947    field public static final int NO_USER_RESPONDING = 18; // 0x12
10948    field public static final int NO_VALID_SIM = 249; // 0xf9
10949    field public static final int NUMBER_CHANGED = 22; // 0x16
10950    field public static final int OEM_CAUSE_1 = 61441; // 0xf001
10951    field public static final int OEM_CAUSE_10 = 61450; // 0xf00a
10952    field public static final int OEM_CAUSE_11 = 61451; // 0xf00b
10953    field public static final int OEM_CAUSE_12 = 61452; // 0xf00c
10954    field public static final int OEM_CAUSE_13 = 61453; // 0xf00d
10955    field public static final int OEM_CAUSE_14 = 61454; // 0xf00e
10956    field public static final int OEM_CAUSE_15 = 61455; // 0xf00f
10957    field public static final int OEM_CAUSE_2 = 61442; // 0xf002
10958    field public static final int OEM_CAUSE_3 = 61443; // 0xf003
10959    field public static final int OEM_CAUSE_4 = 61444; // 0xf004
10960    field public static final int OEM_CAUSE_5 = 61445; // 0xf005
10961    field public static final int OEM_CAUSE_6 = 61446; // 0xf006
10962    field public static final int OEM_CAUSE_7 = 61447; // 0xf007
10963    field public static final int OEM_CAUSE_8 = 61448; // 0xf008
10964    field public static final int OEM_CAUSE_9 = 61449; // 0xf009
10965    field public static final int ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE = 70; // 0x46
10966    field public static final int OPERATOR_DETERMINED_BARRING = 8; // 0x8
10967    field public static final int OUT_OF_SRV = 248; // 0xf8
10968    field public static final int PREEMPTION = 25; // 0x19
10969    field public static final int PROTOCOL_ERROR_UNSPECIFIED = 111; // 0x6f
10970    field public static final int QOS_NOT_AVAIL = 49; // 0x31
10971    field public static final int RADIO_ACCESS_FAILURE = 253; // 0xfd
10972    field public static final int RADIO_INTERNAL_ERROR = 250; // 0xfa
10973    field public static final int RADIO_LINK_FAILURE = 254; // 0xfe
10974    field public static final int RADIO_LINK_LOST = 255; // 0xff
10975    field public static final int RADIO_OFF = 247; // 0xf7
10976    field public static final int RADIO_RELEASE_ABNORMAL = 259; // 0x103
10977    field public static final int RADIO_RELEASE_NORMAL = 258; // 0x102
10978    field public static final int RADIO_SETUP_FAILURE = 257; // 0x101
10979    field public static final int RADIO_UPLINK_FAILURE = 256; // 0x100
10980    field public static final int RECOVERY_ON_TIMER_EXPIRED = 102; // 0x66
10981    field public static final int REQUESTED_FACILITY_NOT_IMPLEMENTED = 69; // 0x45
10982    field public static final int REQUESTED_FACILITY_NOT_SUBSCRIBED = 50; // 0x32
10983    field public static final int RESOURCES_UNAVAILABLE_OR_UNSPECIFIED = 47; // 0x2f
10984    field public static final int SEMANTICALLY_INCORRECT_MESSAGE = 95; // 0x5f
10985    field public static final int SERVICE_OPTION_NOT_AVAILABLE = 63; // 0x3f
10986    field public static final int SERVICE_OR_OPTION_NOT_IMPLEMENTED = 79; // 0x4f
10987    field public static final int STATUS_ENQUIRY = 30; // 0x1e
10988    field public static final int SWITCHING_CONGESTION = 42; // 0x2a
10989    field public static final int TEMPORARY_FAILURE = 41; // 0x29
10990    field public static final int UNOBTAINABLE_NUMBER = 1; // 0x1
10991    field public static final int USER_NOT_MEMBER_OF_CUG = 87; // 0x57
10992  }
10993
10994  public class ServiceState implements android.os.Parcelable {
10995    method @Nullable public android.telephony.NetworkRegistrationInfo getNetworkRegistrationInfo(int, int);
10996    method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoListForDomain(int);
10997    method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoListForTransportType(int);
10998    field public static final int ROAMING_TYPE_DOMESTIC = 2; // 0x2
10999    field public static final int ROAMING_TYPE_INTERNATIONAL = 3; // 0x3
11000    field public static final int ROAMING_TYPE_NOT_ROAMING = 0; // 0x0
11001    field public static final int ROAMING_TYPE_UNKNOWN = 1; // 0x1
11002  }
11003
11004  public final class SmsCbCmasInfo implements android.os.Parcelable {
11005    ctor public SmsCbCmasInfo(int, int, int, int, int, int);
11006    method public int describeContents();
11007    method public int getCategory();
11008    method public int getCertainty();
11009    method public int getMessageClass();
11010    method public int getResponseType();
11011    method public int getSeverity();
11012    method public int getUrgency();
11013    method public void writeToParcel(android.os.Parcel, int);
11014    field public static final int CMAS_CATEGORY_CBRNE = 10; // 0xa
11015    field public static final int CMAS_CATEGORY_ENV = 7; // 0x7
11016    field public static final int CMAS_CATEGORY_FIRE = 5; // 0x5
11017    field public static final int CMAS_CATEGORY_GEO = 0; // 0x0
11018    field public static final int CMAS_CATEGORY_HEALTH = 6; // 0x6
11019    field public static final int CMAS_CATEGORY_INFRA = 9; // 0x9
11020    field public static final int CMAS_CATEGORY_MET = 1; // 0x1
11021    field public static final int CMAS_CATEGORY_OTHER = 11; // 0xb
11022    field public static final int CMAS_CATEGORY_RESCUE = 4; // 0x4
11023    field public static final int CMAS_CATEGORY_SAFETY = 2; // 0x2
11024    field public static final int CMAS_CATEGORY_SECURITY = 3; // 0x3
11025    field public static final int CMAS_CATEGORY_TRANSPORT = 8; // 0x8
11026    field public static final int CMAS_CATEGORY_UNKNOWN = -1; // 0xffffffff
11027    field public static final int CMAS_CERTAINTY_LIKELY = 1; // 0x1
11028    field public static final int CMAS_CERTAINTY_OBSERVED = 0; // 0x0
11029    field public static final int CMAS_CERTAINTY_UNKNOWN = -1; // 0xffffffff
11030    field public static final int CMAS_CLASS_CHILD_ABDUCTION_EMERGENCY = 3; // 0x3
11031    field public static final int CMAS_CLASS_CMAS_EXERCISE = 5; // 0x5
11032    field public static final int CMAS_CLASS_EXTREME_THREAT = 1; // 0x1
11033    field public static final int CMAS_CLASS_OPERATOR_DEFINED_USE = 6; // 0x6
11034    field public static final int CMAS_CLASS_PRESIDENTIAL_LEVEL_ALERT = 0; // 0x0
11035    field public static final int CMAS_CLASS_REQUIRED_MONTHLY_TEST = 4; // 0x4
11036    field public static final int CMAS_CLASS_SEVERE_THREAT = 2; // 0x2
11037    field public static final int CMAS_CLASS_UNKNOWN = -1; // 0xffffffff
11038    field public static final int CMAS_RESPONSE_TYPE_ASSESS = 6; // 0x6
11039    field public static final int CMAS_RESPONSE_TYPE_AVOID = 5; // 0x5
11040    field public static final int CMAS_RESPONSE_TYPE_EVACUATE = 1; // 0x1
11041    field public static final int CMAS_RESPONSE_TYPE_EXECUTE = 3; // 0x3
11042    field public static final int CMAS_RESPONSE_TYPE_MONITOR = 4; // 0x4
11043    field public static final int CMAS_RESPONSE_TYPE_NONE = 7; // 0x7
11044    field public static final int CMAS_RESPONSE_TYPE_PREPARE = 2; // 0x2
11045    field public static final int CMAS_RESPONSE_TYPE_SHELTER = 0; // 0x0
11046    field public static final int CMAS_RESPONSE_TYPE_UNKNOWN = -1; // 0xffffffff
11047    field public static final int CMAS_SEVERITY_EXTREME = 0; // 0x0
11048    field public static final int CMAS_SEVERITY_SEVERE = 1; // 0x1
11049    field public static final int CMAS_SEVERITY_UNKNOWN = -1; // 0xffffffff
11050    field public static final int CMAS_URGENCY_EXPECTED = 1; // 0x1
11051    field public static final int CMAS_URGENCY_IMMEDIATE = 0; // 0x0
11052    field public static final int CMAS_URGENCY_UNKNOWN = -1; // 0xffffffff
11053    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbCmasInfo> CREATOR;
11054  }
11055
11056  public final class SmsCbEtwsInfo implements android.os.Parcelable {
11057    ctor public SmsCbEtwsInfo(int, boolean, boolean, boolean, @Nullable byte[]);
11058    method public int describeContents();
11059    method @Nullable public byte[] getPrimaryNotificationSignature();
11060    method public long getPrimaryNotificationTimestamp();
11061    method public int getWarningType();
11062    method public boolean isEmergencyUserAlert();
11063    method public boolean isPopupAlert();
11064    method public boolean isPrimary();
11065    method public void writeToParcel(android.os.Parcel, int);
11066    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbEtwsInfo> CREATOR;
11067    field public static final int ETWS_WARNING_TYPE_EARTHQUAKE = 0; // 0x0
11068    field public static final int ETWS_WARNING_TYPE_EARTHQUAKE_AND_TSUNAMI = 2; // 0x2
11069    field public static final int ETWS_WARNING_TYPE_OTHER_EMERGENCY = 4; // 0x4
11070    field public static final int ETWS_WARNING_TYPE_TEST_MESSAGE = 3; // 0x3
11071    field public static final int ETWS_WARNING_TYPE_TSUNAMI = 1; // 0x1
11072    field public static final int ETWS_WARNING_TYPE_UNKNOWN = -1; // 0xffffffff
11073  }
11074
11075  public final class SmsCbLocation implements android.os.Parcelable {
11076    ctor public SmsCbLocation(@NonNull String, int, int);
11077    method public int describeContents();
11078    method public int getCid();
11079    method public int getLac();
11080    method @NonNull public String getPlmn();
11081    method public boolean isInLocationArea(@NonNull android.telephony.SmsCbLocation);
11082    method public boolean isInLocationArea(@Nullable String, int, int);
11083    method public void writeToParcel(android.os.Parcel, int);
11084    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbLocation> CREATOR;
11085  }
11086
11087  public final class SmsCbMessage implements android.os.Parcelable {
11088    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);
11089    method @NonNull public static android.telephony.SmsCbMessage createFromCursor(@NonNull android.database.Cursor);
11090    method public int describeContents();
11091    method @Nullable public android.telephony.SmsCbCmasInfo getCmasWarningInfo();
11092    method @NonNull public android.content.ContentValues getContentValues();
11093    method public int getDataCodingScheme();
11094    method @Nullable public android.telephony.SmsCbEtwsInfo getEtwsWarningInfo();
11095    method public int getGeographicalScope();
11096    method @NonNull public java.util.List<android.telephony.CbGeoUtils.Geometry> getGeometries();
11097    method @Nullable public String getLanguageCode();
11098    method @NonNull public android.telephony.SmsCbLocation getLocation();
11099    method public int getMaximumWaitingDuration();
11100    method @Nullable public String getMessageBody();
11101    method public int getMessageFormat();
11102    method public int getMessagePriority();
11103    method public long getReceivedTime();
11104    method public int getSerialNumber();
11105    method public int getServiceCategory();
11106    method public int getSlotIndex();
11107    method public int getSubscriptionId();
11108    method public boolean isCmasMessage();
11109    method public boolean isEmergencyMessage();
11110    method public boolean isEtwsMessage();
11111    method public boolean needGeoFencingCheck();
11112    method public void writeToParcel(android.os.Parcel, int);
11113    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbMessage> CREATOR;
11114    field public static final int GEOGRAPHICAL_SCOPE_CELL_WIDE = 3; // 0x3
11115    field public static final int GEOGRAPHICAL_SCOPE_CELL_WIDE_IMMEDIATE = 0; // 0x0
11116    field public static final int GEOGRAPHICAL_SCOPE_LOCATION_AREA_WIDE = 2; // 0x2
11117    field public static final int GEOGRAPHICAL_SCOPE_PLMN_WIDE = 1; // 0x1
11118    field public static final int MAXIMUM_WAIT_TIME_NOT_SET = 255; // 0xff
11119    field public static final int MESSAGE_FORMAT_3GPP = 1; // 0x1
11120    field public static final int MESSAGE_FORMAT_3GPP2 = 2; // 0x2
11121    field public static final int MESSAGE_PRIORITY_EMERGENCY = 3; // 0x3
11122    field public static final int MESSAGE_PRIORITY_INTERACTIVE = 1; // 0x1
11123    field public static final int MESSAGE_PRIORITY_NORMAL = 0; // 0x0
11124    field public static final int MESSAGE_PRIORITY_URGENT = 2; // 0x2
11125  }
11126
11127  public final class SmsManager {
11128    method public boolean disableCellBroadcastRange(int, int, int);
11129    method public boolean enableCellBroadcastRange(int, int, int);
11130    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getPremiumSmsConsent(@NonNull String);
11131    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSmsCapacityOnIcc();
11132    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>);
11133    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setPremiumSmsConsent(@NonNull String, int);
11134    field public static final int PREMIUM_SMS_CONSENT_ALWAYS_ALLOW = 3; // 0x3
11135    field public static final int PREMIUM_SMS_CONSENT_ASK_USER = 1; // 0x1
11136    field public static final int PREMIUM_SMS_CONSENT_NEVER_ALLOW = 2; // 0x2
11137    field public static final int PREMIUM_SMS_CONSENT_UNKNOWN = 0; // 0x0
11138  }
11139
11140  public class SmsMessage {
11141    method @Nullable public static android.telephony.SmsMessage createFromNativeSmsSubmitPdu(@NonNull byte[], boolean);
11142    method @Nullable public static android.telephony.SmsMessage.SubmitPdu getSmsPdu(int, int, @Nullable String, @NonNull String, @NonNull String, long);
11143    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);
11144  }
11145
11146  public class SubscriptionInfo implements android.os.Parcelable {
11147    method public boolean areUiccApplicationsEnabled();
11148    method @Nullable public java.util.List<android.telephony.UiccAccessRule> getAccessRules();
11149    method public int getProfileClass();
11150    method public boolean isGroupDisabled();
11151  }
11152
11153  public class SubscriptionManager {
11154    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean canDisablePhysicalSubscription();
11155    method public boolean canManageSubscription(@NonNull android.telephony.SubscriptionInfo, @NonNull String);
11156    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getActiveSubscriptionIdList();
11157    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.SubscriptionInfo getActiveSubscriptionInfoForIcc(@NonNull String);
11158    method public java.util.List<android.telephony.SubscriptionInfo> getAvailableSubscriptionInfoList();
11159    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getCompleteActiveSubscriptionIdList();
11160    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEnabledSubscriptionId(int);
11161    method @NonNull public static android.content.res.Resources getResourcesForSubId(@NonNull android.content.Context, int);
11162    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isSubscriptionEnabled(int);
11163    method public void requestEmbeddedSubscriptionInfoListRefresh();
11164    method public void requestEmbeddedSubscriptionInfoListRefresh(int);
11165    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultDataSubId(int);
11166    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultSmsSubId(int);
11167    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultVoiceSubscriptionId(int);
11168    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>);
11169    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setSubscriptionEnabled(int, boolean);
11170    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUiccApplicationsEnabled(int, boolean);
11171    field @RequiresPermission(android.Manifest.permission.MANAGE_SUBSCRIPTION_PLANS) public static final String ACTION_SUBSCRIPTION_PLANS_CHANGED = "android.telephony.action.SUBSCRIPTION_PLANS_CHANGED";
11172    field @NonNull public static final android.net.Uri ADVANCED_CALLING_ENABLED_CONTENT_URI;
11173    field @Deprecated public static final int PROFILE_CLASS_DEFAULT = -1; // 0xffffffff
11174    field public static final int PROFILE_CLASS_OPERATIONAL = 2; // 0x2
11175    field public static final int PROFILE_CLASS_PROVISIONING = 1; // 0x1
11176    field public static final int PROFILE_CLASS_TESTING = 0; // 0x0
11177    field public static final int PROFILE_CLASS_UNSET = -1; // 0xffffffff
11178    field @NonNull public static final android.net.Uri VT_ENABLED_CONTENT_URI;
11179    field @NonNull public static final android.net.Uri WFC_ENABLED_CONTENT_URI;
11180    field @NonNull public static final android.net.Uri WFC_MODE_CONTENT_URI;
11181    field @NonNull public static final android.net.Uri WFC_ROAMING_ENABLED_CONTENT_URI;
11182    field @NonNull public static final android.net.Uri WFC_ROAMING_MODE_CONTENT_URI;
11183  }
11184
11185  public static class SubscriptionPlan.Builder {
11186    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringDaily(java.time.ZonedDateTime);
11187    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringMonthly(java.time.ZonedDateTime);
11188    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringWeekly(java.time.ZonedDateTime);
11189  }
11190
11191  public final class TelephonyHistogram implements android.os.Parcelable {
11192    ctor public TelephonyHistogram(int, int, int);
11193    ctor public TelephonyHistogram(android.telephony.TelephonyHistogram);
11194    ctor public TelephonyHistogram(android.os.Parcel);
11195    method public void addTimeTaken(int);
11196    method public int describeContents();
11197    method public int getAverageTime();
11198    method public int getBucketCount();
11199    method public int[] getBucketCounters();
11200    method public int[] getBucketEndPoints();
11201    method public int getCategory();
11202    method public int getId();
11203    method public int getMaxTime();
11204    method public int getMinTime();
11205    method public int getSampleCount();
11206    method public void writeToParcel(android.os.Parcel, int);
11207    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.TelephonyHistogram> CREATOR;
11208    field public static final int TELEPHONY_CATEGORY_RIL = 1; // 0x1
11209  }
11210
11211  public class TelephonyManager {
11212    method @Deprecated @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void call(String, String);
11213    method public int checkCarrierPrivilegesForPackage(String);
11214    method public int checkCarrierPrivilegesForPackageAnyPhone(String);
11215    method public void dial(String);
11216    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean disableDataConnectivity();
11217    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean enableDataConnectivity();
11218    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean enableModemForSlot(int, boolean);
11219    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void enableVideoCalling(boolean);
11220    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getAidForAppType(int);
11221    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers(int);
11222    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypes();
11223    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getAndUpdateDefaultRespondViaMessageApplication();
11224    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.ImsiEncryptionInfo getCarrierInfoForImsiEncryption(int);
11225    method public java.util.List<java.lang.String> getCarrierPackageNamesForIntent(android.content.Intent);
11226    method public java.util.List<java.lang.String> getCarrierPackageNamesForIntentAndPhone(android.content.Intent, int);
11227    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCarrierPrivilegeStatus(int);
11228    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<java.lang.String> getCarrierPrivilegedPackagesForAllActiveSubscriptions();
11229    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.CarrierRestrictionRules getCarrierRestrictionRules();
11230    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn();
11231    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn(int);
11232    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMin();
11233    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMin(int);
11234    method public String getCdmaPrlVersion();
11235    method public int getCurrentPhoneType();
11236    method public int getCurrentPhoneType(int);
11237    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getDataActivationState();
11238    method @Deprecated public boolean getDataEnabled();
11239    method @Deprecated public boolean getDataEnabled(int);
11240    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getDefaultRespondViaMessageApplication();
11241    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDeviceSoftwareVersion(int);
11242    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean getEmergencyCallbackMode();
11243    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEmergencyNumberDbVersion();
11244    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimDomain();
11245    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimIst();
11246    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Map<java.lang.Integer,java.lang.Integer> getLogicalToPhysicalSlotMapping();
11247    method public int getMaxNumberOfSimultaneouslyActiveSims();
11248    method public static long getMaxNumberVerificationTimeoutMillis();
11249    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String[] getMergedImsisFromGroup();
11250    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getPreferredNetworkTypeBitmask();
11251    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public int getRadioPowerState();
11252    method public int getSimApplicationState();
11253    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimApplicationState(int);
11254    method public int getSimCardState();
11255    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimCardState(int);
11256    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Locale getSimLocale();
11257    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getSupportedRadioAccessFamily();
11258    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public java.util.List<android.telephony.TelephonyHistogram> getTelephonyHistograms();
11259    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.UiccSlotInfo[] getUiccSlotsInfo();
11260    method @Nullable public android.os.Bundle getVisualVoicemailSettings();
11261    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoiceActivationState();
11262    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handlePinMmi(String);
11263    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handlePinMmiForSubscriber(int, String);
11264    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean iccCloseLogicalChannelBySlot(int, int);
11265    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannelBySlot(int, @Nullable String, int);
11266    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduBasicChannelBySlot(int, int, int, int, int, int, @Nullable String);
11267    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduLogicalChannelBySlot(int, int, int, int, int, int, int, @Nullable String);
11268    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAnyRadioPoweredOn();
11269    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApnMetered(int);
11270    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApplicationOnUicc(int);
11271    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataConnectionAllowed();
11272    method public boolean isDataConnectivityPossible();
11273    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataEnabledForApn(int);
11274    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isEmergencyAssistanceEnabled();
11275    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean isIccLockEnabled();
11276    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
11277    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isLteCdmaEvdoGsmWcdmaEnabled();
11278    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isOffhook();
11279    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isOpportunisticNetworkEnabled();
11280    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isPotentialEmergencyNumber(@NonNull String);
11281    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRadioOn();
11282    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRinging();
11283    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean isTetheringApnRequired();
11284    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isVideoCallingEnabled();
11285    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isVisualVoicemailEnabled(android.telecom.PhoneAccountHandle);
11286    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean matchesCurrentSimOperator(@NonNull String, int, @Nullable String);
11287    method public boolean needsOtaServiceProvisioning();
11288    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyOtaEmergencyNumberDbInstalled();
11289    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean rebootRadio();
11290    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void reportDefaultNetworkStatus(boolean);
11291    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);
11292    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);
11293    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void resetAllCarrierActions();
11294    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void resetCarrierKeysForImsiEncryption();
11295    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void resetIms(int);
11296    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void resetOtaEmergencyNumberDbFilePath();
11297    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean resetRadioConfig();
11298    method @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL) public void resetSettings();
11299    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setAllowedCarriers(int, java.util.List<android.service.carrier.CarrierIdentifier>);
11300    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setAllowedNetworkTypes(long);
11301    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCarrierDataEnabled(boolean);
11302    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setCarrierRestrictionRules(@NonNull android.telephony.CarrierRestrictionRules);
11303    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int);
11304    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(int, boolean);
11305    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataRoamingEnabled(boolean);
11306    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultiSimCarrierRestriction(boolean);
11307    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setOpportunisticNetworkState(boolean);
11308    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setPreferredNetworkTypeBitmask(long);
11309    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setRadio(boolean);
11310    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRadioEnabled(boolean);
11311    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setRadioPower(boolean);
11312    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerState(int);
11313    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerStateForSlot(int, int);
11314    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>);
11315    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSystemSelectionChannels(@NonNull java.util.List<android.telephony.RadioAccessSpecifier>);
11316    method @Deprecated public void setVisualVoicemailEnabled(android.telecom.PhoneAccountHandle, boolean);
11317    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoiceActivationState(int);
11318    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void shutdownAllRadios();
11319    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean supplyPin(String);
11320    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int[] supplyPinReportResult(String);
11321    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean supplyPuk(String, String);
11322    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int[] supplyPukReportResult(String, String);
11323    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean switchSlots(int[]);
11324    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void toggleRadioOnOff();
11325    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void updateOtaEmergencyNumberDbFilePath(@NonNull android.os.ParcelFileDescriptor);
11326    method public void updateServiceLocation();
11327    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final String ACTION_ANOMALY_REPORTED = "android.telephony.action.ANOMALY_REPORTED";
11328    field public static final String ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED = "android.intent.action.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED";
11329    field public static final String ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED = "android.intent.action.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED";
11330    field public static final String ACTION_EMERGENCY_ASSISTANCE = "android.telephony.action.EMERGENCY_ASSISTANCE";
11331    field public static final String ACTION_EMERGENCY_CALLBACK_MODE_CHANGED = "android.intent.action.EMERGENCY_CALLBACK_MODE_CHANGED";
11332    field public static final String ACTION_EMERGENCY_CALL_STATE_CHANGED = "android.intent.action.EMERGENCY_CALL_STATE_CHANGED";
11333    field public static final String ACTION_REQUEST_OMADM_CONFIGURATION_UPDATE = "com.android.omadm.service.CONFIGURATION_UPDATE";
11334    field public static final String ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS = "android.telephony.action.SHOW_NOTICE_ECM_BLOCK_OTHERS";
11335    field public static final String ACTION_SIM_APPLICATION_STATE_CHANGED = "android.telephony.action.SIM_APPLICATION_STATE_CHANGED";
11336    field public static final String ACTION_SIM_CARD_STATE_CHANGED = "android.telephony.action.SIM_CARD_STATE_CHANGED";
11337    field public static final String ACTION_SIM_SLOT_STATUS_CHANGED = "android.telephony.action.SIM_SLOT_STATUS_CHANGED";
11338    field public static final int CARRIER_PRIVILEGE_STATUS_ERROR_LOADING_RULES = -2; // 0xfffffffe
11339    field public static final int CARRIER_PRIVILEGE_STATUS_HAS_ACCESS = 1; // 0x1
11340    field public static final int CARRIER_PRIVILEGE_STATUS_NO_ACCESS = 0; // 0x0
11341    field public static final int CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED = -1; // 0xffffffff
11342    field public static final String EXTRA_ANOMALY_DESCRIPTION = "android.telephony.extra.ANOMALY_DESCRIPTION";
11343    field public static final String EXTRA_ANOMALY_ID = "android.telephony.extra.ANOMALY_ID";
11344    field public static final String EXTRA_PHONE_IN_ECM_STATE = "android.telephony.extra.PHONE_IN_ECM_STATE";
11345    field public static final String EXTRA_PHONE_IN_EMERGENCY_CALL = "android.telephony.extra.PHONE_IN_EMERGENCY_CALL";
11346    field public static final String EXTRA_SIM_STATE = "android.telephony.extra.SIM_STATE";
11347    field public static final String EXTRA_VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL = "android.telephony.extra.VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL";
11348    field public static final String EXTRA_VOICEMAIL_SCRAMBLED_PIN_STRING = "android.telephony.extra.VOICEMAIL_SCRAMBLED_PIN_STRING";
11349    field public static final int INVALID_EMERGENCY_NUMBER_DB_VERSION = -1; // 0xffffffff
11350    field public static final int KEY_TYPE_EPDG = 1; // 0x1
11351    field public static final int KEY_TYPE_WLAN = 2; // 0x2
11352    field public static final long NETWORK_TYPE_BITMASK_1xRTT = 64L; // 0x40L
11353    field public static final long NETWORK_TYPE_BITMASK_CDMA = 8L; // 0x8L
11354    field public static final long NETWORK_TYPE_BITMASK_EDGE = 2L; // 0x2L
11355    field public static final long NETWORK_TYPE_BITMASK_EHRPD = 8192L; // 0x2000L
11356    field public static final long NETWORK_TYPE_BITMASK_EVDO_0 = 16L; // 0x10L
11357    field public static final long NETWORK_TYPE_BITMASK_EVDO_A = 32L; // 0x20L
11358    field public static final long NETWORK_TYPE_BITMASK_EVDO_B = 2048L; // 0x800L
11359    field public static final long NETWORK_TYPE_BITMASK_GPRS = 1L; // 0x1L
11360    field public static final long NETWORK_TYPE_BITMASK_GSM = 32768L; // 0x8000L
11361    field public static final long NETWORK_TYPE_BITMASK_HSDPA = 128L; // 0x80L
11362    field public static final long NETWORK_TYPE_BITMASK_HSPA = 512L; // 0x200L
11363    field public static final long NETWORK_TYPE_BITMASK_HSPAP = 16384L; // 0x4000L
11364    field public static final long NETWORK_TYPE_BITMASK_HSUPA = 256L; // 0x100L
11365    field public static final long NETWORK_TYPE_BITMASK_IWLAN = 131072L; // 0x20000L
11366    field public static final long NETWORK_TYPE_BITMASK_LTE = 4096L; // 0x1000L
11367    field public static final long NETWORK_TYPE_BITMASK_LTE_CA = 262144L; // 0x40000L
11368    field public static final long NETWORK_TYPE_BITMASK_NR = 524288L; // 0x80000L
11369    field public static final long NETWORK_TYPE_BITMASK_TD_SCDMA = 65536L; // 0x10000L
11370    field public static final long NETWORK_TYPE_BITMASK_UMTS = 4L; // 0x4L
11371    field public static final long NETWORK_TYPE_BITMASK_UNKNOWN = 0L; // 0x0L
11372    field public static final int RADIO_POWER_OFF = 0; // 0x0
11373    field public static final int RADIO_POWER_ON = 1; // 0x1
11374    field public static final int RADIO_POWER_UNAVAILABLE = 2; // 0x2
11375    field public static final int SET_CARRIER_RESTRICTION_ERROR = 2; // 0x2
11376    field public static final int SET_CARRIER_RESTRICTION_NOT_SUPPORTED = 1; // 0x1
11377    field public static final int SET_CARRIER_RESTRICTION_SUCCESS = 0; // 0x0
11378    field public static final int SIM_ACTIVATION_STATE_ACTIVATED = 2; // 0x2
11379    field public static final int SIM_ACTIVATION_STATE_ACTIVATING = 1; // 0x1
11380    field public static final int SIM_ACTIVATION_STATE_DEACTIVATED = 3; // 0x3
11381    field public static final int SIM_ACTIVATION_STATE_RESTRICTED = 4; // 0x4
11382    field public static final int SIM_ACTIVATION_STATE_UNKNOWN = 0; // 0x0
11383    field public static final int SIM_STATE_LOADED = 10; // 0xa
11384    field public static final int SIM_STATE_PRESENT = 11; // 0xb
11385    field public static final int SRVCC_STATE_HANDOVER_CANCELED = 3; // 0x3
11386    field public static final int SRVCC_STATE_HANDOVER_COMPLETED = 1; // 0x1
11387    field public static final int SRVCC_STATE_HANDOVER_FAILED = 2; // 0x2
11388    field public static final int SRVCC_STATE_HANDOVER_NONE = -1; // 0xffffffff
11389    field public static final int SRVCC_STATE_HANDOVER_STARTED = 0; // 0x0
11390  }
11391
11392  public final class UiccAccessRule implements android.os.Parcelable {
11393    ctor public UiccAccessRule(byte[], @Nullable String, long);
11394    method public int describeContents();
11395    method public int getCarrierPrivilegeStatus(android.content.pm.PackageInfo);
11396    method public int getCarrierPrivilegeStatus(android.content.pm.Signature, String);
11397    method public String getCertificateHexString();
11398    method @Nullable public String getPackageName();
11399    method public void writeToParcel(android.os.Parcel, int);
11400    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccAccessRule> CREATOR;
11401  }
11402
11403  public class UiccSlotInfo implements android.os.Parcelable {
11404    ctor @Deprecated public UiccSlotInfo(boolean, boolean, String, int, int, boolean);
11405    method public int describeContents();
11406    method public String getCardId();
11407    method public int getCardStateInfo();
11408    method public boolean getIsActive();
11409    method public boolean getIsEuicc();
11410    method public boolean getIsExtendedApduSupported();
11411    method public int getLogicalSlotIdx();
11412    method public boolean isRemovable();
11413    method public void writeToParcel(android.os.Parcel, int);
11414    field public static final int CARD_STATE_INFO_ABSENT = 1; // 0x1
11415    field public static final int CARD_STATE_INFO_ERROR = 3; // 0x3
11416    field public static final int CARD_STATE_INFO_PRESENT = 2; // 0x2
11417    field public static final int CARD_STATE_INFO_RESTRICTED = 4; // 0x4
11418    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccSlotInfo> CREATOR;
11419  }
11420
11421  public abstract class VisualVoicemailService extends android.app.Service {
11422    method public static final void sendVisualVoicemailSms(android.content.Context, android.telecom.PhoneAccountHandle, String, short, String, android.app.PendingIntent);
11423    method public static final void setSmsFilterSettings(android.content.Context, android.telecom.PhoneAccountHandle, android.telephony.VisualVoicemailSmsFilterSettings);
11424  }
11425
11426}
11427
11428package android.telephony.cdma {
11429
11430  public final class CdmaSmsCbProgramData implements android.os.Parcelable {
11431    method public int describeContents();
11432    method public int getCategory();
11433    method public int getOperation();
11434    method public void writeToParcel(android.os.Parcel, int);
11435    field public static final int CATEGORY_CMAS_CHILD_ABDUCTION_EMERGENCY = 4099; // 0x1003
11436    field public static final int CATEGORY_CMAS_EXTREME_THREAT = 4097; // 0x1001
11437    field public static final int CATEGORY_CMAS_LAST_RESERVED_VALUE = 4351; // 0x10ff
11438    field public static final int CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT = 4096; // 0x1000
11439    field public static final int CATEGORY_CMAS_SEVERE_THREAT = 4098; // 0x1002
11440    field public static final int CATEGORY_CMAS_TEST_MESSAGE = 4100; // 0x1004
11441    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.cdma.CdmaSmsCbProgramData> CREATOR;
11442    field public static final int OPERATION_ADD_CATEGORY = 1; // 0x1
11443    field public static final int OPERATION_CLEAR_CATEGORIES = 2; // 0x2
11444    field public static final int OPERATION_DELETE_CATEGORY = 0; // 0x0
11445  }
11446
11447}
11448
11449package android.telephony.data {
11450
11451  public final class DataCallResponse implements android.os.Parcelable {
11452    method public int describeContents();
11453    method @NonNull public java.util.List<android.net.LinkAddress> getAddresses();
11454    method public int getCause();
11455    method @NonNull public java.util.List<java.net.InetAddress> getDnsAddresses();
11456    method @NonNull public java.util.List<java.net.InetAddress> getGatewayAddresses();
11457    method public int getId();
11458    method @NonNull public String getInterfaceName();
11459    method public int getLinkStatus();
11460    method @Deprecated public int getMtu();
11461    method public int getMtuV4();
11462    method public int getMtuV6();
11463    method @NonNull public java.util.List<java.net.InetAddress> getPcscfAddresses();
11464    method public int getProtocolType();
11465    method public int getSuggestedRetryTime();
11466    method public void writeToParcel(android.os.Parcel, int);
11467    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.DataCallResponse> CREATOR;
11468    field public static final int LINK_STATUS_ACTIVE = 2; // 0x2
11469    field public static final int LINK_STATUS_DORMANT = 1; // 0x1
11470    field public static final int LINK_STATUS_INACTIVE = 0; // 0x0
11471    field public static final int LINK_STATUS_UNKNOWN = -1; // 0xffffffff
11472  }
11473
11474  public static final class DataCallResponse.Builder {
11475    ctor public DataCallResponse.Builder();
11476    method @NonNull public android.telephony.data.DataCallResponse build();
11477    method @NonNull public android.telephony.data.DataCallResponse.Builder setAddresses(@NonNull java.util.List<android.net.LinkAddress>);
11478    method @NonNull public android.telephony.data.DataCallResponse.Builder setCause(int);
11479    method @NonNull public android.telephony.data.DataCallResponse.Builder setDnsAddresses(@NonNull java.util.List<java.net.InetAddress>);
11480    method @NonNull public android.telephony.data.DataCallResponse.Builder setGatewayAddresses(@NonNull java.util.List<java.net.InetAddress>);
11481    method @NonNull public android.telephony.data.DataCallResponse.Builder setId(int);
11482    method @NonNull public android.telephony.data.DataCallResponse.Builder setInterfaceName(@NonNull String);
11483    method @NonNull public android.telephony.data.DataCallResponse.Builder setLinkStatus(int);
11484    method @Deprecated @NonNull public android.telephony.data.DataCallResponse.Builder setMtu(int);
11485    method @NonNull public android.telephony.data.DataCallResponse.Builder setMtuV4(int);
11486    method @NonNull public android.telephony.data.DataCallResponse.Builder setMtuV6(int);
11487    method @NonNull public android.telephony.data.DataCallResponse.Builder setPcscfAddresses(@NonNull java.util.List<java.net.InetAddress>);
11488    method @NonNull public android.telephony.data.DataCallResponse.Builder setProtocolType(int);
11489    method @NonNull public android.telephony.data.DataCallResponse.Builder setSuggestedRetryTime(int);
11490  }
11491
11492  public final class DataProfile implements android.os.Parcelable {
11493    method public int describeContents();
11494    method @NonNull public String getApn();
11495    method public int getAuthType();
11496    method public int getBearerBitmask();
11497    method @Deprecated public int getMtu();
11498    method public int getMtuV4();
11499    method public int getMtuV6();
11500    method @Nullable public String getPassword();
11501    method public int getProfileId();
11502    method public int getProtocolType();
11503    method public int getRoamingProtocolType();
11504    method public int getSupportedApnTypesBitmask();
11505    method public int getType();
11506    method @Nullable public String getUserName();
11507    method public boolean isEnabled();
11508    method public boolean isPersistent();
11509    method public boolean isPreferred();
11510    method public void writeToParcel(android.os.Parcel, int);
11511    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.DataProfile> CREATOR;
11512    field public static final int TYPE_3GPP = 1; // 0x1
11513    field public static final int TYPE_3GPP2 = 2; // 0x2
11514    field public static final int TYPE_COMMON = 0; // 0x0
11515  }
11516
11517  public static final class DataProfile.Builder {
11518    ctor public DataProfile.Builder();
11519    method @NonNull public android.telephony.data.DataProfile build();
11520    method @NonNull public android.telephony.data.DataProfile.Builder enable(boolean);
11521    method @NonNull public android.telephony.data.DataProfile.Builder setApn(@NonNull String);
11522    method @NonNull public android.telephony.data.DataProfile.Builder setAuthType(int);
11523    method @NonNull public android.telephony.data.DataProfile.Builder setBearerBitmask(int);
11524    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setMtu(int);
11525    method @NonNull public android.telephony.data.DataProfile.Builder setMtuV4(int);
11526    method @NonNull public android.telephony.data.DataProfile.Builder setMtuV6(int);
11527    method @NonNull public android.telephony.data.DataProfile.Builder setPassword(@NonNull String);
11528    method @NonNull public android.telephony.data.DataProfile.Builder setPersistent(boolean);
11529    method @NonNull public android.telephony.data.DataProfile.Builder setPreferred(boolean);
11530    method @NonNull public android.telephony.data.DataProfile.Builder setProfileId(int);
11531    method @NonNull public android.telephony.data.DataProfile.Builder setProtocolType(int);
11532    method @NonNull public android.telephony.data.DataProfile.Builder setRoamingProtocolType(int);
11533    method @NonNull public android.telephony.data.DataProfile.Builder setSupportedApnTypesBitmask(int);
11534    method @NonNull public android.telephony.data.DataProfile.Builder setType(int);
11535    method @NonNull public android.telephony.data.DataProfile.Builder setUserName(@NonNull String);
11536  }
11537
11538  public abstract class DataService extends android.app.Service {
11539    ctor public DataService();
11540    method public android.os.IBinder onBind(android.content.Intent);
11541    method @Nullable public abstract android.telephony.data.DataService.DataServiceProvider onCreateDataServiceProvider(int);
11542    field public static final int REQUEST_REASON_HANDOVER = 3; // 0x3
11543    field public static final int REQUEST_REASON_NORMAL = 1; // 0x1
11544    field public static final int REQUEST_REASON_SHUTDOWN = 2; // 0x2
11545    field public static final int REQUEST_REASON_UNKNOWN = 0; // 0x0
11546    field public static final String SERVICE_INTERFACE = "android.telephony.data.DataService";
11547  }
11548
11549  public abstract class DataService.DataServiceProvider implements java.lang.AutoCloseable {
11550    ctor public DataService.DataServiceProvider(int);
11551    method public abstract void close();
11552    method public void deactivateDataCall(int, int, @Nullable android.telephony.data.DataServiceCallback);
11553    method public final int getSlotIndex();
11554    method public final void notifyDataCallListChanged(java.util.List<android.telephony.data.DataCallResponse>);
11555    method public void requestDataCallList(@NonNull android.telephony.data.DataServiceCallback);
11556    method public void setDataProfile(@NonNull java.util.List<android.telephony.data.DataProfile>, boolean, @NonNull android.telephony.data.DataServiceCallback);
11557    method public void setInitialAttachApn(@NonNull android.telephony.data.DataProfile, boolean, @NonNull android.telephony.data.DataServiceCallback);
11558    method public void setupDataCall(int, @NonNull android.telephony.data.DataProfile, boolean, boolean, int, @Nullable android.net.LinkProperties, @NonNull android.telephony.data.DataServiceCallback);
11559  }
11560
11561  public class DataServiceCallback {
11562    method public void onDataCallListChanged(@NonNull java.util.List<android.telephony.data.DataCallResponse>);
11563    method public void onDeactivateDataCallComplete(int);
11564    method public void onRequestDataCallListComplete(int, @NonNull java.util.List<android.telephony.data.DataCallResponse>);
11565    method public void onSetDataProfileComplete(int);
11566    method public void onSetInitialAttachApnComplete(int);
11567    method public void onSetupDataCallComplete(int, @Nullable android.telephony.data.DataCallResponse);
11568    field public static final int RESULT_ERROR_BUSY = 3; // 0x3
11569    field public static final int RESULT_ERROR_ILLEGAL_STATE = 4; // 0x4
11570    field public static final int RESULT_ERROR_INVALID_ARG = 2; // 0x2
11571    field public static final int RESULT_ERROR_UNSUPPORTED = 1; // 0x1
11572    field public static final int RESULT_SUCCESS = 0; // 0x0
11573  }
11574
11575  public abstract class QualifiedNetworksService extends android.app.Service {
11576    ctor public QualifiedNetworksService();
11577    method @NonNull public abstract android.telephony.data.QualifiedNetworksService.NetworkAvailabilityProvider onCreateNetworkAvailabilityProvider(int);
11578    field public static final String QUALIFIED_NETWORKS_SERVICE_INTERFACE = "android.telephony.data.QualifiedNetworksService";
11579  }
11580
11581  public abstract class QualifiedNetworksService.NetworkAvailabilityProvider implements java.lang.AutoCloseable {
11582    ctor public QualifiedNetworksService.NetworkAvailabilityProvider(int);
11583    method public abstract void close();
11584    method public final int getSlotIndex();
11585    method public final void updateQualifiedNetworkTypes(int, @NonNull java.util.List<java.lang.Integer>);
11586  }
11587
11588}
11589
11590package android.telephony.euicc {
11591
11592  public final class DownloadableSubscription implements android.os.Parcelable {
11593    method public java.util.List<android.telephony.UiccAccessRule> getAccessRules();
11594    method @Nullable public String getCarrierName();
11595  }
11596
11597  public static final class DownloadableSubscription.Builder {
11598    ctor public DownloadableSubscription.Builder();
11599    ctor public DownloadableSubscription.Builder(android.telephony.euicc.DownloadableSubscription);
11600    method public android.telephony.euicc.DownloadableSubscription build();
11601    method public android.telephony.euicc.DownloadableSubscription.Builder setAccessRules(java.util.List<android.telephony.UiccAccessRule>);
11602    method public android.telephony.euicc.DownloadableSubscription.Builder setCarrierName(String);
11603    method public android.telephony.euicc.DownloadableSubscription.Builder setConfirmationCode(String);
11604    method public android.telephony.euicc.DownloadableSubscription.Builder setEncodedActivationCode(String);
11605  }
11606
11607  public class EuiccCardManager {
11608    method public void authenticateServer(String, String, byte[], byte[], byte[], byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
11609    method public void cancelSession(String, byte[], @android.telephony.euicc.EuiccCardManager.CancelReason int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
11610    method public void deleteProfile(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
11611    method public void disableProfile(String, String, boolean, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
11612    method public void listNotifications(String, @android.telephony.euicc.EuiccNotification.Event int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification[]>);
11613    method public void loadBoundProfilePackage(String, byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
11614    method public void prepareDownload(String, @Nullable byte[], byte[], byte[], byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
11615    method public void removeNotificationFromList(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
11616    method public void requestAllProfiles(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo[]>);
11617    method public void requestDefaultSmdpAddress(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.String>);
11618    method public void requestEuiccChallenge(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
11619    method public void requestEuiccInfo1(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
11620    method public void requestEuiccInfo2(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
11621    method public void requestProfile(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
11622    method public void requestRulesAuthTable(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccRulesAuthTable>);
11623    method public void requestSmdsAddress(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.String>);
11624    method public void resetMemory(String, @android.telephony.euicc.EuiccCardManager.ResetOption int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
11625    method public void retrieveNotification(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification>);
11626    method public void retrieveNotificationList(String, @android.telephony.euicc.EuiccNotification.Event int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification[]>);
11627    method public void setDefaultSmdpAddress(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
11628    method public void setNickname(String, String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
11629    method public void switchToProfile(String, String, boolean, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
11630    field public static final int CANCEL_REASON_END_USER_REJECTED = 0; // 0x0
11631    field public static final int CANCEL_REASON_POSTPONED = 1; // 0x1
11632    field public static final int CANCEL_REASON_PPR_NOT_ALLOWED = 3; // 0x3
11633    field public static final int CANCEL_REASON_TIMEOUT = 2; // 0x2
11634    field public static final int RESET_OPTION_DELETE_FIELD_LOADED_TEST_PROFILES = 2; // 0x2
11635    field public static final int RESET_OPTION_DELETE_OPERATIONAL_PROFILES = 1; // 0x1
11636    field public static final int RESET_OPTION_RESET_DEFAULT_SMDP_ADDRESS = 4; // 0x4
11637    field public static final int RESULT_CALLER_NOT_ALLOWED = -3; // 0xfffffffd
11638    field public static final int RESULT_EUICC_NOT_FOUND = -2; // 0xfffffffe
11639    field public static final int RESULT_OK = 0; // 0x0
11640    field public static final int RESULT_UNKNOWN_ERROR = -1; // 0xffffffff
11641  }
11642
11643  @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 {
11644  }
11645
11646  @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 {
11647  }
11648
11649  public static interface EuiccCardManager.ResultCallback<T> {
11650    method public void onComplete(int, T);
11651  }
11652
11653  public class EuiccManager {
11654    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void continueOperation(android.content.Intent, android.os.Bundle);
11655    method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void eraseSubscriptions(@NonNull android.app.PendingIntent);
11656    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void eraseSubscriptions(@android.telephony.euicc.EuiccCardManager.ResetOption int, @NonNull android.app.PendingIntent);
11657    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void getDefaultDownloadableSubscriptionList(android.app.PendingIntent);
11658    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void getDownloadableSubscriptionMetadata(android.telephony.euicc.DownloadableSubscription, android.app.PendingIntent);
11659    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public int getOtaStatus();
11660    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public java.util.List<java.lang.String> getSupportedCountries();
11661    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public java.util.List<java.lang.String> getUnsupportedCountries();
11662    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public boolean isSupportedCountry(@NonNull String);
11663    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setSupportedCountries(@NonNull java.util.List<java.lang.String>);
11664    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setUnsupportedCountries(@NonNull java.util.List<java.lang.String>);
11665    field public static final String ACTION_DELETE_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.DELETE_SUBSCRIPTION_PRIVILEGED";
11666    field @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public static final String ACTION_OTA_STATUS_CHANGED = "android.telephony.euicc.action.OTA_STATUS_CHANGED";
11667    field public static final String ACTION_PROVISION_EMBEDDED_SUBSCRIPTION = "android.telephony.euicc.action.PROVISION_EMBEDDED_SUBSCRIPTION";
11668    field public static final String ACTION_RENAME_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.RENAME_SUBSCRIPTION_PRIVILEGED";
11669    field public static final String ACTION_TOGGLE_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.TOGGLE_SUBSCRIPTION_PRIVILEGED";
11670    field public static final int EUICC_ACTIVATION_TYPE_ACCOUNT_REQUIRED = 4; // 0x4
11671    field public static final int EUICC_ACTIVATION_TYPE_BACKUP = 2; // 0x2
11672    field public static final int EUICC_ACTIVATION_TYPE_DEFAULT = 1; // 0x1
11673    field public static final int EUICC_ACTIVATION_TYPE_TRANSFER = 3; // 0x3
11674    field public static final int EUICC_OTA_FAILED = 2; // 0x2
11675    field public static final int EUICC_OTA_IN_PROGRESS = 1; // 0x1
11676    field public static final int EUICC_OTA_NOT_NEEDED = 4; // 0x4
11677    field public static final int EUICC_OTA_STATUS_UNAVAILABLE = 5; // 0x5
11678    field public static final int EUICC_OTA_SUCCEEDED = 3; // 0x3
11679    field public static final String EXTRA_ACTIVATION_TYPE = "android.telephony.euicc.extra.ACTIVATION_TYPE";
11680    field public static final String EXTRA_EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTIONS = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTIONS";
11681    field public static final String EXTRA_ENABLE_SUBSCRIPTION = "android.telephony.euicc.extra.ENABLE_SUBSCRIPTION";
11682    field public static final String EXTRA_FORCE_PROVISION = "android.telephony.euicc.extra.FORCE_PROVISION";
11683    field public static final String EXTRA_FROM_SUBSCRIPTION_ID = "android.telephony.euicc.extra.FROM_SUBSCRIPTION_ID";
11684    field public static final String EXTRA_PHYSICAL_SLOT_ID = "android.telephony.euicc.extra.PHYSICAL_SLOT_ID";
11685    field public static final String EXTRA_SUBSCRIPTION_ID = "android.telephony.euicc.extra.SUBSCRIPTION_ID";
11686    field public static final String EXTRA_SUBSCRIPTION_NICKNAME = "android.telephony.euicc.extra.SUBSCRIPTION_NICKNAME";
11687  }
11688
11689  @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 {
11690  }
11691
11692  public final class EuiccNotification implements android.os.Parcelable {
11693    ctor public EuiccNotification(int, String, @android.telephony.euicc.EuiccNotification.Event int, @Nullable byte[]);
11694    method public int describeContents();
11695    method @Nullable public byte[] getData();
11696    method @android.telephony.euicc.EuiccNotification.Event public int getEvent();
11697    method public int getSeq();
11698    method public String getTargetAddr();
11699    method public void writeToParcel(android.os.Parcel, int);
11700    field @android.telephony.euicc.EuiccNotification.Event public static final int ALL_EVENTS = 15; // 0xf
11701    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccNotification> CREATOR;
11702    field public static final int EVENT_DELETE = 8; // 0x8
11703    field public static final int EVENT_DISABLE = 4; // 0x4
11704    field public static final int EVENT_ENABLE = 2; // 0x2
11705    field public static final int EVENT_INSTALL = 1; // 0x1
11706  }
11707
11708  @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 {
11709  }
11710
11711  public final class EuiccRulesAuthTable implements android.os.Parcelable {
11712    method public int describeContents();
11713    method public int findIndex(@android.service.euicc.EuiccProfileInfo.PolicyRule int, android.service.carrier.CarrierIdentifier);
11714    method public boolean hasPolicyRuleFlag(int, @android.telephony.euicc.EuiccRulesAuthTable.PolicyRuleFlag int);
11715    method public void writeToParcel(android.os.Parcel, int);
11716    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccRulesAuthTable> CREATOR;
11717    field public static final int POLICY_RULE_FLAG_CONSENT_REQUIRED = 1; // 0x1
11718  }
11719
11720  public static final class EuiccRulesAuthTable.Builder {
11721    ctor public EuiccRulesAuthTable.Builder(int);
11722    method public android.telephony.euicc.EuiccRulesAuthTable.Builder add(int, java.util.List<android.service.carrier.CarrierIdentifier>, int);
11723    method public android.telephony.euicc.EuiccRulesAuthTable build();
11724  }
11725
11726  @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 {
11727  }
11728
11729}
11730
11731package android.telephony.ims {
11732
11733  public final class ImsCallForwardInfo implements android.os.Parcelable {
11734    ctor public ImsCallForwardInfo(int, int, int, int, @NonNull String, int);
11735    method public int describeContents();
11736    method public int getCondition();
11737    method public String getNumber();
11738    method public int getServiceClass();
11739    method public int getStatus();
11740    method public int getTimeSeconds();
11741    method public int getToA();
11742    method public void writeToParcel(android.os.Parcel, int);
11743    field public static final int CDIV_CF_REASON_ALL = 4; // 0x4
11744    field public static final int CDIV_CF_REASON_ALL_CONDITIONAL = 5; // 0x5
11745    field public static final int CDIV_CF_REASON_BUSY = 1; // 0x1
11746    field public static final int CDIV_CF_REASON_NOT_LOGGED_IN = 6; // 0x6
11747    field public static final int CDIV_CF_REASON_NOT_REACHABLE = 3; // 0x3
11748    field public static final int CDIV_CF_REASON_NO_REPLY = 2; // 0x2
11749    field public static final int CDIV_CF_REASON_UNCONDITIONAL = 0; // 0x0
11750    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsCallForwardInfo> CREATOR;
11751    field public static final int STATUS_ACTIVE = 1; // 0x1
11752    field public static final int STATUS_NOT_ACTIVE = 0; // 0x0
11753    field public static final int TYPE_OF_ADDRESS_INTERNATIONAL = 145; // 0x91
11754    field public static final int TYPE_OF_ADDRESS_UNKNOWN = 129; // 0x81
11755  }
11756
11757  public final class ImsCallProfile implements android.os.Parcelable {
11758    ctor public ImsCallProfile();
11759    ctor public ImsCallProfile(int, int);
11760    ctor public ImsCallProfile(int, int, android.os.Bundle, android.telephony.ims.ImsStreamMediaProfile);
11761    method public int describeContents();
11762    method public String getCallExtra(String);
11763    method public String getCallExtra(String, String);
11764    method public boolean getCallExtraBoolean(String);
11765    method public boolean getCallExtraBoolean(String, boolean);
11766    method public int getCallExtraInt(String);
11767    method public int getCallExtraInt(String, int);
11768    method public android.os.Bundle getCallExtras();
11769    method public int getCallType();
11770    method public static int getCallTypeFromVideoState(int);
11771    method public int getCallerNumberVerificationStatus();
11772    method public int getEmergencyCallRouting();
11773    method public int getEmergencyServiceCategories();
11774    method @NonNull public java.util.List<java.lang.String> getEmergencyUrns();
11775    method public android.telephony.ims.ImsStreamMediaProfile getMediaProfile();
11776    method @NonNull public android.os.Bundle getProprietaryCallExtras();
11777    method public int getRestrictCause();
11778    method public int getServiceType();
11779    method public static int getVideoStateFromCallType(int);
11780    method public static int getVideoStateFromImsCallProfile(android.telephony.ims.ImsCallProfile);
11781    method public boolean hasKnownUserIntentEmergency();
11782    method public boolean isEmergencyCallTesting();
11783    method public boolean isVideoCall();
11784    method public boolean isVideoPaused();
11785    method public static int presentationToOir(int);
11786    method public void setCallExtra(String, String);
11787    method public void setCallExtraBoolean(String, boolean);
11788    method public void setCallExtraInt(String, int);
11789    method public void setCallRestrictCause(int);
11790    method public void setCallerNumberVerificationStatus(int);
11791    method public void setEmergencyCallRouting(int);
11792    method public void setEmergencyCallTesting(boolean);
11793    method public void setEmergencyServiceCategories(int);
11794    method public void setEmergencyUrns(@NonNull java.util.List<java.lang.String>);
11795    method public void setHasKnownUserIntentEmergency(boolean);
11796    method public void updateCallExtras(android.telephony.ims.ImsCallProfile);
11797    method public void updateCallType(android.telephony.ims.ImsCallProfile);
11798    method public void updateMediaProfile(android.telephony.ims.ImsCallProfile);
11799    method public void writeToParcel(android.os.Parcel, int);
11800    field public static final int CALL_RESTRICT_CAUSE_DISABLED = 2; // 0x2
11801    field public static final int CALL_RESTRICT_CAUSE_HD = 3; // 0x3
11802    field public static final int CALL_RESTRICT_CAUSE_NONE = 0; // 0x0
11803    field public static final int CALL_RESTRICT_CAUSE_RAT = 1; // 0x1
11804    field public static final int CALL_TYPE_VIDEO_N_VOICE = 3; // 0x3
11805    field public static final int CALL_TYPE_VOICE = 2; // 0x2
11806    field public static final int CALL_TYPE_VOICE_N_VIDEO = 1; // 0x1
11807    field public static final int CALL_TYPE_VS = 8; // 0x8
11808    field public static final int CALL_TYPE_VS_RX = 10; // 0xa
11809    field public static final int CALL_TYPE_VS_TX = 9; // 0x9
11810    field public static final int CALL_TYPE_VT = 4; // 0x4
11811    field public static final int CALL_TYPE_VT_NODIR = 7; // 0x7
11812    field public static final int CALL_TYPE_VT_RX = 6; // 0x6
11813    field public static final int CALL_TYPE_VT_TX = 5; // 0x5
11814    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsCallProfile> CREATOR;
11815    field public static final int DIALSTRING_NORMAL = 0; // 0x0
11816    field public static final int DIALSTRING_SS_CONF = 1; // 0x1
11817    field public static final int DIALSTRING_USSD = 2; // 0x2
11818    field public static final String EXTRA_ADDITIONAL_CALL_INFO = "AdditionalCallInfo";
11819    field public static final String EXTRA_ADDITIONAL_SIP_INVITE_FIELDS = "android.telephony.ims.extra.ADDITIONAL_SIP_INVITE_FIELDS";
11820    field public static final String EXTRA_CALL_DISCONNECT_CAUSE = "android.telephony.ims.extra.CALL_DISCONNECT_CAUSE";
11821    field public static final String EXTRA_CALL_NETWORK_TYPE = "android.telephony.ims.extra.CALL_NETWORK_TYPE";
11822    field @Deprecated public static final String EXTRA_CALL_RAT_TYPE = "CallRadioTech";
11823    field public static final String EXTRA_CHILD_NUMBER = "ChildNum";
11824    field public static final String EXTRA_CNA = "cna";
11825    field public static final String EXTRA_CNAP = "cnap";
11826    field public static final String EXTRA_CODEC = "Codec";
11827    field public static final String EXTRA_DIALSTRING = "dialstring";
11828    field public static final String EXTRA_DISPLAY_TEXT = "DisplayText";
11829    field public static final String EXTRA_EMERGENCY_CALL = "e_call";
11830    field public static final String EXTRA_FORWARDED_NUMBER = "android.telephony.ims.extra.FORWARDED_NUMBER";
11831    field public static final String EXTRA_IS_CALL_PULL = "CallPull";
11832    field public static final String EXTRA_OI = "oi";
11833    field public static final String EXTRA_OIR = "oir";
11834    field public static final String EXTRA_REMOTE_URI = "remote_uri";
11835    field public static final String EXTRA_USSD = "ussd";
11836    field public static final int OIR_DEFAULT = 0; // 0x0
11837    field public static final int OIR_PRESENTATION_NOT_RESTRICTED = 2; // 0x2
11838    field public static final int OIR_PRESENTATION_PAYPHONE = 4; // 0x4
11839    field public static final int OIR_PRESENTATION_RESTRICTED = 1; // 0x1
11840    field public static final int OIR_PRESENTATION_UNKNOWN = 3; // 0x3
11841    field public static final int SERVICE_TYPE_EMERGENCY = 2; // 0x2
11842    field public static final int SERVICE_TYPE_NONE = 0; // 0x0
11843    field public static final int SERVICE_TYPE_NORMAL = 1; // 0x1
11844    field public static final int VERIFICATION_STATUS_FAILED = 2; // 0x2
11845    field public static final int VERIFICATION_STATUS_NOT_VERIFIED = 0; // 0x0
11846    field public static final int VERIFICATION_STATUS_PASSED = 1; // 0x1
11847  }
11848
11849  public class ImsCallSessionListener {
11850    method public void callQualityChanged(@NonNull android.telephony.CallQuality);
11851    method public void callSessionConferenceExtendFailed(android.telephony.ims.ImsReasonInfo);
11852    method public void callSessionConferenceExtendReceived(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
11853    method public void callSessionConferenceExtended(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
11854    method public void callSessionConferenceStateUpdated(android.telephony.ims.ImsConferenceState);
11855    method @Deprecated public void callSessionHandover(int, int, android.telephony.ims.ImsReasonInfo);
11856    method @Deprecated public void callSessionHandoverFailed(int, int, android.telephony.ims.ImsReasonInfo);
11857    method public void callSessionHeld(android.telephony.ims.ImsCallProfile);
11858    method public void callSessionHoldFailed(android.telephony.ims.ImsReasonInfo);
11859    method public void callSessionHoldReceived(android.telephony.ims.ImsCallProfile);
11860    method public void callSessionInitiated(android.telephony.ims.ImsCallProfile);
11861    method public void callSessionInitiatedFailed(android.telephony.ims.ImsReasonInfo);
11862    method public void callSessionInviteParticipantsRequestDelivered();
11863    method public void callSessionInviteParticipantsRequestFailed(android.telephony.ims.ImsReasonInfo);
11864    method @Deprecated public void callSessionMayHandover(int, int);
11865    method public void callSessionMergeComplete(android.telephony.ims.stub.ImsCallSessionImplBase);
11866    method public void callSessionMergeFailed(android.telephony.ims.ImsReasonInfo);
11867    method public void callSessionMergeStarted(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
11868    method public void callSessionMultipartyStateChanged(boolean);
11869    method public void callSessionProgressing(android.telephony.ims.ImsStreamMediaProfile);
11870    method public void callSessionRemoveParticipantsRequestDelivered();
11871    method public void callSessionRemoveParticipantsRequestFailed(android.telephony.ims.ImsReasonInfo);
11872    method public void callSessionResumeFailed(android.telephony.ims.ImsReasonInfo);
11873    method public void callSessionResumeReceived(android.telephony.ims.ImsCallProfile);
11874    method public void callSessionResumed(android.telephony.ims.ImsCallProfile);
11875    method public void callSessionRttAudioIndicatorChanged(@NonNull android.telephony.ims.ImsStreamMediaProfile);
11876    method public void callSessionRttMessageReceived(String);
11877    method public void callSessionRttModifyRequestReceived(android.telephony.ims.ImsCallProfile);
11878    method public void callSessionRttModifyResponseReceived(int);
11879    method public void callSessionSuppServiceReceived(android.telephony.ims.ImsSuppServiceNotification);
11880    method public void callSessionTerminated(android.telephony.ims.ImsReasonInfo);
11881    method public void callSessionTtyModeReceived(int);
11882    method public void callSessionUpdateFailed(android.telephony.ims.ImsReasonInfo);
11883    method public void callSessionUpdateReceived(android.telephony.ims.ImsCallProfile);
11884    method public void callSessionUpdated(android.telephony.ims.ImsCallProfile);
11885    method public void callSessionUssdMessageReceived(int, String);
11886    method public void onHandover(int, int, @Nullable android.telephony.ims.ImsReasonInfo);
11887    method public void onHandoverFailed(int, int, @NonNull android.telephony.ims.ImsReasonInfo);
11888    method public void onMayHandover(int, int);
11889  }
11890
11891  public final class ImsConferenceState implements android.os.Parcelable {
11892    method public int describeContents();
11893    method public static int getConnectionStateForStatus(String);
11894    method public void writeToParcel(android.os.Parcel, int);
11895    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsConferenceState> CREATOR;
11896    field public static final String DISPLAY_TEXT = "display-text";
11897    field public static final String ENDPOINT = "endpoint";
11898    field public static final String SIP_STATUS_CODE = "sipstatuscode";
11899    field public static final String STATUS = "status";
11900    field public static final String STATUS_ALERTING = "alerting";
11901    field public static final String STATUS_CONNECTED = "connected";
11902    field public static final String STATUS_CONNECT_FAIL = "connect-fail";
11903    field public static final String STATUS_DIALING_IN = "dialing-in";
11904    field public static final String STATUS_DIALING_OUT = "dialing-out";
11905    field public static final String STATUS_DISCONNECTED = "disconnected";
11906    field public static final String STATUS_DISCONNECTING = "disconnecting";
11907    field public static final String STATUS_MUTED_VIA_FOCUS = "muted-via-focus";
11908    field public static final String STATUS_ON_HOLD = "on-hold";
11909    field public static final String STATUS_PENDING = "pending";
11910    field public static final String STATUS_SEND_ONLY = "sendonly";
11911    field public static final String STATUS_SEND_RECV = "sendrecv";
11912    field public static final String USER = "user";
11913    field public final java.util.HashMap<java.lang.String,android.os.Bundle> mParticipants;
11914  }
11915
11916  public final class ImsException extends java.lang.Exception {
11917    ctor public ImsException(@Nullable String);
11918    ctor public ImsException(@Nullable String, int);
11919    ctor public ImsException(@Nullable String, int, @Nullable Throwable);
11920  }
11921
11922  public final class ImsExternalCallState implements android.os.Parcelable {
11923    ctor public ImsExternalCallState(@NonNull String, @NonNull android.net.Uri, @Nullable android.net.Uri, boolean, int, int, boolean);
11924    method public int describeContents();
11925    method @NonNull public android.net.Uri getAddress();
11926    method public int getCallId();
11927    method public int getCallState();
11928    method public int getCallType();
11929    method @Nullable public android.net.Uri getLocalAddress();
11930    method public boolean isCallHeld();
11931    method public boolean isCallPullable();
11932    method public void writeToParcel(android.os.Parcel, int);
11933    field public static final int CALL_STATE_CONFIRMED = 1; // 0x1
11934    field public static final int CALL_STATE_TERMINATED = 2; // 0x2
11935    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsExternalCallState> CREATOR;
11936  }
11937
11938  public class ImsMmTelManager implements android.telephony.ims.RegistrationManager {
11939    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);
11940    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;
11941    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>);
11942    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoWiFiRoamingModeSetting();
11943    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAvailable(int, int);
11944    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCapable(int, int);
11945    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;
11946    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;
11947    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setAdvancedCallingSettingEnabled(boolean);
11948    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRttCapabilitySetting(boolean);
11949    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiModeSetting(int);
11950    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiNonPersistent(boolean, int);
11951    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiRoamingModeSetting(int);
11952    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiRoamingSettingEnabled(boolean);
11953    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiSettingEnabled(boolean);
11954    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVtSettingEnabled(boolean);
11955    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterImsRegistrationCallback(@NonNull android.telephony.ims.ImsMmTelManager.RegistrationCallback);
11956  }
11957
11958  @Deprecated public static class ImsMmTelManager.RegistrationCallback extends android.telephony.ims.RegistrationManager.RegistrationCallback {
11959    ctor @Deprecated public ImsMmTelManager.RegistrationCallback();
11960  }
11961
11962  public final class ImsReasonInfo implements android.os.Parcelable {
11963    field public static final String EXTRA_MSG_SERVICE_NOT_AUTHORIZED = "Forbidden. Not Authorized for Service";
11964  }
11965
11966  public class ImsService extends android.app.Service {
11967    ctor public ImsService();
11968    method public android.telephony.ims.feature.MmTelFeature createMmTelFeature(int);
11969    method public android.telephony.ims.feature.RcsFeature createRcsFeature(int);
11970    method public void disableIms(int);
11971    method public void enableIms(int);
11972    method public android.telephony.ims.stub.ImsConfigImplBase getConfig(int);
11973    method public android.telephony.ims.stub.ImsRegistrationImplBase getRegistration(int);
11974    method public final void onUpdateSupportedImsFeatures(android.telephony.ims.stub.ImsFeatureConfiguration) throws android.os.RemoteException;
11975    method public android.telephony.ims.stub.ImsFeatureConfiguration querySupportedImsFeatures();
11976    method public void readyForFeatureCreation();
11977  }
11978
11979  public final class ImsSsData implements android.os.Parcelable {
11980    ctor public ImsSsData(int, int, int, int, int);
11981    method public int describeContents();
11982    method @Nullable public java.util.List<android.telephony.ims.ImsCallForwardInfo> getCallForwardInfo();
11983    method public int getRequestType();
11984    method public int getResult();
11985    method public int getServiceClass();
11986    method public int getServiceType();
11987    method @NonNull public java.util.List<android.telephony.ims.ImsSsInfo> getSuppServiceInfo();
11988    method public int getTeleserviceType();
11989    method public boolean isTypeBarring();
11990    method public boolean isTypeCf();
11991    method public boolean isTypeClip();
11992    method public boolean isTypeClir();
11993    method public boolean isTypeColp();
11994    method public boolean isTypeColr();
11995    method public boolean isTypeCw();
11996    method public boolean isTypeIcb();
11997    method public boolean isTypeInterrogation();
11998    method public boolean isTypeUnConditional();
11999    method public void writeToParcel(android.os.Parcel, int);
12000    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSsData> CREATOR;
12001    field public static final int RESULT_SUCCESS = 0; // 0x0
12002    field public static final int SERVICE_CLASS_DATA = 2; // 0x2
12003    field public static final int SERVICE_CLASS_DATA_CIRCUIT_ASYNC = 32; // 0x20
12004    field public static final int SERVICE_CLASS_DATA_CIRCUIT_SYNC = 16; // 0x10
12005    field public static final int SERVICE_CLASS_DATA_PACKET_ACCESS = 64; // 0x40
12006    field public static final int SERVICE_CLASS_DATA_PAD = 128; // 0x80
12007    field public static final int SERVICE_CLASS_FAX = 4; // 0x4
12008    field public static final int SERVICE_CLASS_NONE = 0; // 0x0
12009    field public static final int SERVICE_CLASS_SMS = 8; // 0x8
12010    field public static final int SERVICE_CLASS_VOICE = 1; // 0x1
12011    field public static final int SS_ACTIVATION = 0; // 0x0
12012    field public static final int SS_ALL_BARRING = 18; // 0x12
12013    field public static final int SS_ALL_DATA_TELESERVICES = 3; // 0x3
12014    field public static final int SS_ALL_TELESERVICES_EXCEPT_SMS = 5; // 0x5
12015    field public static final int SS_ALL_TELESEVICES = 1; // 0x1
12016    field public static final int SS_ALL_TELE_AND_BEARER_SERVICES = 0; // 0x0
12017    field public static final int SS_BAIC = 16; // 0x10
12018    field public static final int SS_BAIC_ROAMING = 17; // 0x11
12019    field public static final int SS_BAOC = 13; // 0xd
12020    field public static final int SS_BAOIC = 14; // 0xe
12021    field public static final int SS_BAOIC_EXC_HOME = 15; // 0xf
12022    field public static final int SS_CFU = 0; // 0x0
12023    field public static final int SS_CFUT = 6; // 0x6
12024    field public static final int SS_CF_ALL = 4; // 0x4
12025    field public static final int SS_CF_ALL_CONDITIONAL = 5; // 0x5
12026    field public static final int SS_CF_BUSY = 1; // 0x1
12027    field public static final int SS_CF_NOT_REACHABLE = 3; // 0x3
12028    field public static final int SS_CF_NO_REPLY = 2; // 0x2
12029    field public static final int SS_CLIP = 7; // 0x7
12030    field public static final int SS_CLIR = 8; // 0x8
12031    field public static final int SS_CNAP = 11; // 0xb
12032    field public static final int SS_COLP = 9; // 0x9
12033    field public static final int SS_COLR = 10; // 0xa
12034    field public static final int SS_DEACTIVATION = 1; // 0x1
12035    field public static final int SS_ERASURE = 4; // 0x4
12036    field public static final int SS_INCOMING_BARRING = 20; // 0x14
12037    field public static final int SS_INCOMING_BARRING_ANONYMOUS = 22; // 0x16
12038    field public static final int SS_INCOMING_BARRING_DN = 21; // 0x15
12039    field public static final int SS_INTERROGATION = 2; // 0x2
12040    field public static final int SS_OUTGOING_BARRING = 19; // 0x13
12041    field public static final int SS_REGISTRATION = 3; // 0x3
12042    field public static final int SS_SMS_SERVICES = 4; // 0x4
12043    field public static final int SS_TELEPHONY = 2; // 0x2
12044    field public static final int SS_WAIT = 12; // 0xc
12045  }
12046
12047  public static final class ImsSsData.Builder {
12048    ctor public ImsSsData.Builder(int, int, int, int, int);
12049    method @NonNull public android.telephony.ims.ImsSsData build();
12050    method @NonNull public android.telephony.ims.ImsSsData.Builder setCallForwardingInfo(@NonNull java.util.List<android.telephony.ims.ImsCallForwardInfo>);
12051    method @NonNull public android.telephony.ims.ImsSsData.Builder setSuppServiceInfo(@NonNull java.util.List<android.telephony.ims.ImsSsInfo>);
12052  }
12053
12054  public final class ImsSsInfo implements android.os.Parcelable {
12055    ctor @Deprecated public ImsSsInfo(int, @Nullable String);
12056    method public int describeContents();
12057    method public int getClirInterrogationStatus();
12058    method public int getClirOutgoingState();
12059    method @Deprecated public String getIcbNum();
12060    method @Nullable public String getIncomingCommunicationBarringNumber();
12061    method public int getProvisionStatus();
12062    method public int getStatus();
12063    method public void writeToParcel(android.os.Parcel, int);
12064    field public static final int CLIR_OUTGOING_DEFAULT = 0; // 0x0
12065    field public static final int CLIR_OUTGOING_INVOCATION = 1; // 0x1
12066    field public static final int CLIR_OUTGOING_SUPPRESSION = 2; // 0x2
12067    field public static final int CLIR_STATUS_NOT_PROVISIONED = 0; // 0x0
12068    field public static final int CLIR_STATUS_PROVISIONED_PERMANENT = 1; // 0x1
12069    field public static final int CLIR_STATUS_TEMPORARILY_ALLOWED = 4; // 0x4
12070    field public static final int CLIR_STATUS_TEMPORARILY_RESTRICTED = 3; // 0x3
12071    field public static final int CLIR_STATUS_UNKNOWN = 2; // 0x2
12072    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSsInfo> CREATOR;
12073    field public static final int DISABLED = 0; // 0x0
12074    field public static final int ENABLED = 1; // 0x1
12075    field public static final int NOT_REGISTERED = -1; // 0xffffffff
12076    field public static final int SERVICE_NOT_PROVISIONED = 0; // 0x0
12077    field public static final int SERVICE_PROVISIONED = 1; // 0x1
12078    field public static final int SERVICE_PROVISIONING_UNKNOWN = -1; // 0xffffffff
12079  }
12080
12081  public static final class ImsSsInfo.Builder {
12082    ctor public ImsSsInfo.Builder(int);
12083    method @NonNull public android.telephony.ims.ImsSsInfo build();
12084    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setClirInterrogationStatus(int);
12085    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setClirOutgoingState(int);
12086    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setIncomingCommunicationBarringNumber(@NonNull String);
12087    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setProvisionStatus(int);
12088  }
12089
12090  public final class ImsStreamMediaProfile implements android.os.Parcelable {
12091    ctor public ImsStreamMediaProfile(int, int, int, int, int);
12092    method public void copyFrom(android.telephony.ims.ImsStreamMediaProfile);
12093    method public int describeContents();
12094    method public int getAudioDirection();
12095    method public int getAudioQuality();
12096    method public int getRttMode();
12097    method public int getVideoDirection();
12098    method public int getVideoQuality();
12099    method public boolean isReceivingRttAudio();
12100    method public boolean isRttCall();
12101    method public void setReceivingRttAudio(boolean);
12102    method public void setRttMode(int);
12103    method public void writeToParcel(android.os.Parcel, int);
12104    field public static final int AUDIO_QUALITY_AMR = 1; // 0x1
12105    field public static final int AUDIO_QUALITY_AMR_WB = 2; // 0x2
12106    field public static final int AUDIO_QUALITY_EVRC = 4; // 0x4
12107    field public static final int AUDIO_QUALITY_EVRC_B = 5; // 0x5
12108    field public static final int AUDIO_QUALITY_EVRC_NW = 7; // 0x7
12109    field public static final int AUDIO_QUALITY_EVRC_WB = 6; // 0x6
12110    field public static final int AUDIO_QUALITY_EVS_FB = 20; // 0x14
12111    field public static final int AUDIO_QUALITY_EVS_NB = 17; // 0x11
12112    field public static final int AUDIO_QUALITY_EVS_SWB = 19; // 0x13
12113    field public static final int AUDIO_QUALITY_EVS_WB = 18; // 0x12
12114    field public static final int AUDIO_QUALITY_G711A = 13; // 0xd
12115    field public static final int AUDIO_QUALITY_G711AB = 15; // 0xf
12116    field public static final int AUDIO_QUALITY_G711U = 11; // 0xb
12117    field public static final int AUDIO_QUALITY_G722 = 14; // 0xe
12118    field public static final int AUDIO_QUALITY_G723 = 12; // 0xc
12119    field public static final int AUDIO_QUALITY_G729 = 16; // 0x10
12120    field public static final int AUDIO_QUALITY_GSM_EFR = 8; // 0x8
12121    field public static final int AUDIO_QUALITY_GSM_FR = 9; // 0x9
12122    field public static final int AUDIO_QUALITY_GSM_HR = 10; // 0xa
12123    field public static final int AUDIO_QUALITY_NONE = 0; // 0x0
12124    field public static final int AUDIO_QUALITY_QCELP13K = 3; // 0x3
12125    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsStreamMediaProfile> CREATOR;
12126    field public static final int DIRECTION_INACTIVE = 0; // 0x0
12127    field public static final int DIRECTION_INVALID = -1; // 0xffffffff
12128    field public static final int DIRECTION_RECEIVE = 1; // 0x1
12129    field public static final int DIRECTION_SEND = 2; // 0x2
12130    field public static final int DIRECTION_SEND_RECEIVE = 3; // 0x3
12131    field public static final int RTT_MODE_DISABLED = 0; // 0x0
12132    field public static final int RTT_MODE_FULL = 1; // 0x1
12133    field public static final int VIDEO_QUALITY_NONE = 0; // 0x0
12134    field public static final int VIDEO_QUALITY_QCIF = 1; // 0x1
12135    field public static final int VIDEO_QUALITY_QVGA_LANDSCAPE = 2; // 0x2
12136    field public static final int VIDEO_QUALITY_QVGA_PORTRAIT = 4; // 0x4
12137    field public static final int VIDEO_QUALITY_VGA_LANDSCAPE = 8; // 0x8
12138    field public static final int VIDEO_QUALITY_VGA_PORTRAIT = 16; // 0x10
12139  }
12140
12141  public final class ImsSuppServiceNotification implements android.os.Parcelable {
12142    ctor public ImsSuppServiceNotification(int, int, int, int, String, String[]);
12143    method public int describeContents();
12144    method public void writeToParcel(android.os.Parcel, int);
12145    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSuppServiceNotification> CREATOR;
12146    field public final int code;
12147    field public final String[] history;
12148    field public final int index;
12149    field public final int notificationType;
12150    field public final String number;
12151    field public final int type;
12152  }
12153
12154  public class ImsUtListener {
12155    method public void onLineIdentificationSupplementaryServiceResponse(int, @NonNull android.telephony.ims.ImsSsInfo);
12156    method public void onSupplementaryServiceIndication(android.telephony.ims.ImsSsData);
12157    method public void onUtConfigurationCallBarringQueried(int, android.telephony.ims.ImsSsInfo[]);
12158    method public void onUtConfigurationCallForwardQueried(int, android.telephony.ims.ImsCallForwardInfo[]);
12159    method public void onUtConfigurationCallWaitingQueried(int, android.telephony.ims.ImsSsInfo[]);
12160    method @Deprecated public void onUtConfigurationQueried(int, android.os.Bundle);
12161    method public void onUtConfigurationQueryFailed(int, android.telephony.ims.ImsReasonInfo);
12162    method public void onUtConfigurationUpdateFailed(int, android.telephony.ims.ImsReasonInfo);
12163    method public void onUtConfigurationUpdated(int);
12164    field @Deprecated public static final String BUNDLE_KEY_CLIR = "queryClir";
12165    field @Deprecated public static final String BUNDLE_KEY_SSINFO = "imsSsInfo";
12166  }
12167
12168  public abstract class ImsVideoCallProvider {
12169    ctor public ImsVideoCallProvider();
12170    method public void changeCallDataUsage(long);
12171    method public void changeCameraCapabilities(android.telecom.VideoProfile.CameraCapabilities);
12172    method public void changePeerDimensions(int, int);
12173    method public void changeVideoQuality(int);
12174    method public void handleCallSessionEvent(int);
12175    method public abstract void onRequestCallDataUsage();
12176    method public abstract void onRequestCameraCapabilities();
12177    method public abstract void onSendSessionModifyRequest(android.telecom.VideoProfile, android.telecom.VideoProfile);
12178    method public abstract void onSendSessionModifyResponse(android.telecom.VideoProfile);
12179    method public abstract void onSetCamera(String);
12180    method public void onSetCamera(String, int);
12181    method public abstract void onSetDeviceOrientation(int);
12182    method public abstract void onSetDisplaySurface(android.view.Surface);
12183    method public abstract void onSetPauseImage(android.net.Uri);
12184    method public abstract void onSetPreviewSurface(android.view.Surface);
12185    method public abstract void onSetZoom(float);
12186    method public void receiveSessionModifyRequest(android.telecom.VideoProfile);
12187    method public void receiveSessionModifyResponse(int, android.telecom.VideoProfile, android.telecom.VideoProfile);
12188  }
12189
12190  public class ProvisioningManager {
12191    method @NonNull public static android.telephony.ims.ProvisioningManager createForSubscriptionId(int);
12192    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public int getProvisioningIntValue(int);
12193    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean getProvisioningStatusForCapability(int, int);
12194    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public String getProvisioningStringValue(int);
12195    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean getRcsProvisioningStatusForCapability(int);
12196    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean);
12197    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;
12198    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningIntValue(int, int);
12199    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void setProvisioningStatusForCapability(int, int, boolean);
12200    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningStringValue(int, @NonNull String);
12201    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void setRcsProvisioningStatusForCapability(int, boolean);
12202    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterProvisioningChangedCallback(@NonNull android.telephony.ims.ProvisioningManager.Callback);
12203    field public static final int KEY_VOICE_OVER_WIFI_MODE_OVERRIDE = 27; // 0x1b
12204    field public static final int KEY_VOICE_OVER_WIFI_ROAMING_ENABLED_OVERRIDE = 26; // 0x1a
12205    field public static final int PROVISIONING_VALUE_DISABLED = 0; // 0x0
12206    field public static final int PROVISIONING_VALUE_ENABLED = 1; // 0x1
12207    field public static final String STRING_QUERY_RESULT_ERROR_GENERIC = "STRING_QUERY_RESULT_ERROR_GENERIC";
12208    field public static final String STRING_QUERY_RESULT_ERROR_NOT_READY = "STRING_QUERY_RESULT_ERROR_NOT_READY";
12209  }
12210
12211  public static class ProvisioningManager.Callback {
12212    ctor public ProvisioningManager.Callback();
12213    method public void onProvisioningIntChanged(int, int);
12214    method public void onProvisioningStringChanged(int, @NonNull String);
12215  }
12216
12217  public class RcsUceAdapter {
12218    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUceSettingEnabled(boolean) throws android.telephony.ims.ImsException;
12219  }
12220
12221}
12222
12223package android.telephony.ims.feature {
12224
12225  public final class CapabilityChangeRequest implements android.os.Parcelable {
12226    method public void addCapabilitiesToDisableForTech(int, int);
12227    method public void addCapabilitiesToEnableForTech(int, int);
12228    method public int describeContents();
12229    method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToDisable();
12230    method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToEnable();
12231    method public void writeToParcel(android.os.Parcel, int);
12232    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.feature.CapabilityChangeRequest> CREATOR;
12233  }
12234
12235  public static class CapabilityChangeRequest.CapabilityPair {
12236    ctor public CapabilityChangeRequest.CapabilityPair(int, int);
12237    method public int getCapability();
12238    method public int getRadioTech();
12239  }
12240
12241  public abstract class ImsFeature {
12242    ctor public ImsFeature();
12243    method public abstract void changeEnabledCapabilities(android.telephony.ims.feature.CapabilityChangeRequest, android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
12244    method public int getFeatureState();
12245    method public final int getSlotIndex();
12246    method public abstract void onFeatureReady();
12247    method public abstract void onFeatureRemoved();
12248    method public final void setFeatureState(int);
12249    field public static final int CAPABILITY_ERROR_GENERIC = -1; // 0xffffffff
12250    field public static final int CAPABILITY_SUCCESS = 0; // 0x0
12251    field public static final int FEATURE_EMERGENCY_MMTEL = 0; // 0x0
12252    field public static final int FEATURE_MMTEL = 1; // 0x1
12253    field public static final int FEATURE_RCS = 2; // 0x2
12254    field public static final int STATE_INITIALIZING = 1; // 0x1
12255    field public static final int STATE_READY = 2; // 0x2
12256    field public static final int STATE_UNAVAILABLE = 0; // 0x0
12257  }
12258
12259  @Deprecated public static class ImsFeature.Capabilities {
12260    field @Deprecated protected int mCapabilities;
12261  }
12262
12263  protected static class ImsFeature.CapabilityCallbackProxy {
12264    method public void onChangeCapabilityConfigurationError(int, int, int);
12265  }
12266
12267  public class MmTelFeature extends android.telephony.ims.feature.ImsFeature {
12268    ctor public MmTelFeature();
12269    method public void changeEnabledCapabilities(@NonNull android.telephony.ims.feature.CapabilityChangeRequest, @NonNull android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
12270    method @Nullable public android.telephony.ims.ImsCallProfile createCallProfile(int, int);
12271    method @Nullable public android.telephony.ims.stub.ImsCallSessionImplBase createCallSession(@NonNull android.telephony.ims.ImsCallProfile);
12272    method @NonNull public android.telephony.ims.stub.ImsEcbmImplBase getEcbm();
12273    method @NonNull public android.telephony.ims.stub.ImsMultiEndpointImplBase getMultiEndpoint();
12274    method @NonNull public android.telephony.ims.stub.ImsSmsImplBase getSmsImplementation();
12275    method @NonNull public android.telephony.ims.stub.ImsUtImplBase getUt();
12276    method public final void notifyCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.MmTelFeature.MmTelCapabilities);
12277    method public final void notifyIncomingCall(@NonNull android.telephony.ims.stub.ImsCallSessionImplBase, @NonNull android.os.Bundle);
12278    method public final void notifyRejectedCall(@NonNull android.telephony.ims.ImsCallProfile, @NonNull android.telephony.ims.ImsReasonInfo);
12279    method public final void notifyVoiceMessageCountUpdate(int);
12280    method public void onFeatureReady();
12281    method public void onFeatureRemoved();
12282    method public boolean queryCapabilityConfiguration(int, int);
12283    method @NonNull public final android.telephony.ims.feature.MmTelFeature.MmTelCapabilities queryCapabilityStatus();
12284    method public void setUiTtyMode(int, @Nullable android.os.Message);
12285    method public int shouldProcessCall(@NonNull String[]);
12286    field public static final String EXTRA_IS_UNKNOWN_CALL = "android.telephony.ims.feature.extra.IS_UNKNOWN_CALL";
12287    field public static final String EXTRA_IS_USSD = "android.telephony.ims.feature.extra.IS_USSD";
12288    field public static final int PROCESS_CALL_CSFB = 1; // 0x1
12289    field public static final int PROCESS_CALL_IMS = 0; // 0x0
12290  }
12291
12292  public static class MmTelFeature.MmTelCapabilities extends android.telephony.ims.feature.ImsFeature.Capabilities {
12293    ctor public MmTelFeature.MmTelCapabilities();
12294    ctor @Deprecated public MmTelFeature.MmTelCapabilities(android.telephony.ims.feature.ImsFeature.Capabilities);
12295    ctor public MmTelFeature.MmTelCapabilities(int);
12296    method public final void addCapabilities(int);
12297    method public final boolean isCapable(int);
12298    method public final void removeCapabilities(int);
12299  }
12300
12301  public class RcsFeature extends android.telephony.ims.feature.ImsFeature {
12302    ctor public RcsFeature();
12303    method public void changeEnabledCapabilities(@NonNull android.telephony.ims.feature.CapabilityChangeRequest, @NonNull android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
12304    method public void onFeatureReady();
12305    method public void onFeatureRemoved();
12306  }
12307
12308}
12309
12310package android.telephony.ims.stub {
12311
12312  public class ImsCallSessionImplBase implements java.lang.AutoCloseable {
12313    ctor public ImsCallSessionImplBase();
12314    method public void accept(int, android.telephony.ims.ImsStreamMediaProfile);
12315    method public void close();
12316    method public void deflect(String);
12317    method public void extendToConference(String[]);
12318    method public String getCallId();
12319    method public android.telephony.ims.ImsCallProfile getCallProfile();
12320    method public android.telephony.ims.ImsVideoCallProvider getImsVideoCallProvider();
12321    method public android.telephony.ims.ImsCallProfile getLocalCallProfile();
12322    method public String getProperty(String);
12323    method public android.telephony.ims.ImsCallProfile getRemoteCallProfile();
12324    method public int getState();
12325    method public void hold(android.telephony.ims.ImsStreamMediaProfile);
12326    method public void inviteParticipants(String[]);
12327    method public boolean isInCall();
12328    method public boolean isMultiparty();
12329    method public void merge();
12330    method public void reject(int);
12331    method public void removeParticipants(String[]);
12332    method public void resume(android.telephony.ims.ImsStreamMediaProfile);
12333    method public void sendDtmf(char, android.os.Message);
12334    method public void sendRttMessage(String);
12335    method public void sendRttModifyRequest(android.telephony.ims.ImsCallProfile);
12336    method public void sendRttModifyResponse(boolean);
12337    method public void sendUssd(String);
12338    method public void setListener(android.telephony.ims.ImsCallSessionListener);
12339    method public void setMute(boolean);
12340    method public void start(String, android.telephony.ims.ImsCallProfile);
12341    method public void startConference(String[], android.telephony.ims.ImsCallProfile);
12342    method public void startDtmf(char);
12343    method public void stopDtmf();
12344    method public void terminate(int);
12345    method public void update(int, android.telephony.ims.ImsStreamMediaProfile);
12346    field public static final int USSD_MODE_NOTIFY = 0; // 0x0
12347    field public static final int USSD_MODE_REQUEST = 1; // 0x1
12348  }
12349
12350  public static class ImsCallSessionImplBase.State {
12351    method public static String toString(int);
12352    field public static final int ESTABLISHED = 4; // 0x4
12353    field public static final int ESTABLISHING = 3; // 0x3
12354    field public static final int IDLE = 0; // 0x0
12355    field public static final int INITIATED = 1; // 0x1
12356    field public static final int INVALID = -1; // 0xffffffff
12357    field public static final int NEGOTIATING = 2; // 0x2
12358    field public static final int REESTABLISHING = 6; // 0x6
12359    field public static final int RENEGOTIATING = 5; // 0x5
12360    field public static final int TERMINATED = 8; // 0x8
12361    field public static final int TERMINATING = 7; // 0x7
12362  }
12363
12364  public class ImsConfigImplBase {
12365    ctor public ImsConfigImplBase();
12366    method public int getConfigInt(int);
12367    method public String getConfigString(int);
12368    method public final void notifyProvisionedValueChanged(int, int);
12369    method public final void notifyProvisionedValueChanged(int, String);
12370    method public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean);
12371    method public int setConfig(int, int);
12372    method public int setConfig(int, String);
12373    field public static final int CONFIG_RESULT_FAILED = 1; // 0x1
12374    field public static final int CONFIG_RESULT_SUCCESS = 0; // 0x0
12375    field public static final int CONFIG_RESULT_UNKNOWN = -1; // 0xffffffff
12376  }
12377
12378  public class ImsEcbmImplBase {
12379    ctor public ImsEcbmImplBase();
12380    method public final void enteredEcbm();
12381    method public void exitEmergencyCallbackMode();
12382    method public final void exitedEcbm();
12383  }
12384
12385  public final class ImsFeatureConfiguration implements android.os.Parcelable {
12386    method public int describeContents();
12387    method public java.util.Set<android.telephony.ims.stub.ImsFeatureConfiguration.FeatureSlotPair> getServiceFeatures();
12388    method public void writeToParcel(android.os.Parcel, int);
12389    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.stub.ImsFeatureConfiguration> CREATOR;
12390  }
12391
12392  public static class ImsFeatureConfiguration.Builder {
12393    ctor public ImsFeatureConfiguration.Builder();
12394    method public android.telephony.ims.stub.ImsFeatureConfiguration.Builder addFeature(int, int);
12395    method public android.telephony.ims.stub.ImsFeatureConfiguration build();
12396  }
12397
12398  public static final class ImsFeatureConfiguration.FeatureSlotPair {
12399    ctor public ImsFeatureConfiguration.FeatureSlotPair(int, int);
12400    field public final int featureType;
12401    field public final int slotId;
12402  }
12403
12404  public class ImsMultiEndpointImplBase {
12405    ctor public ImsMultiEndpointImplBase();
12406    method public final void onImsExternalCallStateUpdate(java.util.List<android.telephony.ims.ImsExternalCallState>);
12407    method public void requestImsExternalCallStateInfo();
12408  }
12409
12410  public class ImsRegistrationImplBase {
12411    ctor public ImsRegistrationImplBase();
12412    method public final void onDeregistered(android.telephony.ims.ImsReasonInfo);
12413    method public final void onRegistered(int);
12414    method public final void onRegistering(int);
12415    method public final void onSubscriberAssociatedUriChanged(android.net.Uri[]);
12416    method public final void onTechnologyChangeFailed(int, android.telephony.ims.ImsReasonInfo);
12417    field public static final int REGISTRATION_TECH_IWLAN = 1; // 0x1
12418    field public static final int REGISTRATION_TECH_LTE = 0; // 0x0
12419    field public static final int REGISTRATION_TECH_NONE = -1; // 0xffffffff
12420  }
12421
12422  public class ImsSmsImplBase {
12423    ctor public ImsSmsImplBase();
12424    method public void acknowledgeSms(int, @IntRange(from=0, to=65535) int, int);
12425    method public void acknowledgeSmsReport(int, @IntRange(from=0, to=65535) int, int);
12426    method public String getSmsFormat();
12427    method public void onReady();
12428    method @Deprecated public final void onSendSmsResult(int, @IntRange(from=0, to=65535) int, int, int) throws java.lang.RuntimeException;
12429    method public final void onSendSmsResultError(int, @IntRange(from=0, to=65535) int, int, int, int) throws java.lang.RuntimeException;
12430    method public final void onSendSmsResultSuccess(int, @IntRange(from=0, to=65535) int) throws java.lang.RuntimeException;
12431    method public final void onSmsReceived(int, String, byte[]) throws java.lang.RuntimeException;
12432    method @Deprecated public final void onSmsStatusReportReceived(int, @IntRange(from=0, to=65535) int, String, byte[]) throws java.lang.RuntimeException;
12433    method public final void onSmsStatusReportReceived(int, String, byte[]) throws java.lang.RuntimeException;
12434    method public void sendSms(int, @IntRange(from=0, to=65535) int, String, String, boolean, byte[]);
12435    field public static final int DELIVER_STATUS_ERROR_GENERIC = 2; // 0x2
12436    field public static final int DELIVER_STATUS_ERROR_NO_MEMORY = 3; // 0x3
12437    field public static final int DELIVER_STATUS_ERROR_REQUEST_NOT_SUPPORTED = 4; // 0x4
12438    field public static final int DELIVER_STATUS_OK = 1; // 0x1
12439    field public static final int RESULT_NO_NETWORK_ERROR = -1; // 0xffffffff
12440    field public static final int SEND_STATUS_ERROR = 2; // 0x2
12441    field public static final int SEND_STATUS_ERROR_FALLBACK = 4; // 0x4
12442    field public static final int SEND_STATUS_ERROR_RETRY = 3; // 0x3
12443    field public static final int SEND_STATUS_OK = 1; // 0x1
12444    field public static final int STATUS_REPORT_STATUS_ERROR = 2; // 0x2
12445    field public static final int STATUS_REPORT_STATUS_OK = 1; // 0x1
12446  }
12447
12448  public class ImsUtImplBase {
12449    ctor public ImsUtImplBase();
12450    method public void close();
12451    method public int queryCallBarring(int);
12452    method public int queryCallBarringForServiceClass(int, int);
12453    method public int queryCallForward(int, String);
12454    method public int queryCallWaiting();
12455    method public int queryClip();
12456    method public int queryClir();
12457    method public int queryColp();
12458    method public int queryColr();
12459    method public void setListener(android.telephony.ims.ImsUtListener);
12460    method public int transact(android.os.Bundle);
12461    method public int updateCallBarring(int, int, String[]);
12462    method public int updateCallBarringForServiceClass(int, int, String[], int);
12463    method public int updateCallForward(int, int, String, int, int);
12464    method public int updateCallWaiting(boolean, int);
12465    method public int updateClip(boolean);
12466    method public int updateClir(int);
12467    method public int updateColp(boolean);
12468    method public int updateColr(int);
12469  }
12470
12471}
12472
12473package android.telephony.mbms {
12474
12475  public static class DownloadRequest.Builder {
12476    method public android.telephony.mbms.DownloadRequest.Builder setServiceId(String);
12477  }
12478
12479  public final class FileInfo implements android.os.Parcelable {
12480    ctor public FileInfo(android.net.Uri, String);
12481  }
12482
12483  public final class FileServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
12484    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>);
12485  }
12486
12487  public class MbmsDownloadReceiver extends android.content.BroadcastReceiver {
12488    field public static final int RESULT_APP_NOTIFICATION_ERROR = 6; // 0x6
12489    field public static final int RESULT_BAD_TEMP_FILE_ROOT = 3; // 0x3
12490    field public static final int RESULT_DOWNLOAD_FINALIZATION_ERROR = 4; // 0x4
12491    field public static final int RESULT_INVALID_ACTION = 1; // 0x1
12492    field public static final int RESULT_MALFORMED_INTENT = 2; // 0x2
12493    field public static final int RESULT_OK = 0; // 0x0
12494    field public static final int RESULT_TEMP_FILE_GENERATION_ERROR = 5; // 0x5
12495  }
12496
12497  public final class StreamingServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
12498    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);
12499  }
12500
12501  public final class UriPathPair implements android.os.Parcelable {
12502    method public int describeContents();
12503    method public android.net.Uri getContentUri();
12504    method public android.net.Uri getFilePathUri();
12505    method public void writeToParcel(android.os.Parcel, int);
12506    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.mbms.UriPathPair> CREATOR;
12507  }
12508
12509}
12510
12511package android.telephony.mbms.vendor {
12512
12513  public class MbmsDownloadServiceBase extends android.os.Binder implements android.os.IInterface {
12514    ctor public MbmsDownloadServiceBase();
12515    method public int addProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener) throws android.os.RemoteException;
12516    method public int addStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener) throws android.os.RemoteException;
12517    method public android.os.IBinder asBinder();
12518    method public int cancelDownload(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
12519    method public void dispose(int) throws android.os.RemoteException;
12520    method public int download(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
12521    method public int initialize(int, android.telephony.mbms.MbmsDownloadSessionCallback) throws android.os.RemoteException;
12522    method @NonNull public java.util.List<android.telephony.mbms.DownloadRequest> listPendingDownloads(int) throws android.os.RemoteException;
12523    method public void onAppCallbackDied(int, int);
12524    method public boolean onTransact(int, android.os.Parcel, android.os.Parcel, int) throws android.os.RemoteException;
12525    method public int removeProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener) throws android.os.RemoteException;
12526    method public int removeStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener) throws android.os.RemoteException;
12527    method public int requestDownloadState(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo) throws android.os.RemoteException;
12528    method public int requestUpdateFileServices(int, java.util.List<java.lang.String>) throws android.os.RemoteException;
12529    method public int resetDownloadKnowledge(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
12530    method public int setTempFileRootDirectory(int, String) throws android.os.RemoteException;
12531  }
12532
12533  public class MbmsGroupCallServiceBase extends android.app.Service {
12534    ctor public MbmsGroupCallServiceBase();
12535    method public void dispose(int) throws android.os.RemoteException;
12536    method public int initialize(@NonNull android.telephony.mbms.MbmsGroupCallSessionCallback, int) throws android.os.RemoteException;
12537    method public void onAppCallbackDied(int, int);
12538    method public android.os.IBinder onBind(android.content.Intent);
12539    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);
12540    method public void stopGroupCall(int, long);
12541    method public void updateGroupCall(int, long, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>);
12542  }
12543
12544  public class MbmsStreamingServiceBase extends android.os.Binder implements android.os.IInterface {
12545    ctor public MbmsStreamingServiceBase();
12546    method public android.os.IBinder asBinder();
12547    method public void dispose(int) throws android.os.RemoteException;
12548    method @Nullable public android.net.Uri getPlaybackUri(int, String) throws android.os.RemoteException;
12549    method public int initialize(android.telephony.mbms.MbmsStreamingSessionCallback, int) throws android.os.RemoteException;
12550    method public void onAppCallbackDied(int, int);
12551    method public boolean onTransact(int, android.os.Parcel, android.os.Parcel, int) throws android.os.RemoteException;
12552    method public int requestUpdateStreamingServices(int, java.util.List<java.lang.String>) throws android.os.RemoteException;
12553    method public int startStreaming(int, String, android.telephony.mbms.StreamingServiceCallback) throws android.os.RemoteException;
12554    method public void stopStreaming(int, String) throws android.os.RemoteException;
12555  }
12556
12557  public class VendorUtils {
12558    ctor public VendorUtils();
12559    method public static android.content.ComponentName getAppReceiverFromPackageName(android.content.Context, String);
12560    field public static final String ACTION_CLEANUP = "android.telephony.mbms.action.CLEANUP";
12561    field public static final String ACTION_DOWNLOAD_RESULT_INTERNAL = "android.telephony.mbms.action.DOWNLOAD_RESULT_INTERNAL";
12562    field public static final String ACTION_FILE_DESCRIPTOR_REQUEST = "android.telephony.mbms.action.FILE_DESCRIPTOR_REQUEST";
12563    field public static final String EXTRA_FD_COUNT = "android.telephony.mbms.extra.FD_COUNT";
12564    field public static final String EXTRA_FINAL_URI = "android.telephony.mbms.extra.FINAL_URI";
12565    field public static final String EXTRA_FREE_URI_LIST = "android.telephony.mbms.extra.FREE_URI_LIST";
12566    field public static final String EXTRA_PAUSED_LIST = "android.telephony.mbms.extra.PAUSED_LIST";
12567    field public static final String EXTRA_PAUSED_URI_LIST = "android.telephony.mbms.extra.PAUSED_URI_LIST";
12568    field public static final String EXTRA_SERVICE_ID = "android.telephony.mbms.extra.SERVICE_ID";
12569    field public static final String EXTRA_TEMP_FILES_IN_USE = "android.telephony.mbms.extra.TEMP_FILES_IN_USE";
12570    field public static final String EXTRA_TEMP_FILE_ROOT = "android.telephony.mbms.extra.TEMP_FILE_ROOT";
12571    field public static final String EXTRA_TEMP_LIST = "android.telephony.mbms.extra.TEMP_LIST";
12572  }
12573
12574}
12575
12576package android.util {
12577
12578  public class EventLog {
12579    method public static void readEventsOnWrapping(int[], long, java.util.Collection<android.util.EventLog.Event>) throws java.io.IOException;
12580  }
12581
12582  public static final class EventLog.Event {
12583    method public int getUid();
12584  }
12585
12586  public final class StatsEvent {
12587    method @NonNull public static android.util.StatsEvent.Builder newBuilder();
12588  }
12589
12590  public static final class StatsEvent.Builder {
12591    method @NonNull public android.util.StatsEvent.Builder addBooleanAnnotation(byte, boolean);
12592    method @NonNull public android.util.StatsEvent.Builder addIntAnnotation(byte, int);
12593    method @NonNull public android.util.StatsEvent build();
12594    method @NonNull public android.util.StatsEvent.Builder setAtomId(int);
12595    method @NonNull public android.util.StatsEvent.Builder usePooledBuffer();
12596    method @NonNull public android.util.StatsEvent.Builder writeAttributionChain(@NonNull int[], @NonNull String[]);
12597    method @NonNull public android.util.StatsEvent.Builder writeBoolean(boolean);
12598    method @NonNull public android.util.StatsEvent.Builder writeByteArray(@NonNull byte[]);
12599    method @NonNull public android.util.StatsEvent.Builder writeFloat(float);
12600    method @NonNull public android.util.StatsEvent.Builder writeInt(int);
12601    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>);
12602    method @NonNull public android.util.StatsEvent.Builder writeLong(long);
12603    method @NonNull public android.util.StatsEvent.Builder writeString(@NonNull String);
12604  }
12605
12606  public final class StatsLog {
12607    method public static void write(@NonNull android.util.StatsEvent);
12608    method public static void writeRaw(@NonNull byte[], int);
12609  }
12610
12611}
12612
12613package android.view {
12614
12615  public abstract class Window {
12616    method public void addSystemFlags(@android.view.WindowManager.LayoutParams.SystemFlags int);
12617  }
12618
12619  public interface WindowManager extends android.view.ViewManager {
12620    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public android.graphics.Region getCurrentImeTouchRegion();
12621  }
12622
12623  public static class WindowManager.LayoutParams extends android.view.ViewGroup.LayoutParams implements android.os.Parcelable {
12624    method public final long getUserActivityTimeout();
12625    method public final void setUserActivityTimeout(long);
12626    field @RequiresPermission(android.Manifest.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS) public static final int SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS = 524288; // 0x80000
12627    field @RequiresPermission(android.Manifest.permission.INTERNAL_SYSTEM_WINDOW) public static final int SYSTEM_FLAG_SHOW_FOR_ALL_USERS = 16; // 0x10
12628  }
12629
12630  @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 {
12631  }
12632
12633}
12634
12635package android.view.accessibility {
12636
12637  public final class AccessibilityManager {
12638    method public int getAccessibilityWindowId(@Nullable android.os.IBinder);
12639    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void performAccessibilityShortcut();
12640    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void registerSystemAction(@NonNull android.app.RemoteAction, int);
12641    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void unregisterSystemAction(int);
12642  }
12643
12644}
12645
12646package android.view.autofill {
12647
12648  public final class AutofillManager {
12649    method public void setAugmentedAutofillWhitelist(@Nullable java.util.Set<java.lang.String>, @Nullable java.util.Set<android.content.ComponentName>);
12650  }
12651
12652}
12653
12654package android.view.contentcapture {
12655
12656  public final class ContentCaptureContext implements android.os.Parcelable {
12657    method @Nullable public android.content.ComponentName getActivityComponent();
12658    method public int getDisplayId();
12659    method public int getFlags();
12660    method @Nullable public android.view.contentcapture.ContentCaptureSessionId getParentSessionId();
12661    method public int getTaskId();
12662    field public static final int FLAG_DISABLED_BY_APP = 1; // 0x1
12663    field public static final int FLAG_DISABLED_BY_FLAG_SECURE = 2; // 0x2
12664    field public static final int FLAG_RECONNECTED = 4; // 0x4
12665  }
12666
12667  public final class ContentCaptureEvent implements android.os.Parcelable {
12668    method public int describeContents();
12669    method @Nullable public android.view.contentcapture.ContentCaptureContext getContentCaptureContext();
12670    method public long getEventTime();
12671    method @Nullable public android.view.autofill.AutofillId getId();
12672    method @Nullable public java.util.List<android.view.autofill.AutofillId> getIds();
12673    method @Nullable public android.graphics.Insets getInsets();
12674    method @Nullable public CharSequence getText();
12675    method public int getType();
12676    method @Nullable public android.view.contentcapture.ViewNode getViewNode();
12677    method public void writeToParcel(android.os.Parcel, int);
12678    field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureEvent> CREATOR;
12679    field public static final int TYPE_CONTEXT_UPDATED = 6; // 0x6
12680    field public static final int TYPE_SESSION_PAUSED = 8; // 0x8
12681    field public static final int TYPE_SESSION_RESUMED = 7; // 0x7
12682    field public static final int TYPE_VIEW_APPEARED = 1; // 0x1
12683    field public static final int TYPE_VIEW_DISAPPEARED = 2; // 0x2
12684    field public static final int TYPE_VIEW_INSETS_CHANGED = 9; // 0x9
12685    field public static final int TYPE_VIEW_TEXT_CHANGED = 3; // 0x3
12686    field public static final int TYPE_VIEW_TREE_APPEARED = 5; // 0x5
12687    field public static final int TYPE_VIEW_TREE_APPEARING = 4; // 0x4
12688  }
12689
12690  public final class ContentCaptureManager {
12691    method public boolean isContentCaptureFeatureEnabled();
12692    field public static final int NO_SESSION_ID = 0; // 0x0
12693  }
12694
12695  public final class ViewNode extends android.app.assist.AssistStructure.ViewNode {
12696    method @Nullable public android.view.autofill.AutofillId getParentAutofillId();
12697  }
12698
12699}
12700
12701package android.webkit {
12702
12703  public abstract class CookieManager {
12704    method protected abstract boolean allowFileSchemeCookiesImpl();
12705    method public abstract String getCookie(String, boolean);
12706    method public String getCookie(android.net.WebAddress);
12707    method public abstract boolean hasCookies(boolean);
12708    method protected abstract void setAcceptFileSchemeCookiesImpl(boolean);
12709  }
12710
12711  public class FindActionModeCallback implements android.view.ActionMode.Callback android.text.TextWatcher android.view.View.OnClickListener android.webkit.WebView.FindListener {
12712    ctor public FindActionModeCallback(android.content.Context);
12713    method public void afterTextChanged(android.text.Editable);
12714    method public void beforeTextChanged(CharSequence, int, int, int);
12715    method public void findAll();
12716    method public void finish();
12717    method public int getActionModeGlobalBottom();
12718    method public boolean onActionItemClicked(android.view.ActionMode, android.view.MenuItem);
12719    method public void onClick(android.view.View);
12720    method public boolean onCreateActionMode(android.view.ActionMode, android.view.Menu);
12721    method public void onDestroyActionMode(android.view.ActionMode);
12722    method public void onFindResultReceived(int, int, boolean);
12723    method public boolean onPrepareActionMode(android.view.ActionMode, android.view.Menu);
12724    method public void onTextChanged(CharSequence, int, int, int);
12725    method public void setText(String);
12726    method public void setWebView(@NonNull android.webkit.WebView);
12727    method public void showSoftInput();
12728    method public void updateMatchCount(int, int, boolean);
12729  }
12730
12731  public static class FindActionModeCallback.NoAction implements android.view.ActionMode.Callback {
12732    ctor public FindActionModeCallback.NoAction();
12733    method public boolean onActionItemClicked(android.view.ActionMode, android.view.MenuItem);
12734    method public boolean onCreateActionMode(android.view.ActionMode, android.view.Menu);
12735    method public void onDestroyActionMode(android.view.ActionMode);
12736    method public boolean onPrepareActionMode(android.view.ActionMode, android.view.Menu);
12737  }
12738
12739  public class GeolocationPermissions {
12740    ctor public GeolocationPermissions();
12741  }
12742
12743  public class HttpAuthHandler extends android.os.Handler {
12744    ctor public HttpAuthHandler();
12745  }
12746
12747  public class JsDialogHelper {
12748    ctor public JsDialogHelper(android.webkit.JsPromptResult, int, String, String, String);
12749    ctor public JsDialogHelper(android.webkit.JsPromptResult, android.os.Message);
12750    method public boolean invokeCallback(android.webkit.WebChromeClient, android.webkit.WebView);
12751    method public void showDialog(android.content.Context);
12752    field public static final int ALERT = 1; // 0x1
12753    field public static final int CONFIRM = 2; // 0x2
12754    field public static final int PROMPT = 3; // 0x3
12755    field public static final int UNLOAD = 4; // 0x4
12756  }
12757
12758  public class JsPromptResult extends android.webkit.JsResult {
12759    ctor public JsPromptResult(android.webkit.JsResult.ResultReceiver);
12760    method public String getStringResult();
12761  }
12762
12763  public class JsResult {
12764    ctor public JsResult(android.webkit.JsResult.ResultReceiver);
12765    method public final boolean getResult();
12766  }
12767
12768  public static interface JsResult.ResultReceiver {
12769    method public void onJsResultComplete(android.webkit.JsResult);
12770  }
12771
12772  public interface PacProcessor {
12773    method @Nullable public String findProxyForUrl(@NonNull String);
12774    method @NonNull public static android.webkit.PacProcessor getInstance();
12775    method public boolean setProxyScript(@NonNull String);
12776  }
12777
12778  public class SslErrorHandler extends android.os.Handler {
12779    ctor public SslErrorHandler();
12780  }
12781
12782  @Deprecated public abstract class TokenBindingService {
12783    ctor @Deprecated public TokenBindingService();
12784  }
12785
12786  public class WebChromeClient {
12787    method @Deprecated public void openFileChooser(android.webkit.ValueCallback<android.net.Uri>, String, String);
12788  }
12789
12790  public abstract class WebHistoryItem implements java.lang.Cloneable {
12791    method @Deprecated public abstract int getId();
12792  }
12793
12794  @Deprecated public abstract class WebIconDatabase {
12795    method @Deprecated public abstract void bulkRequestIconForPageUrl(android.content.ContentResolver, String, android.webkit.WebIconDatabase.IconListener);
12796  }
12797
12798  public abstract class WebMessagePort {
12799    ctor public WebMessagePort();
12800  }
12801
12802  public abstract class WebResourceError {
12803    ctor public WebResourceError();
12804  }
12805
12806  public class WebResourceResponse {
12807    ctor public WebResourceResponse(boolean, String, String, int, String, java.util.Map<java.lang.String,java.lang.String>, java.io.InputStream);
12808  }
12809
12810  public abstract class WebSettings {
12811    method public abstract boolean getAcceptThirdPartyCookies();
12812    method @Deprecated public abstract boolean getNavDump();
12813    method @Deprecated public abstract boolean getPluginsEnabled();
12814    method @Deprecated public abstract boolean getUseWebViewBackgroundForOverscrollBackground();
12815    method @Deprecated public abstract int getUserAgent();
12816    method public abstract boolean getVideoOverlayForEmbeddedEncryptedVideoEnabled();
12817    method public abstract void setAcceptThirdPartyCookies(boolean);
12818    method @Deprecated public abstract void setNavDump(boolean);
12819    method @Deprecated public abstract void setPluginsEnabled(boolean);
12820    method @Deprecated public abstract void setUseWebViewBackgroundForOverscrollBackground(boolean);
12821    method @Deprecated public abstract void setUserAgent(int);
12822    method public abstract void setVideoOverlayForEmbeddedEncryptedVideoEnabled(boolean);
12823  }
12824
12825  public class WebStorage {
12826    ctor public WebStorage();
12827  }
12828
12829  public static class WebStorage.Origin {
12830    ctor protected WebStorage.Origin(String, long, long);
12831  }
12832
12833  public class WebView extends android.widget.AbsoluteLayout implements android.view.ViewGroup.OnHierarchyChangeListener android.view.ViewTreeObserver.OnGlobalFocusChangeListener {
12834    method public android.webkit.WebViewProvider getWebViewProvider();
12835  }
12836
12837  public static class WebView.HitTestResult {
12838    ctor public WebView.HitTestResult();
12839    method public void setExtra(String);
12840    method public void setType(int);
12841  }
12842
12843  public class WebView.PrivateAccess {
12844    ctor public WebView.PrivateAccess();
12845    method public void awakenScrollBars(int);
12846    method public void awakenScrollBars(int, boolean);
12847    method public float getHorizontalScrollFactor();
12848    method public int getHorizontalScrollbarHeight();
12849    method public float getVerticalScrollFactor();
12850    method public void onScrollChanged(int, int, int, int);
12851    method public void overScrollBy(int, int, int, int, int, int, int, int, boolean);
12852    method public void setMeasuredDimension(int, int);
12853    method public void setScrollXRaw(int);
12854    method public void setScrollYRaw(int);
12855    method public void super_computeScroll();
12856    method public boolean super_dispatchKeyEvent(android.view.KeyEvent);
12857    method public int super_getScrollBarStyle();
12858    method public void super_onDrawVerticalScrollBar(android.graphics.Canvas, android.graphics.drawable.Drawable, int, int, int, int);
12859    method public boolean super_onGenericMotionEvent(android.view.MotionEvent);
12860    method public boolean super_onHoverEvent(android.view.MotionEvent);
12861    method public boolean super_performAccessibilityAction(int, android.os.Bundle);
12862    method public boolean super_performLongClick();
12863    method public boolean super_requestFocus(int, android.graphics.Rect);
12864    method public void super_scrollTo(int, int);
12865    method public boolean super_setFrame(int, int, int, int);
12866    method public void super_setLayoutParams(android.view.ViewGroup.LayoutParams);
12867    method public void super_startActivityForResult(android.content.Intent, int);
12868  }
12869
12870  public final class WebViewDelegate {
12871    method public void addWebViewAssetPath(android.content.Context);
12872    method @Deprecated public void callDrawGlFunction(android.graphics.Canvas, long);
12873    method @Deprecated public void callDrawGlFunction(@NonNull android.graphics.Canvas, long, @Nullable Runnable);
12874    method @Deprecated public boolean canInvokeDrawGlFunctor(android.view.View);
12875    method @Deprecated public void detachDrawGlFunctor(android.view.View, long);
12876    method public void drawWebViewFunctor(@NonNull android.graphics.Canvas, int);
12877    method public android.app.Application getApplication();
12878    method public String getDataDirectorySuffix();
12879    method public String getErrorString(android.content.Context, int);
12880    method public int getPackageId(android.content.res.Resources, String);
12881    method @Deprecated public void invokeDrawGlFunctor(android.view.View, long, boolean);
12882    method public boolean isMultiProcessEnabled();
12883    method public boolean isTraceTagEnabled();
12884    method public void setOnTraceEnabledChangeListener(android.webkit.WebViewDelegate.OnTraceEnabledChangeListener);
12885  }
12886
12887  public static interface WebViewDelegate.OnTraceEnabledChangeListener {
12888    method public void onTraceEnabledChange(boolean);
12889  }
12890
12891  public final class WebViewFactory {
12892    ctor public WebViewFactory();
12893    method public static android.content.pm.PackageInfo getLoadedPackageInfo();
12894    method public static int loadWebViewNativeLibraryFromPackage(String, ClassLoader);
12895    method public static void prepareWebViewInZygote();
12896    field public static final int LIBLOAD_ADDRESS_SPACE_NOT_RESERVED = 2; // 0x2
12897    field public static final int LIBLOAD_FAILED_JNI_CALL = 7; // 0x7
12898    field public static final int LIBLOAD_FAILED_LISTING_WEBVIEW_PACKAGES = 4; // 0x4
12899    field public static final int LIBLOAD_FAILED_TO_FIND_NAMESPACE = 10; // 0xa
12900    field public static final int LIBLOAD_FAILED_TO_LOAD_LIBRARY = 6; // 0x6
12901    field public static final int LIBLOAD_FAILED_TO_OPEN_RELRO_FILE = 5; // 0x5
12902    field public static final int LIBLOAD_FAILED_WAITING_FOR_RELRO = 3; // 0x3
12903    field public static final int LIBLOAD_FAILED_WAITING_FOR_WEBVIEW_REASON_UNKNOWN = 8; // 0x8
12904    field public static final int LIBLOAD_SUCCESS = 0; // 0x0
12905    field public static final int LIBLOAD_WRONG_PACKAGE_NAME = 1; // 0x1
12906  }
12907
12908  public interface WebViewFactoryProvider {
12909    method public android.webkit.WebViewProvider createWebView(android.webkit.WebView, android.webkit.WebView.PrivateAccess);
12910    method public android.webkit.CookieManager getCookieManager();
12911    method public android.webkit.GeolocationPermissions getGeolocationPermissions();
12912    method @NonNull public default android.webkit.PacProcessor getPacProcessor();
12913    method public android.webkit.ServiceWorkerController getServiceWorkerController();
12914    method public android.webkit.WebViewFactoryProvider.Statics getStatics();
12915    method @Deprecated public android.webkit.TokenBindingService getTokenBindingService();
12916    method public android.webkit.TracingController getTracingController();
12917    method public android.webkit.WebIconDatabase getWebIconDatabase();
12918    method public android.webkit.WebStorage getWebStorage();
12919    method public ClassLoader getWebViewClassLoader();
12920    method public android.webkit.WebViewDatabase getWebViewDatabase(android.content.Context);
12921  }
12922
12923  public static interface WebViewFactoryProvider.Statics {
12924    method public void clearClientCertPreferences(Runnable);
12925    method public void enableSlowWholeDocumentDraw();
12926    method public String findAddress(String);
12927    method public void freeMemoryForTests();
12928    method public String getDefaultUserAgent(android.content.Context);
12929    method @NonNull public android.net.Uri getSafeBrowsingPrivacyPolicyUrl();
12930    method public void initSafeBrowsing(android.content.Context, android.webkit.ValueCallback<java.lang.Boolean>);
12931    method public android.net.Uri[] parseFileChooserResult(int, android.content.Intent);
12932    method public void setSafeBrowsingWhitelist(java.util.List<java.lang.String>, android.webkit.ValueCallback<java.lang.Boolean>);
12933    method public void setWebContentsDebuggingEnabled(boolean);
12934  }
12935
12936  public interface WebViewProvider {
12937    method public void addJavascriptInterface(Object, String);
12938    method public boolean canGoBack();
12939    method public boolean canGoBackOrForward(int);
12940    method public boolean canGoForward();
12941    method public boolean canZoomIn();
12942    method public boolean canZoomOut();
12943    method public android.graphics.Picture capturePicture();
12944    method public void clearCache(boolean);
12945    method public void clearFormData();
12946    method public void clearHistory();
12947    method public void clearMatches();
12948    method public void clearSslPreferences();
12949    method public void clearView();
12950    method public android.webkit.WebBackForwardList copyBackForwardList();
12951    method public android.print.PrintDocumentAdapter createPrintDocumentAdapter(String);
12952    method public android.webkit.WebMessagePort[] createWebMessageChannel();
12953    method public void destroy();
12954    method public void documentHasImages(android.os.Message);
12955    method public void dumpViewHierarchyWithProperties(java.io.BufferedWriter, int);
12956    method public void evaluateJavaScript(String, android.webkit.ValueCallback<java.lang.String>);
12957    method public int findAll(String);
12958    method public void findAllAsync(String);
12959    method public android.view.View findHierarchyView(String, int);
12960    method public void findNext(boolean);
12961    method public void flingScroll(int, int);
12962    method public void freeMemory();
12963    method public android.net.http.SslCertificate getCertificate();
12964    method public int getContentHeight();
12965    method public int getContentWidth();
12966    method public android.graphics.Bitmap getFavicon();
12967    method public android.webkit.WebView.HitTestResult getHitTestResult();
12968    method public String[] getHttpAuthUsernamePassword(String, String);
12969    method public String getOriginalUrl();
12970    method public int getProgress();
12971    method public boolean getRendererPriorityWaivedWhenNotVisible();
12972    method public int getRendererRequestedPriority();
12973    method public float getScale();
12974    method public android.webkit.WebViewProvider.ScrollDelegate getScrollDelegate();
12975    method public android.webkit.WebSettings getSettings();
12976    method @NonNull public default android.view.textclassifier.TextClassifier getTextClassifier();
12977    method public String getTitle();
12978    method public String getTouchIconUrl();
12979    method public String getUrl();
12980    method public android.webkit.WebViewProvider.ViewDelegate getViewDelegate();
12981    method public int getVisibleTitleHeight();
12982    method public android.webkit.WebChromeClient getWebChromeClient();
12983    method public android.webkit.WebViewClient getWebViewClient();
12984    method @Nullable public android.webkit.WebViewRenderProcess getWebViewRenderProcess();
12985    method @Nullable public android.webkit.WebViewRenderProcessClient getWebViewRenderProcessClient();
12986    method public android.view.View getZoomControls();
12987    method public void goBack();
12988    method public void goBackOrForward(int);
12989    method public void goForward();
12990    method public void init(java.util.Map<java.lang.String,java.lang.Object>, boolean);
12991    method public void insertVisualStateCallback(long, android.webkit.WebView.VisualStateCallback);
12992    method public void invokeZoomPicker();
12993    method public boolean isPaused();
12994    method public boolean isPrivateBrowsingEnabled();
12995    method public void loadData(String, String, String);
12996    method public void loadDataWithBaseURL(String, String, String, String, String);
12997    method public void loadUrl(String, java.util.Map<java.lang.String,java.lang.String>);
12998    method public void loadUrl(String);
12999    method public void notifyFindDialogDismissed();
13000    method public void onPause();
13001    method public void onResume();
13002    method public boolean overlayHorizontalScrollbar();
13003    method public boolean overlayVerticalScrollbar();
13004    method public boolean pageDown(boolean);
13005    method public boolean pageUp(boolean);
13006    method public void pauseTimers();
13007    method public void postMessageToMainFrame(android.webkit.WebMessage, android.net.Uri);
13008    method public void postUrl(String, byte[]);
13009    method public void reload();
13010    method public void removeJavascriptInterface(String);
13011    method public void requestFocusNodeHref(android.os.Message);
13012    method public void requestImageRef(android.os.Message);
13013    method public boolean restorePicture(android.os.Bundle, java.io.File);
13014    method public android.webkit.WebBackForwardList restoreState(android.os.Bundle);
13015    method public void resumeTimers();
13016    method public void savePassword(String, String, String);
13017    method public boolean savePicture(android.os.Bundle, java.io.File);
13018    method public android.webkit.WebBackForwardList saveState(android.os.Bundle);
13019    method public void saveWebArchive(String);
13020    method public void saveWebArchive(String, boolean, android.webkit.ValueCallback<java.lang.String>);
13021    method public void setCertificate(android.net.http.SslCertificate);
13022    method public void setDownloadListener(android.webkit.DownloadListener);
13023    method public void setFindListener(android.webkit.WebView.FindListener);
13024    method public void setHorizontalScrollbarOverlay(boolean);
13025    method public void setHttpAuthUsernamePassword(String, String, String, String);
13026    method public void setInitialScale(int);
13027    method public void setMapTrackballToArrowKeys(boolean);
13028    method public void setNetworkAvailable(boolean);
13029    method public void setPictureListener(android.webkit.WebView.PictureListener);
13030    method public void setRendererPriorityPolicy(int, boolean);
13031    method public default void setTextClassifier(@Nullable android.view.textclassifier.TextClassifier);
13032    method public void setVerticalScrollbarOverlay(boolean);
13033    method public void setWebChromeClient(android.webkit.WebChromeClient);
13034    method public void setWebViewClient(android.webkit.WebViewClient);
13035    method public void setWebViewRenderProcessClient(@Nullable java.util.concurrent.Executor, @Nullable android.webkit.WebViewRenderProcessClient);
13036    method public boolean showFindDialog(String, boolean);
13037    method public void stopLoading();
13038    method public boolean zoomBy(float);
13039    method public boolean zoomIn();
13040    method public boolean zoomOut();
13041  }
13042
13043  public static interface WebViewProvider.ScrollDelegate {
13044    method public int computeHorizontalScrollOffset();
13045    method public int computeHorizontalScrollRange();
13046    method public void computeScroll();
13047    method public int computeVerticalScrollExtent();
13048    method public int computeVerticalScrollOffset();
13049    method public int computeVerticalScrollRange();
13050  }
13051
13052  public static interface WebViewProvider.ViewDelegate {
13053    method public default void autofill(android.util.SparseArray<android.view.autofill.AutofillValue>);
13054    method public boolean dispatchKeyEvent(android.view.KeyEvent);
13055    method public android.view.View findFocus(android.view.View);
13056    method public android.view.accessibility.AccessibilityNodeProvider getAccessibilityNodeProvider();
13057    method public android.os.Handler getHandler(android.os.Handler);
13058    method public default boolean isVisibleToUserForAutofill(int);
13059    method public void onActivityResult(int, int, android.content.Intent);
13060    method public void onAttachedToWindow();
13061    method public default boolean onCheckIsTextEditor();
13062    method public void onConfigurationChanged(android.content.res.Configuration);
13063    method public android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo);
13064    method public void onDetachedFromWindow();
13065    method public boolean onDragEvent(android.view.DragEvent);
13066    method public void onDraw(android.graphics.Canvas);
13067    method public void onDrawVerticalScrollBar(android.graphics.Canvas, android.graphics.drawable.Drawable, int, int, int, int);
13068    method public void onFinishTemporaryDetach();
13069    method public void onFocusChanged(boolean, int, android.graphics.Rect);
13070    method public boolean onGenericMotionEvent(android.view.MotionEvent);
13071    method public boolean onHoverEvent(android.view.MotionEvent);
13072    method public void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
13073    method public void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo);
13074    method public boolean onKeyDown(int, android.view.KeyEvent);
13075    method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
13076    method public boolean onKeyUp(int, android.view.KeyEvent);
13077    method public void onMeasure(int, int);
13078    method public default void onMovedToDisplay(int, android.content.res.Configuration);
13079    method public void onOverScrolled(int, int, boolean, boolean);
13080    method public default void onProvideAutofillVirtualStructure(android.view.ViewStructure, int);
13081    method public default void onProvideContentCaptureStructure(@NonNull android.view.ViewStructure, int);
13082    method public void onProvideVirtualStructure(android.view.ViewStructure);
13083    method public void onScrollChanged(int, int, int, int);
13084    method public void onSizeChanged(int, int, int, int);
13085    method public void onStartTemporaryDetach();
13086    method public boolean onTouchEvent(android.view.MotionEvent);
13087    method public boolean onTrackballEvent(android.view.MotionEvent);
13088    method public void onVisibilityChanged(android.view.View, int);
13089    method public void onWindowFocusChanged(boolean);
13090    method public void onWindowVisibilityChanged(int);
13091    method public boolean performAccessibilityAction(int, android.os.Bundle);
13092    method public boolean performLongClick();
13093    method public void preDispatchDraw(android.graphics.Canvas);
13094    method public boolean requestChildRectangleOnScreen(android.view.View, android.graphics.Rect, boolean);
13095    method public boolean requestFocus(int, android.graphics.Rect);
13096    method public void setBackgroundColor(int);
13097    method public boolean setFrame(int, int, int, int);
13098    method public void setLayerType(int, android.graphics.Paint);
13099    method public void setLayoutParams(android.view.ViewGroup.LayoutParams);
13100    method public void setOverScrollMode(int);
13101    method public void setScrollBarStyle(int);
13102    method public boolean shouldDelayChildPressedState();
13103  }
13104
13105  public final class WebViewProviderInfo implements android.os.Parcelable {
13106    ctor public WebViewProviderInfo(String, String, boolean, boolean, String[]);
13107    method public int describeContents();
13108    method public void writeToParcel(android.os.Parcel, int);
13109    field @NonNull public static final android.os.Parcelable.Creator<android.webkit.WebViewProviderInfo> CREATOR;
13110    field public final boolean availableByDefault;
13111    field public final String description;
13112    field public final boolean isFallback;
13113    field public final String packageName;
13114    field public final android.content.pm.Signature[] signatures;
13115  }
13116
13117  public final class WebViewUpdateService {
13118    method public static android.webkit.WebViewProviderInfo[] getAllWebViewPackages();
13119    method public static String getCurrentWebViewPackageName();
13120    method public static android.webkit.WebViewProviderInfo[] getValidWebViewPackages();
13121  }
13122
13123}
13124
13125